上传者: xiyushasha
|
上传时间: 2021-12-01 09:43:39
|
文件大小: 1.65MB
|
文件类型: -
实现一个分布式课程管理系统,其中包括下列组件:
1用户
用户可以提出联机请求。
可以进行用户添加、用户信息查询、课程信息查询、成绩录入和发布等操作。
2 数据库服务器:
保存学生信息和课程信息等的数据库分布存储在三个服务器上,并且所有信息在其中两个数据库中存在副本,要求:
实现数据库的复制;
使用释放一致性模型实现一致性;
参照分布式互斥算法实现分布式锁定。
实现数据库的故障处理和恢复。假定同时只有一个服务器可能发生故障,可以使用日志实现故障处理,注意服务器从故障中恢复时,需要对所有副本进行再同步,以保证副本一致性。
3负载均衡器:
每个用户发送请求给负载均衡器,负载均衡器依次将用户请求转发给其中一个服务器,由该服务器处理用户请求,同时,负载均衡器向用户返回响应消息。使用了时间轮转负载均衡策略:
4 协调者:
每个用户发送请求给协调者,协调者依次将用户请求转发给其中一个服务器,由该服务器处理用户请求,同时,协调者向用户返回响应消息。要求:
实现客户级锁定;
使用周期性的HeartBeat消息确定每个服务器的状态;