高并发分布式架构演进

2023-11-15

架构演进过程如下:

  • 单机架构

  • 第一次演进:Tomcat与数据库分开部署

  • 第二次演进:引入本地缓存和分布式缓存

  • 第三次演进:引入反向代理实现负载均衡

  • 第四次演进:数据库读写分离

  • 第五次演进:数据库按业务分库

  • 第六次演进:把大表拆分为小表

  • 第七次演进:使用LVS或F5来使多个Nginx负载均衡

  • 第八次演进:通过DNS轮询实现机房间的负载均衡

  • 第九次演进:引入NoSQL数据库和搜索引擎等技术

  • 第十次演进:大应用拆分为小应用

  • 第十一次演进:复用的功能抽离成微服务

  • 第十二次演进:引入企业服务总线ESB屏蔽服务接口的访问差异

  • 第十三次演进:引入容器化技术实现运行环境隔离与动态服务管理

  • 第十四次演进:以云平台承载系统

一、基本概念

在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍:

  • 分布式:系统中的多个模块在不同服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或两个相同功能的Tomcat分别部署在不同服务器上

  • 高可用:系统中部分节点失效时,其他节点能够接替它继续提供服务,则可认为系统具有高可用性

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

高并发分布式架构演进 的相关文章

  • 一款超赞的算法可视化工具,让算法过程动态展示出来

    从文字或者图片中学习算法还是一件很无聊的事 当然 现在有许多很棒的网站可以查看各种算法的动画 然而 对于开发人员来说 如果能将实现算法的代码的实际执行操作通过可视化展现出来 那就是最好不过了 推荐一款开源工具 Algorithm Visua
  • 智星算力平台-网页版使用教程

    1 注册登录 网页搜索http gpu ai galaxy cn store 新用户点击右上角快速注册 2 算力市场 登录账号后进入首页 开始选择租用GPU 1 场景选择 根据使用需求选择所需场景 如不知该选云容器还是云主机可参考以下图解

