任务描述:
使用Python+socket+threading编写程序,客户端提交任务给代理服务器,代理服务器随机选择可用服务端并分发任务,然后在服务端和客户端转发信息,实现多服务器的负载均衡。
技术原理:
每个服务端程序启动之后都自动在代理服务器上注册来表明自己可以正常工作,代理服务器负责接收客户端的任务请求并自动分配可用服务端完成该任务,然后在二者之间转发更多数据和处理结果,同时根据多个服务器的状态动态更新可用服务端清单。
主要模块:
1)socket:实现TCP协议通信。
2)threading:实现多线程编程。
3)struct:用于数据序列化与反序列化。
关键技术:
套接字编程,多线程编程。
参考代码:(用书老师可以联系董老师获取源码)
1)客户端程序
2)代理服务器程序
3)服务器程序
运行结果: