什么是微服务?微服务的优缺点?
我们了解了单体应用的优缺点后https://blog.csdn.net/qq_33249725/article/details/90113650/,
我们在了解微服务就会变得很轻松。
什么是微服务?
- 微服务就是按照业务划分,将一组特定的业务划分成一个服务(比如:库存服务,只是服库存做操作,不涉及到其他任何业务),每个服务都有自己独立的数据库,独立部署,服务直接通过rest api进行通讯。每一个独立运行的服务组成整个系统。
举个例子:支付系统
支付系统在单体应用中就是一个war包,在微服务中分成三个服务,每个服务一个jar包,独立部署。
微服务的优点?
- 易于开发和维护:因为一个服务只关注一个特定的业务,业务就变得比较清晰。同时维护起来也是比较方便。
- 单个服务启动比较快:单个服务代码量不会很多,启动起来就会很快。
- 便于伸缩:如果系统中有三个服务ABC,服务B的访问量比较大,我们可以将服务B集群部署。
同时微服务还会便来很多不便的地方。
微服务的缺点?
- 运维要求比较高:之前就一个war包,现在一个系统中会有很多的服务,每个服务都对应一个war包,维护起来就会变得很麻烦。
- 技术复杂性提高:微服务就会带来一系列的问题,事务问题,Session一致性问题,锁问题等。
总结
架构都是为业务而服务的,我们在选择具体哪个架构的时候肯定是基于业务进行选型。微服务适用于大型互联网公司,需求迭代比较快。如果业务相对而言比较简单,单体应用不失为一个很好的选择。