随机推荐

  • Numpy 一维数组的倒序

    代码 方法一 import numpy as np a np array 1 2 3 4 5 6 b a 1 print b 方法二 a np array 1 2 3 4 5 6 b np flipud a print b 输出 D Ana
  • 使用面向对象的方式设计一段python多线程爬虫代码

    可以这样 import threading import requests def spider url response requests get url print response text if name main url list
  • 百望云亮相服贸会 重磅发布业财税融Copilot

    小望小望 我要一杯拿铁 好的 已下单成功 请问要开具发票嘛 在获得确认的指令后 百小望AI智能助手 按用户要求成功开具了一张电子发票 这是2023年服贸会国家会议中心 成果发布现场 百望云向与会嘉宾展示的业财税融Copilot产品的一个应用
  • jedis详细配置

    最大活动对象数 redis pool maxTotal 1000 最大能够保持idel状态的对象数 redis pool maxIdle 100 最小能够保持idel状态的对象数 redis pool minIdle 50 当池内没有返回对
  • Zookeeper概念简介+Zookeeper工作原理图+选主机制+Zookeeper集群角色+数据模型+规则

    Zookeeper是一个分布式协调服务 就是为用户的分布式应用程序提供协调服务 zookeeper是为别的分布式程序服务的 Zookeeper本身就是一个分布式程序 只要有半数以上节点存活 zk就能正常服务 Zookeeper所提供的服务涵
  • 【C++简明教程】随机数生成

    导言 C 简明教程 每次更新将会以代码块的形式发布 可以作为手册或者模块以供查询 今天介绍的是如何使用 C 生成随机数 随机数生成 C 自带的随机数生成函数 rand 但是这个不是实际意义上的随机数生成函数 rand 返回一随机数值的范围在
  • activemq结合mqtt发送p2p消息

    实现思路 所有用户订阅一个主题 当服务器端发起推送时使用jms协议发送消息到主题 并设置附带属性为目标用户的clientId 对该主题进行自定义分发策略 1 下载mqtt源码 自行下载 本案例以5 5 10为例 2 自定义分发策略 添加一个
  • BIO、NIO、AIO的区别

    1 简单介绍 同步阻塞 blocking IO 简称BIO 同步非阻塞 non blocking IO 简称NIO 异步非阻塞 asynchronous non blocking IO 简称AIO BIO 同步阻塞I O模式 数据的读取写入
  • 若依实现父弹窗获取子弹窗的数据

    参考这个 RuoYi 弹出新窗口选择数据回显到父页面 https blog csdn net u014440968 article details 116266076 还有官方的demo就行 最终实现效果 关键的方法 父页面 div cla
  • 基于ESB权限初始化流程开发总结

    在集团信息化系统的建设过程中 由于应用系统数量日益增多 很多集团缺少一个能有效地将众多系统身份认证 账号管理 授权等功能集成的软件系统 由此IDM应运而生 在IDM中统一权限的功能资源模块是对下游系统的平台进行功能资源的统一管控 在管控之前
  • HTTP学习——网关

    网关可以作为一种翻译器使用 抽象出了一种能够到达资源的方法 网关和代理的区别 代理连接的是两个或多个使用相同协议的应用程序 而网关连接的则是两个或多个使用不同协议的端点 网关扮演的是 协议转换器 的角色 Web网关在一侧使用HTTP协议 在
  • 离散数学 --- 命题逻辑 -- 命题符号化与命题公式

    第一部分 命题符号化及其应用 1 等价连接词中 P Q同为真同为假时为真 真假不同时为假 下面是各个联结词的真值表 复合命题的真值只取决于通过联结词构成他的简单命题的真值 与简单命题的内容无关 比如 中国在地球上且太阳东升西落 这是一个复合
  • 记录DHCP IPV6遇到的问题(一)

    进行DHCP IPV6连接的时候 经常遇到设备获取过一次地址后 在短时间内再次重新主动进行一次DHCP IPV6连接 会连接失败 从抓包来分析就是上行服务器不响应 通过与服务器方的沟通 了解到一点 服务器会记录请求设备的mac和DUID 是
  • SpringMVC的架构有什么优势?——视图与模型(二)

    前言 作者主页 雪碧有白泡泡 个人网站 雪碧的个人网站 推荐专栏 java一站式服务 React从入门到精通 前端炫酷代码分享 从0到英雄 vue成神之路 uniapp 从构建到提升 从0到英雄 vue成神之路 解决算法 一个专栏就够了 架
  • 一文拆解Faas的真实案例

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文来自腾讯云技术沙龙 本次沙龙主题为Serverless架构开发与SCF部署实践 刘敏洁 具有多年云计算行业经验 曾任职于华为 UCloud等企业担任产品开发 产品经理 目前负责腾
  • meedu二次开发:企业内部使用 必须登录之后才能查看里面内容

    meedu二次开发 修改成企业内部培训系统功能 用户必须登录之后才能查看里面课程内容
  • C语言第五章第4节用for语句实现循环学习导案

    课 题 5 4 用for语句实现循环 课时安排 2课时 课 型 新授 学 习目标 掌握for循环语句的一般形式 掌握for循环语句的执行过程 重点 for循环语句的一般形式 难点 理解for循环语句的执行过程并会做题 导 学 流 程 复备或
  • 实习日志3.22

    今天是实习的第一天 主要做了以下工作 1 安装vs2017 在csdn直接下载安装包 官网找不到2017版本的社区版 2 配置opencv编译环境 4 2 0版本 推荐b站up3 3 遇到了bug 找不到opencv core420d dd
  • PyTorch报错insufficient shared memory (shm)

    报错 ERROR Unexpected bus error encountered in worker This might be caused by insufficient shared memory shm ERROR Unexpec
  • 高并发分布式架构演进

    架构演进过程如下 单机架构 第一次演进 Tomcat与数据库分开部署 第二次演进 引入本地缓存和分布式缓存 第三次演进 引入反向代理实现负载均衡 第四次演进 数据库读写分离 第五次演进 数据库按业务分库 第六次演进 把大表拆分为小表 第七次