机械装备微服务

应用程序的微服务化实现的通用方法是?

应用程序的微服务化实现的通用方法是?能否以数据库为例,讲解其微服务的方法,谢谢。

参与4

1同行回答

顾黄亮顾黄亮课题专家组技术总监畅销书作者
不太明白题主想问什么,是不是想问微服务情况下如何对数据库进行管理?一般情况下,程序进行微服务化改造以后,为了实现微服务之间松耦合,每个服务都有自己的数据库,有的数据库选择比较传统的关系型数据库,有的数据库选择了非关系型数据库。通常情况下,一个业务的事务通常会牵扯到...显示全部

不太明白题主想问什么,是不是想问微服务情况下如何对数据库进行管理?
一般情况下,程序进行微服务化改造以后,为了实现微服务之间松耦合,每个服务都有自己的数据库,有的数据库选择比较传统的关系型数据库,有的数据库选择了非关系型数据库。通常情况下,一个业务的事务通常会牵扯到很多的服务,那数据库的层面就涉及了一致性问题,同时也会遇到事务回滚问题,举个例子,我们实际过程中会遇到某一个业务场景,涉及了A-D的服务,这四个服务都有四个数据库,这样造成维护上有一定难度,同时业务事务出现问题的时候,事务回滚对代码的要求也比较高。但是这样也有好处,服务之间松耦合对一个服务数据库的更改不会影响到其他服务,同时每个服务可以使用更适合的数据库类型。比如做全文搜索的服务可以使用ElasticSearch,做缓存的可以使用redis。
那架构是什么样子的,推荐一个通用的模型,如下。
每个服务之间通过API的方式进行访问,假设一个服务要获取另一个服务的数据或者状态,比如A获取B的状态,B的状态需要从C服务中获取数据。

收起
银行 · 2022-01-13
浏览463

提问者

笑笑
存储架构师华大基因
擅长领域: 存储云计算灾备

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2022-01-12
  • 关注会员:2 人
  • 问题浏览:965
  • 最近回答:2022-01-13
  • X社区推广