对微服务的理解

1,636 阅读1分钟

1.微服务是什么?

单个应用程序被划分成各种小的、互相连接的微服务,一个微服务完成一个比较单一的功能,相互之间保持独立和解耦合,这就是微服务架构。

2.单体服务存在的问题

某个业务模块负载过高,需要扩展的时候,必须扩展整个应用程序,这可能导致额外的资源浪费。单体式应用程序由于服务之间的紧密度、相依性过高,这将导致测试、升级有所困难,且开发曲线有可能会在后期大幅度地上升,令开发不易。相较之下「微服务架构」能够解决这个问题。

3.微服务的特点

想各个模块业务拆分,一个微服务完成一个比较单一的功能,相互之间保持独立和解耦合,这就是微服务架构。

优点:技术异构性,隔离性,可扩展性,易优化,简单部署

缺点:难管理

解决办法:服务注册与发现,服务监控,日志监控,调用追踪;服务容错(需要引入「熔断、隔离、限流和降级、超时机制」等「服务容错」机制来保证服务持续可用性。);服务安全

微服务框架一般都包含了RPC的实现和一系列「服务治理」能力,基于这个框架之上实现自己的微服务

参考:labuladong.gitbook.io/algo/labula…