微服务架构细节
微服务架构
微服务架构是在 SOA 架构的基础上。进行进一步步的扩展。和拆分。将一个大的项目独立拆分出可部署的,可直接使用的。可单个调试的服务,当前这个服务是基于某种功能或者某个业务来提供。服务的
每个微服务都有自己的数据库。这是一个比较显著的特点。由于各自分为不同的服务,服务之间调用的成本也增高。服务之间调用的过程中。考虑的时间问题,数据问题。以及耦合度问题都需要考虑其中。
这种架构的优点:
每个微服务负责的业务比较清晰,可利于后期扩展和维护。
每个微服务是各自的一个单元,可独立打包进行独立部署和升级。
微服务之间采用 rpc 协议进行通信。
这种架构的缺点:
涉及各个服务的容灾性问题。
涉及到数据安全和数据一致性的问题。
涉及分布式事务的问题
开发成本和维护成本。以及数据管理成本都比较高。
其实主要要解决分布式事务的问题。在于微服务的调用过程中,我们一般会将数据进行各自分类。进行多种的组合运算。经过逻辑整合或者说特定的服务数据。一系列处理,最后要经过查询添加,删除以及再添加的功能。
一个大的服务系统,拆分成多个独立部署的应用服务。需要各个服务远程协作,才能完成某些事物或者业务的操作。其中就涉及到分布式事务的问题。总地来说,分布式事物是在三种情况下产生。分别是?跨进程。跨数据库实例和多服务访问单数据库中,进行使用
分布式事务的场景
跨进程
跨数据库实例
多服务访问但数据库
版权声明: 本文为 InfoQ 作者【卢卡多多】的原创文章。
原文链接:【http://xie.infoq.cn/article/00864dc10e621e6da15292f7f】。文章转载请联系作者。
评论