在单体思维中,模块 A 调用 B,模块 B 调用 C。一切正常,因为它们都在单个顺序进程中运行。但是,您也在网络上运行这些进程,这意味着延迟,这意味着对应用程序的性能影响,这不是任何人想要的。 使用 Kubernetes,微服务不应该通过远程同步请求过程相互通信,它们应该异步地相互通信。 例如,当微服务 A 收到某种请求时,它会捕获信息并可能广播它正在做什么。它不在乎谁在广播的接收端。接收器正在获取该信息并在异步流中对其进行处理。构建松散耦合的微服务意味着从头开始设计它们以尽可能自主地工作,并且 A 和其他一切之间的所有通信都是异步的。 使用面向事件的系统,客户成为发布者。任何时候客户数据发生变化,客户服务都会发布它。 不幸的是,许多使用 Kubernetes 的开发人员的工作恰恰相反。