亿级流量系统架构之如何支撑百亿级数据系统的演进(石衫系列文章)

本系列主要介绍石衫系列文章中的亿级流量系统架构的演进:

1.亿级流量系统架构之如何支撑百亿级数据的存储与计算

2.亿级流量系统架构之如何设计高容错分布式计算系统

3.亿级流量系统架构之如何设计承载百亿流量的高性能架构

4.亿级流量系统架构之如何设计每秒十万查询的高并发架构

5.亿级流量系统架构之如何设计全链路99.99%高可用架构

相关学习笔记(按照左边的序列逐个记录)

1.最终的总体架构:

2.演进架构(重点解决的是高容错问题)

3.百亿流量的高性能架构

主要改进有以下三个方面:

3.1、计算与存储分离的架构(存储用kv,计算用mysql利用他的强大的sql能力)
3.2、自研纯内存SQL计算引擎(弃用mysql计算能力,自研)
3.3、MQ削峰以及流量控制(控制kv的写入,属于前置)

4.每秒十万的高并发演进

4.1、分库分表 + 读写分离,目的:为了减少负载,减少单表压力以及存储数据
4.2、每秒10万查询的高并发挑战解决方案
    4.2.1、数据的冷热分离架构(今天和今天以前的数据分离)
    4.2.2、自研Elasticsearch+HBase+纯内存的查询引擎(解决冷数据查询)
    4.2.3、实时数据存储引入缓存集群(解决热数据查询,90%入缓存,10%入mysql)

    基于以上的改进,热数据基于缓存集群+数据库集群来承载高并发的每秒十万级别的查询;冷数据基于ES+HBase+内存计算的自研查询引擎来支撑海量数据存储以及高性能查询。

5.全链路99.99%高可用

5.1、MQ集群高可用方案
异步转同步 + 限流算法 + 限制性丢弃流量
5.2、KV集群高可用保障方案
临时扩容Slave集群 + 内存级分片存储  + 小时级数据粒度(因为是降级方案,又要做一个balance,所以用户只能看当天每个小时的数据指标,但是全天汇总的暂时就无法看到)
5.3、实时计算链路高可用保障方案
计算任务重分配 + 主备切换机制
5.4、热数据高可用保障方案
自研缓存集群查询引擎 + JVM本地缓存 + 限流机制(超过限制显示异常)
5.5、冷数据高可用保障方案
收集查询日志 + 离线日志分析 + 缓存高频查询(其他的查询直接返回异常)

猜你喜欢

转载自blog.csdn.net/jayxujia123/article/details/106731775
今日推荐