微服务理解
-
微服务:即将所有功能都打包成在一个独立单元的应用程序。比如一个商城项目在微信,移动端和web都有部署,如果是单体应用我们需要三套代码(微信,移动端和web)分别部署到不同平台,这样就会有很多重复代码,并且修改功能时也需要挨个进行同步修改,不利于后期维护。
-
这时为了能多端共用一套代码,我们可以采用微服务架构,将一个商城里共用的模块提取出来作为单独的服务。如图:
-
如果系统功能不是特别复杂,且没有多端需求最好还是采用单体应用,因为微服务架构真正落地也是件非常复杂的事情。
单体架构和微服务架构优缺点
架构名称 | 优点 | 缺点 |
---|---|---|
单体架构 | 部署简单、技术单一、用人成本低 | 持续部署困难、扩展性差、维护成本大、重复轮子多 |
微服务架构 | 减少耦合度、代码重用性高、扩展性高、维护成本小、业务隔离、数据库解耦 | 增加了测试复杂性、定位故障困难、一个服务故障可能导致整个系统雪崩 |
针对微服务的故障处理
因为微服务中一个服务故障会影响到整个系统且定位故障困难,所以总结了下关于微服务的故障处理。
参考文章:
什么是微服务架构?