• (十三)本章小结:百万流量,这些技术够用了


    单体ALL in one 架构,遇到什么问题,架构如何演进?

    (1)技术不炫技,以解决业务问题为导向;

    (2)系统改造尽可能小的架构方案;

    (3)以最快的速度,提升系统的性能,解决遇到的问题;

    问题一:如何突破单机资源限制,提升性能?

     架构演进:伪分布式,提升性能

     三大分离

     (1)动静分离

     (2)读写分离(引发读写延时新问题)

     (3)前台后台分离

    问题二:如何解除耦合,缩小故障影响范围?

     架构演进:垂直拆分,解耦

     垂直拆分

     (1)业务垂直拆分

     (2)代码垂直拆分(子系统解耦)

     (3)数据库垂直划分(数据量降低,延时缓解)

        (4)研发团队垂直划分(专业化,效率提升)

    问题三:如何保证垂直拆分后,子系统的高可用?

     架构演进:反向代理

     (1)子web系统的性能,不再受到单台机器资源限制,可以扩展;

     (2)子web系统,实现了高可用(伪集群->真集群)

    问题四:真集群后,如何做负载均衡?

      随机,轮询,静态权重,一致性,四层转发以及七层转发(nginx,lvs,f5)

    问题五:反向代理,如何保证高可用?

           keepalived+vip

    问题六:反向代理技术出现之前,接入层如何扩展?

           DNS轮询

    问题七:多层反向代理,如何还有性能瓶颈呢?如何做到,无限性能?

           还是DNS轮询,实施多层反向代理的扩容

    问题八:session一致性如何保障?

           方案三:反向代理hash一致性(四层,七层)

           方案四:后端统一存储法

    问题九:静态资源如何加速?

           CDN!!!

           CDN如何就近访问?

               CDN架构:智能DNS+源+镜像

    保证一致性的最佳实践

     (1)资源更新,采用拉(镜像拉源),而不是推(源推送镜像);

     (2)常更新的静态资源,加上版本号;

    还有哪些架构实践:

    (1)分层服务化

    (2)服务化之后的高可用,高性能,负载均衡

    (3)数据库极限优化

    (4)架构优化万金油,缓存最佳实践

    (5)高并发下的一致性

    (6)...

  • 相关阅读:
    ubuntu下crontab启动,重启,关闭命令
    解决ubuntu16.04下boot空间不足的方法
    Go语言变量作用域
    Go语言函数
    xftp取消自动更新
    nginx下http如何转https访问
    mysql 5.7.22 zip安装
    微服务本机搭建
    微服务集成mybatis问题
    eclipse导入本地maven项目时,有的项目的结构是文件夹的机构
  • 原文地址:https://www.cnblogs.com/qinchanggui/p/13417117.html
Copyright © 2020-2023  润新知