高并发分布式架构的演进之路

目录

单体架构

应用数据分离架构

应用数据集群架构

读写分离 / 主从分离架构

引⼊缓存⸺冷热分离架构

垂直分库

业务拆分-微服务

单体架构

一个系统初期,我们需要利⽤我们精⼲的技术团队,快速将业务系统投⼊市场进⾏检验,并且可以迅速响 应变化要求。但好在前期⽤⼾访问量很少,没有对我们的性能、安全等提出很⾼的要求,⽽且系统架构简单,⽆需专业的运维团队,所以选择单机架构是合适的。

单体架构就是我们的应用服务和数据库服务都是在一个主机上的.

用户在浏览器地址栏中输入域名之后,通过DNS解析为ip地址,随后访问该IP地址上的应用服务.

 单体架构也是我们目前最常见的一种架构,因为系统架构简单,无需过多的维护人员.

目前绝大多数公司的产品都是这总单体架构.因为现在计算机的硬件发展的速度是非常快的,所以哪怕只有一台主机,这一台主机的性能都是非常好的,都能支持非常大的高并发和非常大的存储量.

应用数据分离架构

随着系统的上线,我们不出意外地获得了成功。市场上出现了⼀批忠实于我们的⽤⼾,使得系统 的访问量逐步上升,逐渐逼近了硬件资源的极限,同时团队也在此期间积累了对业务流程的⼀批经 验。⾯对当前的性能压⼒,我们需要未⾬绸缪去进⾏系统重构、架构挑战,以提升系统的承载能⼒。 但由于预算仍然很紧张,我们选择了将应⽤和数据分离的做法,可以最⼩代价的提升系统的承载能⼒.

如果业务进一步增长,用户量和数据量都水涨船高的时候,总有一天,一台主机就会难以应付,这个时候我们就需要引入更高的硬件资源.毕竟一台主机的硬件资源是有限的.

可以看到这个架构和之前的架构的区别就是将数据库服务器部署在了其他的主机上,应用服务器就会通过网络去访问数据库服务器. 

应用数据集群架构

应用服务器可能会吃很多的CPU和内存,如果把CPU和内存都吃完了,那么应用服务器就会顶不住了,那么我们需要引入更多的应用服务器来解决这个问题.

此时如果当访问量进一步增高的时候,这种一个应用服务器和一个存储服务器的架构已经满足不了需求的时候,就会引入更多的应用服务器节点.

这里的web服务器可以是多个,不止两个. 

可以发现当引入了更多应用服务器节点之后,我们的架构中出现了负载均衡器.这个负载均衡器的作用就像公司里面的领导一样,要负责管理,要负责把任务平均的分配给每个员工.

假设有1W的用户请求,如果只有一个应用服务器的时候,那么这1W个请求肯定都会落在哪一个应用服务器上的,但是如果有多个应用服务器之后,再加上负载均衡器的加入,负载均衡器会将这1W个请求尽可能平均的分配给每个应用服务器.

读写分离 / 主从分离架构

如上面所讨论,增加了应用服务器之后,确实可能承载更多的请求了,但是我们的存储服务器要承担的请求量还是那么多?

这个时候我们是不是应该考虑增加存储服务器的主机数量了.

 将存储服务器的职责进一步细分,存储服务器的主机之间变成读写分离的结构.

我们可以将写数据请求全部交给主库处理,但读请求分散到各个从库中。由于⼤部分的系统中,读写请求都是不成⽐例的,例如 100 次读 1 次写,所以只要将读请求由各个从库分担之后,数据库的压⼒就没有那么⼤了。

只用主数据库进行写,其他数据从数据库进行读,然后在主数据库和从数据库之间进行数据同步.主服务器一般只有一个,但是从服务器可以有多个.

引⼊缓存⸺冷热分离架构

到了这一步之后,我们发现业务中⼀些数据的读取频率远⼤于其他数据的读取频率。我们把这部分数据称为热点数据,与之相对应的是冷数据..对于我们需要频繁访问的热数据,数据库的响应还是比较慢的.

我们可以将冷热数据进行区分,将热数据放入缓存中,因为缓存的访问速度要比访问数据库要快很多的.

 我们这里的缓存服务器可以使用Redis,让Redis帮助数据库进行负重前行.

我们可以在缓存服务器这里存放一部分热点数据,因为这些热点数据都是会被频繁访问的数据,数据库服务器这里存储的还是全量的数据.

当我们需要进行读取数据的时候,会先在缓存服务器中读取,如果缓存服务器中有数据,则不在去数据库服务器中查询,要是缓存服务器中没有数据,才会去查询数据库服务器.这样的话,数据库服务器的压力就会进一步减小.

垂直分库

随着业务的数据量增⼤,⼤量的数据存储在同⼀个库中已经显得有些⼒不从⼼了,所以可以按照 业务,将数据分别存储。

这时就需要针对数据库进一步进行拆分,也就是分库分表

本来一个数据库服务器上就会有多个数据库,现在引入多个数据库服务器,每一个数据库服务器存储一个或者一部分数据.如果某个表特别大,可以针对这个表进行拆分.具体如果拆分,还需要根据具体的业务场景进行展开.

业务拆分-微服务

