共享数据内存副本的管理和同步

yanghao

共享数据

通常而言,在集群化的环境中,或者多服务共存的背景下,多个系统服务需要使用大量相同的数据,而将这些数据进行统一的管理、分配和共享称为数据共享,而这些数据称为共享数据。使用共享数据,可以使更多的服务充分地使用已有数据资源,减少数据提取、装配等重复计算和相应开销,而把精力重点放在服务本身的业务逻辑的处理上。

一、 弱一致性共享数据

在共享数据中,主要分为需要强一致性的共享数据和弱一致性的共享数据。

其中强一致性共享数据需要满足各个服务之间的同步要求,简而言之就是在任意时刻所有服务看到的数据是完全相同的一份。一般来说,通过一个集中的数据中心\数据库来获取数据,或者各个服务通过使用分布式锁服务来满足强一致性数据的同步需求。强一致性数据一般来说数据量较小或访问速度要求不高,数据量小可以使用单点的数据中心存储数据,访问速度要求不高可以通过paxos协议实现多服务/多数据库同步。这类数据的例子如账户余额信息,商品存货信息等。
Continue reading