• 分布式架构


    什么是分布式架构

    单体

     分布式集群

     

    分布式的高可用

    搭建服务集群,提高负载,避免单点故障

    应对灾难,搭建异地灾备,预防地区因发生地震等自然灾害

    接口限流以及服务降级。为防止过高的并发量造成服务器负载过高而出现故障

    故障监控报警

    服务的可伸缩性,易于水平扩张服务器数量。

    使用缓存降低数据库压力

    使用CDN等加速静态资源的访问

    分布式能够给架构带来什么

    应用服务器集群:

    随着访问量的继续增加,单台应用服务器也无法满足需求了,我们就需要搭建应用服务器集群来对外提供服务了

     

    数据负载-读写分离

    主从数据库之间的数据需要同步

    应用中需要根据业务进行对应数据源的选择

    搜索引擎/Nosql负载-读写分离

    Nosql/Elasticsearch等

    数据量压力-拆表/拆库

    据的垂直拆分和水平拆分

    >=1000万,考虑拆表

    >=1亿 ,考虑拆库

    应用压力-应用拆分

    应用拆分,按照领域模型将我们的用户、商品、交易拆分成多个子系统

    中台实现的基础--》微服务

    案例—电商系统

    系统分层,微服务管理

    案例—Nginx反向代理

    务器层面分流

    案例—WCF分布式

    每层中的服务器,可水平扩展(集群),可纵向扩展(按系统/域/功能切分)

    案例—微服务架构

    哑铃架构

    微服务分布式集成

    前端后端双向扩展。

    布式常见的坑—数据一致性

    1、系统间的数据一致性。

    2、系统内应用间的数据一致性。

    3、应用内部对应多数据库的数据一致性,是个反模式,不要做通用方案。

    4、一个数据库对应多个应用的数据一致性。

    数据中台

    分布式优点

    分布式结构就是将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为“服务”。这些子系统能够独立运行在web容器中

    如有错误,欢迎您指出。
    本文版权归作者和博客园共有,欢迎转载,但必须在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    Java 理论与实践: 正确使用 Volatile 变量
    Zookeeper 原理
    Java中GC的工作原理
    Redis 5种数据结构使用及注意事项
    Redis 支持的5种数据结构
    浅谈JavaScript词法分析步骤
    四句话总结JavaScript作用域
    Web模板引擎本质前奏
    python【第十三篇】可以写一个堡垒机了
    python【第十二篇下】操作MySQL数据库以及ORM之 sqlalchemy
  • 原文地址:https://www.cnblogs.com/qingyunye/p/13158693.html
Copyright © 2020-2023  润新知