网站建设

结合设计经验与营销实践,提供有(yǒu)价值的企业营销资讯

首页(yè) > 新(xīn)闻资讯 > 网站建设

大型网站分(fēn)布式缓存架构

2015/8/27 10:18:40 来源:深圳网站建设

  3. 分(fēn)布式缓存建筑

  深圳网站建设分(fēn)布式缓存是指在多(duō)台服務(wù)器组成的集群中(zhōng)部署缓存,以集群方式提供缓存服務(wù)。體(tǐ)系结构有(yǒu)两种类型:一种是需要更新(xīn)由JBoss Cache表示的同步分(fēn)布式缓存,另一种是由Memcached表示的不i相通信。

  JBoss Cache分(fēn)布式缓存在群集中(zhōng)的所有(yǒu)服務(wù)器中(zhōng)保存相同的缓存数据。当一台服務(wù)器有(yǒu)缓存数据更新(xīn)时,它会通知集群中(zhōng)的其他(tā)机器更新(xīn)缓存数据或清除缓存数据,如图4.9JBoss Cache所示一般来说,应用(yòng)程序和缓存部署在同一台服務(wù)器上,应用(yòng)程序可(kě)以快速从本地获取缓存数据。但是,问题是缓存数据的数量受到单个服務(wù)器的内存空间的限制。当集群很(hěn)大时,需要将缓存更新(xīn)信息的成本同步到集群中(zhōng)的所有(yǒu)计算机,这是非常昂贵的。因此,这种方案在企业应用(yòng)系统中(zhōng)比较常见,但在大型应用(yòng)系统中(zhōng)却很(hěn)少网站。

  需要缓存的大型网站数据通常非常大,可(kě)能(néng)需要TB的内存进行缓存。此时,需要另一种类型分(fēn)布式缓存,如图4.10所示Memcached采用(yòng)集中(zhōng)式缓存集群管理(lǐ),也称為(wèi)分(fēn)布式架构非通信模式。缓存和应用(yòng)程序是分(fēn)开部署的。缓存系统部署在一组特殊的服務(wù)器上。应用(yòng)程序通过一致性Hash等路由算法选择缓存服務(wù)器遠(yuǎn)程访问高速缓存数据,并且缓存服務(wù)器彼此不通信。缓存集群的规模易于实现扩展,具(jù)有(yǒu)良好的可(kě)扩展性。

  Memcached关于可(kě)伸缩性设计,请参阅本书第6章。

  4. Memcached

  Memcached曾经是网站分(fēn)布式缓存的代词,大量用(yòng)于网站。它的简单设计、卓越的性能(néng)、非通信服務(wù)器集群和海量数据可(kě)扩展體(tǐ)系结构吸引了架构师。

  简单通信协议

  遠(yuǎn)程通信设计需要考虑两个因素,一是通信协议,即选择TCP协议或UDP协议或HTTp协议;一种是通信序列化协议。数据传输的两端必须使用(yòng)可(kě)相互识别的数据序列化方法来完成通信,如XML、JSON等文(wén)本序列化协议,或者二进制序列化协议如googleprotobufferMemcached使用(yòng)TCP协议UDP也支持通信。序列化协议是一组基于文(wén)本的自定义协议。它非常简单,首先是一个command关键字,然后是一组命令操作(zuò)数。例如,读取数据的命令协议是get(此后,许多(duō)NoSQL产(chǎn)品已经使用(yòng)或直接支持该协议)。

  客户程序丰富

  Memcached通信协议非常简单。只要支持协议的客户端可(kě)以与Memcached服務(wù)器进行通信,那么Memcached就开发出非常丰富的客户端程序,几乎支持所有(yǒu)主流网站编程语言Java、c/c++/c#Perl、Python、PHP、Ruby等。,因此,它更像是在混合使用(yòng)多(duō)种编程语言网站和Memcached中(zhōng)取水。

  高性能(néng)网络通信

  Memcached服務(wù)器的通信模块基于支持事件触发的网络通信程序库libevem。

  无通信的服務(wù)器集群體(tǐ)系结构

  如上所述,正是这一特性使得Memcached在JBoss Cache、OSCache等众多(duō)分(fēn)布式缓存产(chǎn)品中(zhōng)脱颖而出,满足了网站对海量缓存数据的需求。其客户端路由算法一致性Hash已经成為(wèi)数据存储可(kě)伸缩性架构设计的经典范例(参见本书第6章)。事实上,由于集群中(zhōng)的服務(wù)器之间没有(yǒu)通信,集群可(kě)以实现几乎无限的線(xiàn)性扩展,这是许多(duō)流行大数据技(jì )术的基本架构特征。

  近年来,NoSQL产(chǎn)品层出不穷,很(hěn)多(duō)产(chǎn)品在数据持久性、支持复杂数据结构、甚至性能(néng)上都优于Memcached,但Memcached以其简单、稳定、专用(yòng)的特点,在分(fēn)布式缓存领域仍占有(yǒu)重要地位。

/jianzhanzhishi/1323.html 大型网站分(fēn)布式缓存架构

特别声明:本网站发布的内容(图片、视频和文(wén)字)以用(yòng)户投稿、用(yòng)户转载内容為(wèi)主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文(wén)章观点不代表本网站立场,如需处理(lǐ)请联系客服。電(diàn)话:0755-85297058;邮箱:2295772445#qq.com (#替换成@)。

标签:

QQ咨询
微信咨询
微信咨询
電(diàn)话咨询
周一至周五 9:00-18:00
135-1055-3738
回顶部