微服务架构下底层数据存储的实现方式?

从分享的材料来看,使用了分布式的多个数据库存储,从而达到高并发支持。在这种架构下,数据一致性的要求就很高,能否详细说明一下底层数据的同步方式?

2回答

尘世随缘尘世随缘  技术总监 , 上海某互联网金融公司
俞好龙三味线michael1983等赞同了此回答
微服务的底层数据基本上都是异构的,MySQL、HBase、Redis、ES等等。基本上业务处理都会直接写入MySQL,然后通过订阅binLog的方式来做数据同步。数据处理的时候需要考虑乱序问题。对于要求强一致性的数据一定要携带版号。...显示全部

微服务的底层数据基本上都是异构的,MySQL、HBase、Redis、ES等等。基本上业务处理都会直接写入MySQL,然后通过订阅binLog的方式来做数据同步。数据处理的时候需要考虑乱序问题。对于要求强一致性的数据一定要携带版号。

收起
 2019-07-10
浏览285
李宁李宁  软件架构设计师 , 博云
无论是否采用微服务架构,针对高并发的支持的情况,数据存储可以分为两个阶段:第一持久化存储;第二缓存;针对持久化存储,首先微服务架构的各个服务时分库存储,针对不同的数据类型,可以采用不同的数据持久化引擎,例如关系型数据可以采用mysql做数据持久化引擎,时序数据可以采用influxd...显示全部

无论是否采用微服务架构,针对高并发的支持的情况,数据存储可以分为两个阶段:第一持久化存储;第二缓存;针对持久化存储,首先微服务架构的各个服务时分库存储,针对不同的数据类型,可以采用不同的数据持久化引擎,例如关系型数据可以采用mysql做数据持久化引擎,时序数据可以采用influxdb,以及其他擅长存储不同数据类型的持久化引擎。但是需要注意集群化部署时的数据同步,数据备份以及故障切换等问题;针对缓存的,是对数据库的补充,能够有效的避免平凡操作数据库,导致请求延迟增大的效果。
针对数据同步以来CAP原理,首先需要考虑业务需求,需要满足强一致性,还是最终一致性来保证。根据不同的特性,可以选择其他的存储引擎。例如etcd,zookeeper,consul等

收起
 2019-07-16
浏览226

提问者

beatles_wang项目经理, 中国大地财产保险股份有限公司

问题状态

  • 发布时间:2019-07-10
  • 关注会员:3 人
  • 问题浏览:804
  • 最近回答:2019-07-16
  • 关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
    © 2019  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30