您的位置:首页 > 其它

分布式系统组成:分布式缓存、存储、消息队列

2017-09-06 22:15 239 查看
分布式缓存:
key-value存储加快了存取的速度。
消息队列:
将消息存储在队列中,不必等待回应,采用异步处理的方式,降低系统集成耦合度,提升了分布式系统的效率。
垂直化搜索引擎:
解决了分库分表或使用NoSQL导致无法多表关联的问题,又解决了like查询效率低下的问题。

memcache:
memcache维护一张巨大的HashTable用来存储缓存,数据读取速度为O(1)。
memcache开启:开启时配置缓存服务器地址及对应的端口
java程序配置:java程序中可以通过ip和端口找到对应的缓存服务器,并通过get,set之类的方法对缓存服务器内的数据进行修改查询

分布式session:
考虑到cookie的不安全性,及多服务器间session同步的难度,分布式session应运而生。将sessionId作为key,session作为value将session存储到缓存服务器

持久化存储:
分库存储,随着业务量增多,对 单个数据库的频繁访问导致其成熟的压力很大,可以将库内的多个表拆分开,分别存储在不同的数据库,这样可以减少单个数据库所承受的压力

随着数据访问量进一部增大,配置多台数据服务器,使所有服务器上数据相同,访问时再按策略选取,可以达到拓展系统的 目的。从数据服务器通过主服务器的binary log达到数据同步的目的。
对于巨大的单表 可以采用分表的策略来加快访问速度,提高吞吐。

分库与分表原理相同,目的是为了加快写操作

也可以结合分库分表:

非关系型数据库:redis:

消息队列:
消息队列的使用降低了系统间耦合度,避免了大量请求的同时涌入导致系统崩溃,起到了削峰填谷的作用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