微服务架构

1、服务架构演进

早期单体架构开发、调试、部署简单,但耦合高、扩展性差。

于是出现了SOA架构,对单体架构做了水平或垂直拆分,实现业务与技术的解耦,通过ESB协调多系统间的调度。但SOA需要集中的调度总线,容易产生性能瓶颈。

然后出现了微服务,它要求更细粒度拆分,以服务为单位,分布式去中心化不要ESB,各服务无需外部容器能自运行,可用不同的技术栈,通过通用的HTTP协议交互。它的优势是业务响应快,可靠性高、可扩展性强。

2、微服务的挑战

服务划分,以业务、技术、团队导向规划服务,通常先按业务域水平拆分,再以技术视觉垂直拆分,结合团队规模、能力确定服务的个数和边界。

服务间不应该存在双向依赖,否则会导致灾难性后果。

分布式事务问题。服务拆分尽量避免跨服务事务,若无法合并优先考虑TCC或MQ柔性事务。

性能、稳定性、调用链检查,

3、微服务的核心技术

服务注册、发现与调用

统一配置管理

链路保护与降级

服务网关

4、微服务框架

Spring Could、Dubbo

Vert.x

Lagom

5、微服务未来展望

无服务架构ServiceLess

服务网格Service Mesh

原文地址:https://www.cnblogs.com/doit8791/p/9827422.html