摘要: 在微服务架构中,调用链是漫长而复杂的,要了解其中的每个环节及其性能,你需要全链路跟踪。 它的原理很简单,你可以在每个请求开始时生成一个唯一的ID,并将其传递到整个调用链。 该ID称为CorrelationID,你可以用它来跟踪整个请求并获得各个调用环节的性能指标。简单来说有两个问题需要解决。第一,如何在应用程序内部传递ID; 第二,当你需要调用另一个微服务时,如何通过网络传递ID。 阅读全文
posted @ 2019-09-21 08:17 倚天码农 阅读(8064) 评论(5) 推荐(10) 编辑
摘要: 微服务之间的调用有两种方式,RPC和事件驱动。事件驱动是更好的方式,因为它是松耦合的。但如果业务逻辑是紧耦合的,RPC方式也是可行的(它的好处是代码更简单),而且你还可以通过选取合适的协议(Protobuf+gRPC)来降低这种紧耦合带来的危害。由于事件溯源和事件通知的相似性,很多人把两者弄混了,但它们实际上是完全不同的东西。微服务的数量不宜太多,可以先创建比较大的微服务(更像是服务组合)。如果你还是不能确定是否采用微服务架构,可以先从“内部微服务设计”开始,再逐渐拆分 阅读全文
posted @ 2019-09-20 13:42 倚天码农 阅读(28003) 评论(5) 推荐(5) 编辑