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

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



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

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

持久化存储:sql

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

Master-Slave复制架构:后端

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

注:一般只开户一台master的写入,另外一台master仅仅stand by 或做为读库开放,避免数据写入冲突,防止数据不一致状况发生。session


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

 Redis:并发


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

发布订阅消息传输模型:

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

相关文章
相关标签/搜索