常用分布式系统架构的支撑系统总结

一大型稳健成熟的分布式系统背后,必然包含很多支撑系统,这些支撑系统统称为分布式系统的基础设施。分布式缓存主要用于在高并发环境下,减轻数据库压力,提高系统的响应速度和并发呑吐。


215414_y0gn_1789904.png


基于缓存的分布式session架构:

通过将session以sessionid作为key,保存到后端的缓存集群中,使得不管请求如何分配,即使是web server宕机,也不会影响到其它web server通过sessionid从cache server中获得session,这样既实现了集群间的session同步行街,又提高了web server的容错性。

234152_3KwL_1789904.png

持久化存储:

互联网领域常见的三种数据存储方式:1.传统关系型数据库mysql,2.Google提出的bigtable概念的开源实现hbase,3.丰富数据类型的key-value存储redis.

011451_BoPD_1789904.png

Master-Slave复制架构:

002837_1T9g_1789904.png

注:master-slave复制架构存在单点故障的问题,最佳方式是采用Master-Master架构,如下图:

003601_SOUL_1789904.png

注:通常只开户一台master的写入,另一台master仅仅stand by 或作为读库开放,避免数据写入冲突,防止数据不一致情况发生。


HBase:能够解决采用分库分表策略后,系统无法进行多表关联查询,以及查询时必须带路由字段的问题。搜索引擎可以很好地支持复杂条件的组合查询,通过搜索引擎构建一张大表能够弥补一部分数据库拆分所带来的问题

013936_ocGN_1789904.png

 Redis:

234358_vXAJ_1789904.png


消息系统:开源的系统消息有:ActiveMQ,Apache的Kafka,RabbitMQ,memchacheQ等

001827_L37p_1789904.png

发布订阅消息传输模型:

233817_UnlJ_1789904.png

基于共享文件系统的Master-slave架构和基于共享数据库的Master-slave架构:

234147_XkxV_1789904.png


转载于:https://my.oschina.net/xiejunbo/blog/500836

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值