单例模式-Singleton Pattern 确保对象的唯一性——单例模式 (二):负载均衡器的设计与实现
来源:互联网 发布:淘宝客服销售案例 编辑:程序博客网 时间:2024/06/05 20:49
3.3 负载均衡器的设计与实现
Sunny软件公司承接了一个服务器负载均衡(Load Balance)软件的开发工作,该软件运行在一台负载均衡服务器上,可以将并发访问和数据流量分发到服务器集群中的多台设备上进行并发处理,提高系统的整体处理能力,缩短响应时间。由于集群中的服务器需要动态删减,且客户端请求需要统一分发,因此需要确保负载均衡器的唯一性,只能有一个负载均衡器来负责服务器的管理和请求的分发,否则将会带来服务器状态的不一致以及请求分配冲突等问题。如何确保负载均衡器的唯一性是该软件成功的关键。
Sunny公司开发人员通过分析和权衡,决定使用单例模式来设计该负载均衡器,结构图如图3-3所示:
在图3-3中,将负载均衡器LoadBalancer设计为单例类,其中包含一个存储服务器信息的集合serverList,每次在serverList中随机选择一台服务器来响应客户端的请求,实现代码如下所示:
编写如下客户端测试代码:
编译并运行程序,输出结果如下:
服务器负载均衡器具有唯一性!
分发请求至服务器: Server 1
分发请求至服务器: Server 3
分发请求至服务器: Server 4
分发请求至服务器: Server 2
分发请求至服务器: Server 3
分发请求至服务器: Server 2
分发请求至服务器: Server 3
分发请求至服务器: Server 4
分发请求至服务器: Server 4
分发请求至服务器: Server 1
虽然创建了四个LoadBalancer对象,但是它们实际上是同一个对象,因此,通过使用单例模式可以确保LoadBalancer对象的唯一性。
0 0
- 单例模式-Singleton Pattern 确保对象的唯一性——单例模式 (二):负载均衡器的设计与实现
- 确保对象的唯一性——单例模式 (二):负载均衡器的设计与实现
- 单例模式-Singleton Pattern 确保对象的唯一性——单例模式 (一):单例模式的动机,单例模式概述
- 单例模式-Singleton Pattern 确保对象的唯一性——单例模式 (四):一种更好的单例实现方法(静态内部类)
- 单例模式-Singleton Pattern 确保对象的唯一性——单例模式 (三):饿汉式单例与懒汉式单例的讨论
- 单例模式-Singleton Pattern 确保对象的唯一性——单例模式 (五):单例模式总结
- 确保对象的唯一性——单例模式
- 确保对象的唯一性——单例模式
- 确保对象的唯一性——单例模式
- 确保对象的唯一性——单例模式
- 确保对象的唯一性——单例模式
- 确保对象的唯一性——单例模式
- 确保对象的唯一性——单例模式
- 确保对象的唯一性——单例模式
- 确保对象的唯一性——单例模式
- 确保对象的唯一性——单例模式 (五):单例模式总结
- 确保对象的唯一性——单例模式 (二)
- 确保对象的唯一性——单例模式 (二)
- Centos7 常用操作
- 《自己动手设计数据库》第9章 字段说明
- Qt model/View
- Android onInterceptTouchEvent与onTouchEvent调用关系
- xcode 真机调试报错(一)
- 单例模式-Singleton Pattern 确保对象的唯一性——单例模式 (二):负载均衡器的设计与实现
- 数据结构--基本排序算法(js版)
- Mantle--国外程序员最常用的iOS模型&字典转换框架
- RKSwipeBetweenViewControllers
- android 使用到的各种工具类
- 用户和用户组进阶命令
- iOS防止Button连续点击
- 微信抢红包插件之Accessibilityservice学习
- Qt文件read 写