用户注册
首页>新闻>正文

云服务融入分布式缓存系统架构(二)

雷电vps 2020/5/21 10:54:59

EVCache 具有如下的特性:

1、EVCache 的CS架构

EVCache客户端是一个Java的客户端,用于发现EVCache服务器并管理所有的增删改查(CRUD)操作,由客户端处理在集群中添加/删除服务器。基于亚马逊云服务可用区,客户端在执行创建、更新和删除操作的时候复制数据。

另一方面,客户端的读操作直接从同一可用区的服务器读取数据。

一个EVCache客户端连接了多个EVCache的服务器集群。 在一个区域内,Netflix有多个全数据集的拷贝,由亚马逊云服务的可用区隔离开来。虚线框描述了区域内的副本,每个拥有数据的全量镜像,作为AWS的自动伸缩组来管理这些镜像。某些缓存在一个区域内有两个镜像,有的拥有更多。这种高层架构长期来看是有效的,不会改变,每个客户端连接自己区域内所有可用区的所有服务器。写操作被发往所有实例,读操作优先选择离读请求近的服务器。

2、EVCache 跨区域复制

Netflix的全球云服务遍布AWS各个服务区域,例如北弗吉尼亚、俄勒冈州和爱尔兰,为这些地区的会员提高就近服务,但网络流量会因为各种原因改变,比如关键基础设施出了问题故障,或者地区之间进行失败恢复的练习等,因此Netflix采用无态应用服务器服务于来自任何地区的会员。

这些数据如果从持久层存储获得将会非常昂贵(造成频繁的数据库访问),Netflix需要将这种数据写入到本地缓存,而且必须复制到所有地区的缓存中,以便服务于各个地区的用户请求。

微服务是依赖于缓存的,必须快速可靠地访问多种类型的数据,比如会员的观影历史、排行榜和个性化推荐等,这些数据的更新与改变都必须复制到全世界各个地区,以便这些地区的用户能够快速可靠地访问。

EVCache客户端库发送SET到缓存系统的本地地区的一个实例服务器中

EVCache客户端库同时也将写入元数据(包括key,但不包括要缓存的数据本身)到复制消息队列(Kafka)

本地区的复制中继服务将会从这个消息队列中读取消息

中继服务会从本地缓存中抓取符合key的数据

中继服务会发送一个SET请求到另一个地域的复制中继服务

在另一个区域中,复制中继服务会接受请求,然后执行SET操作到它的本地缓存,完成复制

在接受地区的本地应用当通过GET操作以后会在本地缓存上看到这个已经更新的数据值

这是一个简单描述,需要注意的是,它只会对SET操作有效,对于其它DELETE TOUCH或批mutation等操作不会复制,DELETE和TOUCH是非常类似的,只有一点不同:它们不从本地缓存中读取已经存在的值。

跨区域复制主要是通过消息队列进行,一个地区的EVCache客户端不会注意到其它地区的复制情况,读写都是只使用本区域缓存,不会和其它地区缓存耦合,通过消息系统来解耦合。

雷电VPS提供高性能服务器,使用户间的彼此隔离、高安全性,为用户搭建虚拟主机、电商平台、数据共享平台以及在线游戏平台等相关应用。雷电VPS实力派的动态拨号vps,可信赖的专业级VPS提供商秒拨数百万IP库存 ,专业的动态拨号VPS提供商,助力VPS产业发展。

欢迎新老客户选购!优质雷电拨号vps尽在www.leidianvps.com

上一篇:云服务融入分布式缓存系统架构(三) 下一篇:云服务融入分布式缓存系统架构(一)

马上开启雷电VPS云计算之旅

7000+用户的选择,100000+小时稳定运行

立即体验
咨询售后


·

官方客服
3007577152在线客服 3007577152(点击咨询)
大客户洽谈
官方电话 18030524997