为什么从单体服务到微服务转移
1.最核⼼的原因是单体服务出现性能瓶颈,如⽇访问量只有⼏⼗万的服务在单体服务可以⽀ 持,C10K问题
2.服务故障隔离,保证⾼可⽤(99.99%)
微服务也有缺点
增加了整个解决方案的复杂度
将系统的整合点推移到了服务之间的接⼝,因此这些服务的接⼝需要进⾏良好的定义, 在系统中也要对服务级别达成⼀致,并且还需要定义其他的⾮功能性需求
数据一致性问题
原本采⽤⼀体性应⽤程序架构的系统被分解为多个⼩型服务时,在原本的⼀体性架构中 集中保存在某处的数据,在新的微服务应⽤中经常会改为保存在多个地⽅,这种改变可 能会带来维护数据⼀致性的挑战。
网络延迟–服务之间相互调用存在一定延迟
增加开发复杂性
接口调用增加沟通成本需要形成文档(WIKI文档)
重复劳动