针对上述两点,就需要在提供web服务时部署相应的节点支撑。如DNS解析,LVS转发、ngnix反向代理等。这些节点在保证服务的简单和安全时,也对系统服务引入了关键路径,增加了系统服务复杂性。
那么思考一下:分布式的各系统间,需要引入这么多节点来解决负载均衡的问题吗?
皮皮虾们的答案一定是:不需要☺。引入更多的节点意味越难保证系统的稳定性、可靠性。为什么这么说呢?
首先,分布式系统相对于集中式系统,是通过节点间相互传递消息通信协调工作的。节点间通信的不可靠性、不稳定性是分布式系统常态。这就导致系统的设计和开发时,需要针对每一种通信异常都有自身重试、恢复的解决方案。所以,引入更多的节点就意味着更复杂的重试、容灾、恢复等成本。
小伙伴们,有没有一种出师未捷身先死的感觉呢?oh, my god。还没有考虑负载均衡,仅仅是分布式系统间稳定性和可靠性,就已经很让人头疼了呢?所以说分布式的皮皮虾是苦逼的,落寞的,高贵的。(请珍惜您身旁的每只皮皮虾☺)
皮皮虾们不要皮,大司马出题了。
大司马:如果敌方打野没有在小地图的视野中,那么分布式系统的负载均衡要怎么做呢?
在学习了大司马的“正方形打野”,“边缘ob”,“你皮任你皮后”,这个问题我是这么看的。
我:更少的节点,更简单可靠的通信模式下,才能较好的完成负载均衡。
大司马:这位同学你很有灵性嘛。(看不懂段子的,看黑体字哦)
怎么做好负载均衡呢?总结一下上面的段子就是一句话:simple is beautiful.(皮皮虾耳朵听出茧子了吧)。