微服务真的微吗?
首先,微服务针对的是业务服务。
对业务服务进行抽象、提取、划分领域、隔离,再单一服务化。所以,重点工作还是在于业务层面,如果单就微的解释。
其次,所谓的微都是相对的。
经历过一个微服务,变成了一个大胖子的过程,因为变化总是快于抽象与提取。
再者,业务服务可以微,但是其周围的生态却很庞大。虽然微,但是很复杂。
具体的复杂表现在几个方面:
- 周围设施体系庞大;
- 服务之间的调用,依赖,关系网很复杂;
- 微服务生态的搭建复杂。
先看1:
- 服务实例需要HA,那就需要——注册与发现;
- 多个服务实例需要动态读取配置,那需要——ConfigServer;
- 多个服务间调用,需要熔断和服务降级;
- 访问服务,需要统一的网关;
- 服务调用的追踪,需要链路追踪;
- 服务的日志需要集中化;
- 。。。
再看2:
- 服务间通信:可选的协议,HTTP,rPC,MQ;
- 服务间传递依赖可能很长;
- 在大量基础服务之上,还有一层聚合服务;
- 服务依赖于诸多的分布式服务,如MQ,Cache;
再来3:
- 时间没那么快;
- 学习没那么快;
- 资源没那么够;
- 人员没那么多
- 。。。