友凡基于云原生架构构建亿级多语言电商平台设计到落地实现
微服务架构
与传统的单体架构比,微服务架构核心特点是服务相对独立,抽象力度小。从下面这张图我们可以看出,像account service,shopping service等服务互相之间是独立的,没有强耦合性。以account service来举例,我们发现它有一个Account DB,这样做的好处吃,当我这个服务出问题时,短时间内是不会影响其他服务的。

但这一
模式造成的一个最大难题就是,你的微服务的抽象力度不好把控,很多开发者都经常遇到过,团队里的很有经验架构师都有一些个人喜欢的拆分模式。这是你可能会问,如果换一种拆分方式是否也可以?其实都可以的,只不过是在于你不同的抽象力度造成的。
微服务架构最主要的优势在于它的复杂度相对可控,因为每个小的微服务之间互相独立,如果它发生了故障,它的爆炸半径要远小于单体架构。此外,每个服务之间需要通信,比如限流、熔断等这些常规需求,当用户侧的流量上来时如果后端的服务没有及时扩容,这时候就要启动熔断和限流的策略,以避免出现缓存被击穿,甚至雪崩的情况出现。