• 高并发大访问量架构设计演进之路 归纳总结


     高并发大访问量架构设计演进之路 归纳总结

    第01:大型架构的演进之路
    第02(上):分布式缓存
    第02(下):分布式缓存
    第03:分布式消息队列
    第04:分布式数据存储
    第05:分布式服务框架
    第06:高性能系统架构
    第07:高可用系统架构
    第08:系统的安全架构
    第09:架构实战案例分析
    第10:如何成为技术专家

    系统的垂直伸缩,水平伸缩
    系统的性能瓶颈:分部式缓存;分布式数据存储,分布式服务架构;


    强烈的好奇心,工程技术,产生价值赚钱(科学研究不同)
    扎实的软件技术基础:操作系统,数据结构,设计模式,编程语言,
    出色的编程能力:优秀的代码
    深刻领悟主流技术产品模式;

    互联网架构的关键技术:缓存,异步,分布
    互联网架构的核心要素:性能,可用,安全
    架构设计方案:系统,框架,数据库
    架构师的成长:搞定问题的攻略

    大型分布式架构

    优秀架构师必备的技能:
    强烈的好奇心,
    敏锐的业务嗅觉,工程技术,产生价值赚钱(科学研究不同)
    扎实的软件技术基础:操作系统,数据结构,数据库原理,设计模式,编程语言,
    出色的编程能力:优秀的代码
    深刻领悟主流技术产品模式:站在巨人的肩膀上思考;

    架构知识体系和学习路径:
    基础扎实:操作系统原理,数据结构,数据库原理,算法能力,设计模式;
    技术产品:缓存,异步,分布式存储,微服务
    架构设计考虑的点:高可用,高性能,高安全



    大型互联网架构:高并发,大流量,高可用,海量数据,用户分布广,安全,发布平缓
    垂直伸缩:提高CPU,CIPAN,小型机到大型机
    水平伸缩:
    少量用户,单机系统:应用服务器:应用程序,文件,数据库
    万级用户,数据库与应用分离,2,3台服务器
    十万级用户,缓存+应用服务器集群
    百万级用户,反向代理,CDN+数据库读写分离
    千万级用户,分布式文件系统+分布式数据库系统
    亿级用户,搜素引擎,nosql,消息队列+分布式服务

    缓存知识架构图:
    特点:技术简单,性能提升显著,应用场景多
    缓存快:内存,最终结果不需计算,降低IO设备响应
    缓存存储:hash表,key,value比数据库读取快
    设计缓存:缓存键集合总数要小,缓存时长,缓存空间大
    缓存类型:
    通读缓存:
    代理缓存存在客户端
    反向代理:代理数据中心,没有时在访问反向代理缓存服务器,没有在访问web应用服务器
    内容分发CDN缓存:数据机房部署的缓存服务器
    旁缓存:对象缓存需连接,没有°数据库,加装到缓存服务器中

    合理使用缓存:
    一次修改,多次读取热点数据 数据不一致与脏读
    缓存雪崩:对象缓存是通过加装数据到内容

    分布式缓存
    代理和反向代理
    内容分发网络CDN
    分布式对象缓存架构设计:memached服务器集群(memached服务器,memached客户端程序)

    3分布式消息队列
    分布式消息队列原理:通过消息队列来让消息生产者和消息消费者到达异步,互不相关,同步调用,异步调用,异步处理,易于伸缩,
    构建事件驱动架构:点对点模型:逻辑相对独立,耗时长
    发布订阅模式:逻辑复杂
    消息队列的优点:异步处理,减少时间,易伸缩,平衡高峰处理压力,填补低峰
    消息队列的缺点:消息无序,重复队列,复杂度风险
    消息队列的反模式:阻塞式调用,
    消息队列的产品:kafka,rabbitMQ,ACTIVEMQ

    4分布式数据存储
    mysql主从复制架构:实现数据库读写分离,更新主数据库,记录日志,从数据库根据日志更新从数据库
    一主多从复制的优点:分摊负载,高可用,便于冷备,专机专用
    mysql主主复制方案:可用提高数据库主数据库高可用性
    更新表结构会导致巨大的延时

    数据分片原理:数据分片方案:数据分片扩容:数据库部署:分库,分片
    数据库部署:单一数据库,主从数据库,一主多从,多主多从,分片存储
    大规模数据冲突性:nosql,时间戳大的数据覆盖时间戳小的数据
    mysql亿级数据分区存储
    分布式数据库架构
    nosql数据库CAP原理,最终一致性
    分布式数据库中间件:mycat 支持join


    5分布式服务架构,微服务
    单体系统的挑战:编译部署困难,代码分支管理困难,数据库连接耗尽,新增业务困难,发布困难,

    分布式服务架构原理:根据模块将单体系统分解成不同的应用,单独发布到不同服务器
    微服务架构;dubbo,spring cloud
    消息队列kafka,RocketMQ,activeMA,RabbitMQ
    服务治理与最佳实践:需求,价值,设计原则,实践,找工具,事件索源

    6高性能系统架构:性能测试,性能优化
    系统性能度量方法:性能测试,性能优化,主观体验,客观测试
    系统性能主要指标:性能计算器(cpu,i/o,内存),响应时间,吞吐量,并发数(同事请求数据),TPS,QPS
    系统性能测试:性能测试,负载测试,压力测试,稳定性测试
    系统性能优化的7层境界:机房骨干网络优化(多点部署),服务器硬件优化,操作系统优化,虚拟机优化,基础组件优化tomcat,软件架构优化(缓存,异步,集群),
    软件代码优化(面试对象,并发,多线程,异步,数据机构,数组,链表,has表特性,数据库优化)

    7高可用系统架构
    系统可用性度量与管理:n个9,qq是9个9,99.99%可用性指标,故障分
    DNS被劫持: CDN服务器不可用,宕机,代码bug,黑客攻击,第三方服务部可用

    系统高可用架构:负载均衡,备份与失效,消息队列,限流与降级,异地多活
    系统高可用策略:应用服务器负载均衡服务器,HTTP重定向负载均衡,DNS负载均衡,反向代理服务器(应用在20台服务器左右的环境),
    ip层负载均衡,数据链路层负载均衡(大型互联网应用配置的标准),限流(对高并发限流),降级(关闭部分功能,评价,物流确认)
    异地多活多机房架构,就近原则,数据同步,主机房,主从模式
    备份,失效转移,限流与降级
    高可用运维:自动化部署,自动化监控(cpu,i/o),自动化测试,预发布测试


    8高安全的系统架构
    web攻击:xss攻击(恶意url攻击,< 将<转译(),sql注入攻击(编定参数,用户提交的只有参数不是sql语句),CSRF攻击(表单token,验证码)
    web防护:过滤消毒将<转译(,SQL参数绑定,验证码,web防火墙,开源防火墙modsecurity
    数据加密技术:单项散列加密(明文到密文),对称加密(加密解密),非对称加密
    信息过滤与反垃圾:分类算法,布隆过滤器


    9架构实战案例分析
    初创互联网公司架构演化与发展
    下一代编程框架:响应式编程架构设计与开发
    分布式数据库设计与开发

    如何成为架构师:
    从普通程序员到顶尖专家之路
    扭曲现实力场,架构师重新定义问题
    架构师阅读清单


    目录

    分布式消息队列
    分布式消息队列原理
    构建事件驱动架构
    消息队列的优缺点
    消息队列的反模式

    分布式数据存储
    mysql主从复制架构
    mysql亿级数据分区存储
    分布式数据库架构
    nosql数据库

    分布式服务架构
    单体系统的挑战
    分布式服务架构原理
    服务治理与最佳实践

    高性能系统架构
    系统性能度量方法
    系统性能主要指标
    系统性能测试:负载与压力测试
    系统性能优化的7层境界

    高可用系统架构
    系统可用性度量与管理
    系统高可用策略:备份,失效转移,限流与降级
    高可用运维


    高安全的系统架构
    web攻击与防护
    数据加密技术与秘钥安全
    信息过滤与反垃圾


    架构实战案例分析
    初创互联网公司架构演化与发展
    下一代编程框架:响应式编程架构设计与开发
    分布式数据库设计与开发

    如何成为架构师:
    从普通程序员到顶尖专家之路
    扭曲现实力场,架构师重新定义问题
    架构师阅读清单

  • 相关阅读:
    检测Linux硬盘IO数据
    获取OrangePI板子CPU温度
    ASP.Net开发WebAPI跨域访问(CORS)的精简流程
    一些常用复合命令
    关于Linux的虚拟内存管理
    Linux中组 与 用户的管理
    linux加载与使用ko驱动
    7z命令行 极限压缩指令
    nodejs的POST请求
    案例:用ajax 方法 解析xml
  • 原文地址:https://www.cnblogs.com/csj007523/p/11339233.html
Copyright © 2020-2023  润新知