集群、分布式系统、微服务……
在 IT 领域,它们被视为解决弹性、可扩展性和性能问题的“圣杯”。
这是事实,但是需要付出代价。
您有一个以 99% SLA(SLA = 可用率)运行的系统。一位工程师来见你,建议你“简单地”升级到集群,这将显著提高你的可用性到 99.9%……
例如,切换到具有数据库集群的架构,选择分布式处理架构……
你的工程师是对的,但他已经告诉你一切了吗?
在不知不觉中,你已经与复杂性达成了一项协议,一种浮士德式的协 加拿大 WhatsApp 号码数据库 议现在束缚着你,或者这是著名的皮佐,你必须支付它才能得到“保护”。
虽然有一些例子表明这些转换是有效和起作用的,但在许多其他情况下,它们的实现并没有采用适当的手段(著名的价格)。
管理分布式系统需要专业的、罕见的技能。
这些技能很昂贵。还需要留住他们,并让他们拥有丰富的经验,才能发挥作用。
解决方案通常从技术层面来理解,具有一定的组织方面。这最终会导致高昂的经常性成本。
至于所讨论的技术......分布式系统需要能够协调分布式请求的监督......
如果你不支付费用,那么最轻微的差异都有可能对你的架构造成致命的损害。
如果不完全了解技术和组织影响,您的工程师的建议将会适得其反,并且您的系统的可用性甚至可能会降低!
我记得这个项目非常希望保证其数据的可用性,因此管理层选择了集群,而没有考虑到可用的技能有限。
而该发生的事,就发生了。集群故障导致停工数天,需要出版商的专家介入。这与 99.9% 的 SLA 所允许的每年 8.76 小时停机时间相差甚远。