随着⼈员增加,业务发展,我们将业务分给不同的开发团队去维护,每个团队独⽴实现⾃⼰的微 服务,然后互相之间对数据的直接访问进⾏隔离,可以利⽤ Gateway、消息总线等技术,实现相互之 间的调⽤关联。甚⾄可以把⼀些类似⽤⼾管理、安全管理、数据采集等业务提成公共服务。

 按照功能,拆分为多组微服务,就有利于上述人员的组织分配了.

使用微服务,可以更方便的进行功能的复用,可以针对不同的服务进行不同的部署.不同服务之间通过网络进行交互.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/197781.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

求臻医学受邀参加第三届基因检测行业发展高峰论坛并斩获三项荣誉

2023年11月18日,备受瞩目的第三届基因检测行业发展高峰论坛暨年度评选活动颁奖典礼在广州圆满召开。作为基因检测领域的佼佼者,求臻医学应邀参加了此次高峰论坛并斩获了基因检测行业年度风云企业奖、基因检测行业最具投资价值奖、基因检测行业最佳产品奖…

NX二次开发UF_CAM_ask_doc_template_name 函数介绍

文章作者:里海 来源网站:里海NX二次开发3000例专栏 UF_CAM_ask_doc_template_name Defined in: uf_cam.h int UF_CAM_ask_doc_template_name(const char * * doc_template_filename ) overview 概述 This function provides the name of the file th…

二叉树题目:二叉树的最近公共祖先

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题:二叉树的最近公共祖先 出处:236. 二叉树的最近公共祖先 难度 5 级 题目描述 要求 给定一个二叉树&…

我买了个AI员工,凌晨5点喊我起床,搞了篇全网40万+的爆款

大家好我是二狗,是夕小瑶科技说编辑部的一名作者。 前天早上凌晨5点左右的时候,我被尿憋醒了,起来上了个厕所。 就在我准备躺下接着睡的时候,顺手看了一眼手机。 咦?屏幕上弹出了一条邮件📮推送,是我们编…

小鸟飞呀飞

欢迎来到程序小院 小鸟飞呀飞 玩法&#xff1a;鼠标控制小鸟飞翔的方向&#xff0c;点击鼠标左键上升&#xff0c;不要让小鸟掉落&#xff0c;从管道中经过&#xff0c;快去飞呀飞哦^^。开始游戏https://www.ormcc.com/play/gameStart/204 html <canvas width"288&quo…

红海营销时代,内容占位的出海品牌更有机会营销占位

#01 品牌出海&#xff1a;内容占位就是品牌营销占位 红海营销时代&#xff0c;内容信息充斥着用户周边。无论线上还是线下&#xff0c;生活工作、休闲娱乐等不同场景内&#xff0c;广告信息均无孔不入。对于用户来说&#xff0c;能记住的品牌或者商品往往寥寥无几。 占位营销…

水声功率放大器在声呐系统中的应用有哪些

水声功率放大器在声呐系统中扮演着重要的角色&#xff0c;其应用涵盖了声呐系统的多个方面。下面就让安泰电子来介绍水声功率放大器在声呐系统中的应用。 发射声波信号&#xff1a;声呐系统通过发射声波信号并接收其回波来探测和测量海洋中的目标物体。水声功率放大器用于放大发…

WhatsApp新营销全解:如何才能真正留住你的客户

WhatsApp营销这件事上&#xff0c;从获取线索、留存客户、成交转化到复购推荐的整个流程中&#xff0c;方方面面的因素影响着最终的转化效果。今天开始&#xff0c;我们会在公众号内新增WhatsApp新营销全解系列&#xff0c;结合前人踩过的坑和成功经验&#xff0c;来为大家说说…

2023第十七届中国品牌节 | 每日互动刘宇分享大模型创新应用AITA智选人群工具

11月18日-20日&#xff0c;2023第十七届中国品牌节在杭州市云栖小镇国际会展中心盛大举行。本次活动以“复苏与腾飞”为主题&#xff0c;来自政、商、产、学、媒等各界嘉宾6000余位济济一堂&#xff0c;共同见证民族品牌的崛起&#xff0c;携手奉献一场史无前例的“品牌人的亚运…

镭速,克服UDP传输缺点的百倍提速传输软件工具

在网络传输中&#xff0c;我们经常会面临这样的困难&#xff1a;文件太大&#xff0c;传输速度太慢&#xff0c;浪费时间和流量&#xff1b;文件太小&#xff0c;传输速度太快&#xff0c;容易出现丢包和乱序&#xff0c;损害数据的完整性和正确性。这些困难的根本在于传输层协…

投资黄金:如何选择正确的黄金品种增加收益?

黄金一直以来都是备受投资者青睐的避险资产&#xff0c;然而&#xff0c;在庞大的黄金市场中&#xff0c;选择适合自己的黄金品种成为影响收益的关键因素。黄金投资并不只有一种方式&#xff0c;而是有很多种不同的黄金品种可以选择。每种黄金品种都有其独特的特点和风险&#…

腾讯待办停止运营,怎么继续提醒事情呢?

由于业务方向调整&#xff0c;腾讯待办小程序宣布于2023年的12月20日全面停止运营并下架&#xff0c;这就表示在此之后&#xff0c;腾讯待办这款待办小程序就无法继续使用了。如果你之前在这款待办工具中记录待办事项、设置提醒时间&#xff0c;建议及时导出待办数据&#xff0…