微服务架构的业务系统众多,那么数据的一致性怎么保障,数据的隔离机制如何实现等等?

当前微服务架构的业务系统越来越多,无论是做缓存场景,还是内存数据库场景,redis的适用非常普遍,但是每套业务系统都部署一套redis集群,相当浪费资源,而且,考虑到同城和异地的信息系统建设,费用也相当之高,是否有机制可以类似中台一样,建立一个统一的redis平台,提供各种场景的服务?那...显示全部

当前微服务架构的业务系统越来越多,无论是做缓存场景,还是内存数据库场景,redis的适用非常普遍,但是每套业务系统都部署一套redis集群,相当浪费资源,而且,考虑到同城和异地的信息系统建设,费用也相当之高,是否有机制可以类似中台一样,建立一个统一的redis平台,提供各种场景的服务?那么数据的一致性怎么保障,数据的隔离机制如何实现,性能如何评估等等?

收起
参与17

查看其它 2 个回答zhuqibs的回答

zhuqibszhuqibs软件开发工程师Adidas

(1)首先统一的redis中心是很“技术”,  因为你要一个强大的技术人员或团队;
(2)为了保证一致性,redis cluster读取数据是从master上读取数据的,这样可以保证数据的一致性,当然,性能也就差了; redis 主从模式,写master节点,异步同步slave节点,读从slave上读取数据,读性能提高了,但一致性难以保证。这也就是门德尔不可能三角中的CAP原则中,保证P的同时,CA不可能同时满足。
(3)当然,也不是没有解决方案,但redis作为一个缓存数据库,并没有做的这么复杂。 现代分布式数据库中,使用multi raft架构,最大限度的解决了这个问题----master是变化的,根据应用的不同不断的变化,同时读永远从变化的master上写入和读取。
(4)redis也是有事物的,但只保证了一致性和隔离性,没有原子性,一致性上面说过了。因为redis本质上是单线程的,一个一个的去执行命令。这种顺序执行,隔离性是有保证的。

互联网服务 · 2020-04-18
浏览6070

回答者

zhuqibs
软件开发工程师Adidas
擅长领域: 云计算服务器存储

zhuqibs 最近回答过的问题

回答状态

  • 发布时间:2020-04-18
  • 关注会员:5 人
  • 回答浏览:6070
  • X社区推广