Go微服务容错与韧性(Service Resilience)
分类: Go微服务
服务韧性是微服务里非常重要的一项技术,它可以在服务环境不可靠的情况下仍能提供适当的服务,大大提高了服务的容错能力。它使用的技术包括服务超时 (Timeout),服务重试 (Retry),服务限流(Rate Limitting),熔断器 (Circuit Breaker),故障注入(Fault Injection)和舱壁隔离技术(Bulkhead)。 你可以用代码也可以用Service Mesh来实现这些功能,Service Mesh是将来的方向。但实现它们需要大量的工作,因此需要考虑清楚到底哪些服务真正需要它们。

阅读更多 →
微服务之间的调用方式
分类: 微服务设计
在微服务架构中,需要调用很多服务才能完成一项功能。服务之间如何互相调用就变成微服务架构中的一个关键问题。服务调用有两种方式,一种是RPC方式,另一种是事件驱动(Event-driven)方式,也就是发消息方式。消息方式是松耦合方式,比紧耦合的RPC方式要优越,但RPC方式如果用在适合的场景也有它的一席之地.

阅读更多 →