1. 微服务
微服务的实施是有一定的先决条件:基础的运维能力(如监控、快速配置、快速部署)需提前构建,否则就会陷入如我们般被动的局面。
单个微服务代码量小,易修改和维护。但是,系统复杂度的总量是不变的,每个服务代码少了,但服务的个数肯定就多了。就跟拼图游戏一样,切的越碎,越难拼出整幅图。一个系统被拆分成零碎的微服务,最后要集成为一个完整的系统,其复杂度肯定比大块的功能集成要高很多
优点 | 缺点 |
微服务都很小,这样能聚焦一个指定的业务功能或业务需求。 | 微服务架构可能带来过多的操作 |
是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。 | 分布式系统可能复杂难以管理 |
.能使用不同的语言开发 | 因为分布部署跟踪问题难 |
允许你利用融合最新技术 | 当服务数量增加,管理复杂性增加 |
能够即时被要求扩 | |
易于和第三方集成 | |
每个微服务都有自己的存储能力,可以有自己的数据库。也可以有统一数据库 |