分布式环境的单例模式

老板来瓶82年雪碧 发布于 2017/08/29 14:19
阅读 755
收藏 0

最近看设计模式的书,看了单例的实现,实现的例子是一个负载均衡器,负载均衡器作为唯一的实例来随机选取主机。突然想到一个问题,在分布式微服务架构中,比如dubbo, motan这些服务治理框架,他们内部都实现了负载算法,理论来说负载均衡也应该是单例模式,可是在分布式环境下,一个服务部署多台机器,这样不就造成每台机器的每个JVM都有一个唯一的负载均衡器的实例了吗?这样的负载均衡应该会造成负载分配不均衡的问题吧,但是之前在两家公司用的RPC服务治理框架都没有考虑过这个问题。

如果按我的想法,在分布式环境实现真正的单例,要么写一个单独的负载组件,独立部署,要么使用redis之类的实现单实例的缓存复用,但是类似dubbo和motan都是将负载均衡的东西封装在了自己的框架中,我平时使用也没有作过这些方面的配置,顶多就是负载策略的简单配置,是轮训还是随机这些。难道说这些成熟的框架在分布式环境下负载均衡会因为多实例造成负载不均衡吗?还是我的理解有问题?麻烦懂的朋友帮忙解惑

加载中
0
Minho
Minho

感觉你说的应该是一致性hash算法。

返回顶部
顶部