Penultimate电子公司的首席架构师洛根打断了正在自助餐厅讨论分布式架构的一小群架构师。"奥斯汀,你又打石膏了?"
"不,只是个夹板,"奥斯汀回答道。"我周末打极限飞碟高尔夫时扭伤了手腕,现在差不多痊愈了。"
"什么......算了。我闯入的这场慷慨激昂的谈话是怎么回事?"
"为什么有人不总是选择微服务中的传奇模式来连接事务呢?"Austen 问。"这样,架构师就可以随心所欲地把服务做得很小。"
"Addison 问:"但是,在传奇中不需要使用协调吗?"那我们需要异步通信的时候怎么办?而且,事务会变得多么复杂?如果我们把事情分解得太多,真的能保证数据的保真度吗?"
"你知道,"奥斯汀说,"如果我们使用企业服务总线,就能让它为我们管理大部分这些东西。"
"我以为已经没人用 ESB 了--我们不是应该用 Kafka 来做这样的事情吗?"
"它们根本不是一回事!"奥斯汀说。
洛根打断了越来越激烈的对话。"这是一种苹果与苹果之间的比较,但这些工具或方法都不是灵丹妙药。像微服务这样的分布式架构是很困难的,尤其是当架构师无法解开所有作用力的时候。我们需要的是一种方法或框架,帮助我们找出架构中的难题。
"艾迪森说,"无论我们做什么,都必须尽可能地解耦--我读过的所有书都说,建筑师应该尽可能地接受解耦。
"洛根说:"如果你遵循这个建议,所有的东西都会被解耦,没有任何东西可以与其他任何东西通信--这样很难构建软件!像很多事情一样,耦合本质上并不是坏事;架构师只需要知道如何恰当地运用它。事实上,我记得一位哲学家说过这样一句名言...."