Github标星5.3K,大型网站演变中的负载均衡场景

news/2024/5/20 8:48:32/文章来源:https://blog.csdn.net/m0_56604447/article/details/117920371

享学课堂特邀作者:老顾
转载请声明出处!

前言

我们小伙伴们是不是经常看到网上一些集群、高可用、高并发、负载均衡等关键词,有很多种方案、以及应用场景中都有相关的介绍。今天老顾就带着大家一起看一下,一整套大型网站会有哪些负载均衡方案场景。

创业阶段

创业初期很多资源的限制,一切以业务为核心,能够正常使用就可以了,因为流量不是很大,所以这个阶段的什么集群、高可用、负载均衡就没有了

这个阶段服务器的不可用,影响不是太大,因为在尝试阶段,都是种子用户进行尝试业务

小型阶段

业务得到市场认可,用户活跃基数慢慢变大,需要考虑****到系统的可用性和负载问题

到这个阶段一般会保证web应用服务的可用性和负载,做Web应用集群。这个利用nginx的负载均衡的功能。保证用户基本服务。这里就第一个负载均衡场景。

web服务的集群化,就会碰到用户session的问题,所以需要添加一台redis服务器做分布式会话。

有些系统的session会话方案,采用本地化方案,利用jwt+token的方式,他们会不需要redis服务器保存session会话。

也有用jwt 和redis会话服务器相结合的方案,这样可以解决jwt的缺点问题。这里老顾就不多讲了。

中型阶段

这个阶段是业务发展最快的阶段,业务的多变性,以及用户流量已经到了一定的规模,要考虑系统的可用性了,数据量也有一定的规模。这时是系统进入促步改造的时期

业务微服务化

为了保证业务的多变,我们需要把各自业务进行解耦,这边需要的技术Dubbo或Spring Cloud微服务框架。这两个框架都支持微服务集群部署,以及调用方的负载均衡。如下图的订单微服务会部署几个订单微服务,形成集群,web服务调用方会做负载均衡的调用。这边就涉及到了第二个负载均衡的场景,是利用微服务框架自身的功能

分布式缓存

活跃用户的增大,会对DB数据库的访问压力过大,这个时候会考虑增加缓存层来帮助DB减压。在进行分布式缓存进行规划时,会用到redis集群作为缓存。redis集群方案中利用哈希槽的方式,达到了缓存数据量的拆分,以及负载均衡。这个就是第****三个负载均衡场景

nginx集群

用户并发到了几千的时候,就要考虑到nginx的高可用,虽然nginx的性能比较高,但也经不起量大啊。利用LVS来实现nginx的高可用和负载均衡这个又是一个负载均衡场景

大型阶段

此阶段的业务已经趋于稳定,数据量也越有越大,用户活跃也很大;业务复杂度很高,已经业务流程多变,市场规模发展到全国,有多机房多区域的部署的需求。公司规模大了以后,网络安全就显得尤为重要。系统一定要保证稳定

分库分表

数据库单表如果超过300多万条记录时,就要考虑到分表;数据库的IO操作已经一直处于高负荷状态,就可以考虑把业务进行拆分到不同的DB中,以及数据库的主从设计实现读写分离,设计来降低DB负载和高可用。

分库分表中可以采用两种方案,一种代理层方案,如:MyCat框架;一种是客户端实现,如sharding-jdbc。这个又是一种在数据库层的负载均衡场景

消息中间件

业务的复杂度高,需要很好的拆分业务,更进一步的业务解耦,以及高并发下限流会用到消息中间件,如:RocketMQ,RabbitMQ。

还有分布式事务中,为了保证最终一致性,也会用到消息中间件。

消息中间件是天生的集群化,保证消息中间件的高可用以及负载均衡,有这个是消息队列层的负载均衡场景。

网关

在分布式架构下,为了进行统一的路由,鉴权,限流,监控等;这个时候就要上网关,现在网关框架为:Kong,Zuul,GateWay,Soul等,这些框架也是集群化的。部署到nginx层下面(kong可以直接替换nginx,因为就是在nginx基础上设计的)架设网关层。这个是网关层的负载均衡场景

跨机房

业务时全国市场,甚至全球市场的话,因为地区网络节点是按照地区架设的,所以要保证多地区能够快速访问我们的网站,这个时候就需要做多机房的设计。多机房的设计就是利用了DNS,这个就是DNS层的负载均衡

到达这一步的话,一般在同一机房下,会部署几套系统集群方案,这个时候一般在机房里面会加入硬件负载均衡器,如:F5,A10;硬件负载均衡器是蛮贵的,不过公司已经发展到这个地步了,应该有钱了。

涉及到跨机房,系统设计的时候就会非常复杂,尤其要考虑到机房间数据如何共享,同步?这些点老顾在以后的文章中会介绍,跨机房要解决什么问题?

总结

有个共同点就是大型系统不允许有单点故障,就需要集群化,一旦有集群化的地方,肯定会有负载均衡的场景应用。

更多:Java进阶核心知识集

包含:JVM,JAVA集合,网络,JAVA多线程并发,JAVA基础,Spring原理,微服务,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存等等

image

点击免费领取我的学习笔记:学习视频+大厂面试真题+微服务+MySQL+Java+Redis+算法+网络+Linux+Spring全家桶+JVM+学习笔记图

高效学习视频

法+网络+Linux+Spring全家桶+JVM+学习笔记图](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)**

高效学习视频

image

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

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

相关文章

推荐一个SpringBoot + Vue + MyBatis 音乐网站项目

项目说明 本音乐网站的客户端和管理端使用 VUE 框架来实现,服务端使用 Spring Boot MyBatis 来实现,数据库使用了 MySQL。 项目功能 音乐播放 用户登录注册 用户信息编辑、头像修改 歌曲、歌单搜索 歌单打分 歌单、歌曲评论 歌单列表、歌手列表…

阿里P7好友说,要想成为Java大佬,就多逛逛国外的这几个技术网站

这是我为高级Java开发人员准备的网站的集合。 这些网站提供新闻,常见问题或访谈问题的答案,精彩的讲座等。质量是好的网站的关键因素。我认为它们都具有最高的质量。 在下文中,我还将分享如何使用这些网站进行学习或娱乐。您可能认为某些站…

四、wordpress主题美化 网站logo制作

1、查找一个合适的字体 参考网站&#xff1a;字体天下 2、下载字体生成工具 fontmin 3、生成logo 打开软件 fontmin &#xff0c;拖入下载的字体&#xff0c;生成logo 4、引入字体 编辑主题下的文件 header.php&#xff0c;引入字体文件xxx.css <link rel"st…

本地tomcat可以运行web项目,但是发布到服务器上面不能访问web网站404错误

问题描述&#xff1a; 本地tomcat运行起来可以在本地浏览器访问web页面&#xff0c;但是打包到服务器发现tomcat虽然加载了这个文件&#xff0c;但是并不能打开网页访问。出现404错误。 分析&#xff1a; 404错误一般是找不到目标页面&#xff0c;服务器没有响应&#xff0c…

在腾讯云部署一个自己的网站 问题总结

步骤一览 首先得有一个html文件名叫index.html&#xff0c;必须叫这个&#xff0c;作为我们现成的网页&#xff0c;网页可以参考我之前的博客【传送门】 然后得有一台云服务器&#xff0c;这里选择腾讯云作为&#xff0c;因为学生有优惠&#xff1a;【优惠链接传送门】 购买…

浏览器访问网站的过程

假设你用一个全新的浏览器&#xff08;第一次启动的那种&#xff09;&#xff0c;访问百度&#xff08;http://www.baidu.com/&#xff09;&#xff0c;在你敲入网址并按下回车之后&#xff0c;将会发生以下神奇的事情&#xff1a; 浏览器先尝试从Host文件中获取http://www.bai…

django admin建站

------------setting.py配置--------------------------- TIME_ZONE Asia/Shanghai ------时区 # Language code for this installation. All choices can be found here: # http://www.i18nguy.com/unicode/language-identifiers.html LANGUAGE_CODE utf8 --…

LaTex数学公式语法网站

LaTex数学公式语法网站 https://latex.codecogs.com/eqneditor/editor.php 比如想要查找小于等于号&#xff0c;就直接选中这个符号&#xff0c;然后填充框里面就会有相应的语法&#xff0c;把这个语法复制到md文件里面的数学公式里面去就可以了。这里提示一下&#xff0c;md语…

md代码渲染网站

这是一个md代码渲染网站&#xff0c;很多微信公众号上分享的代码渲染的就是这个网站来的&#xff0c;如下图。 https://carbon.now.sh/

为什么网站要禁用ip登录_为什么要使用 DDoS 高防 IP

为什么要使用 DDoS 高防 IP一、未使用高防之前&#xff1a;ECS 能防护的流量一般在 500M 左右&#xff0c;一旦攻击流量超过这个值&#xff0c;则ECS 被攻击的 IP 地址将进入黑洞&#xff0c;最长 24 小时无法访问&#xff0c;所以这种攻击会对企业的利益造成很大损失1、DDOS 防…

怎么给自己的网站弄ip地址_广东怎么建立自己的网站_百度排名-无忧云快推

广东无忧云网络科技有限公司为您详细解读XzMLCf广东怎么建立自己的网站的相关知识与详情&#xff0c; seo优化工做要分步推进&#xff0c;针对优化内容停止细分类&#xff0c;该推广哪方面的必需心中有数&#xff0c;做到投入和产出成比&#xff0c;才气让顾客合意。&…

魔众题库系统 v6.2.0 页面SEO优化,系统升级调整

魔众题库系统采用PHPMysql架构,是一款对SEO非常友好、功能全面、安全稳定、支持多终端展示并且使用起来极其简单的在线题库管理系统。 魔众题库系统发布v6.2.0版本&#xff0c;新功能和Bug修复累计15项&#xff0c;页面SEO优化&#xff0c;系统升级调整。 2021年12月07日魔众题…

魔众博客系统 v4.2.0 SEO优化 性能升级

魔众博客系统采用PHPMysql架构,是一款对SEO非常友好、功能全面、安全稳定、支持多终端展示并且使用起来极其简单的博客管理系统。 魔众博客系统发布v4.2.0版本&#xff0c;新功能和Bug修复累计11项&#xff0c;SEO优化 性能升级。 2021年12月07日魔众博客系统发布v4.2.0版本&a…

魔众商城系统 v5.2.0 页面SEO优化,商品详情页升级

专业倾情打造最易用的在线B2C电商解决方案 魔众商城系统发布v5.2.0版本&#xff0c;新功能和Bug修复累计11项&#xff0c;页面SEO优化&#xff0c;商品详情页升级。 2021年12月07日魔众商城系统发布v5.2.0版本&#xff0c;增加了以下11个特性&#xff1a; [新功能] 图片规格预…

魔众一物一码溯源防伪系统 v1.1.0 页面SEO优化,系统升级调整

魔众一物一码溯源防伪系统 魔众一物一码溯源防伪系统发布v1.1.0版本&#xff0c;新功能和Bug修复累计8项&#xff0c;页面SEO优化&#xff0c;系统升级调整。 2021年12月08日魔众一物一码溯源防伪系统发布v1.1.0版本&#xff0c;增加了以下8个特性&#xff1a; [系统优化] 后…

魔众抽奖系统 v3.2.0 页面SEO优化,系统升级调整

倾情发布&#xff0c;打造易用的抽奖系统 魔众抽奖系统发布v3.2.0版本&#xff0c;新功能和Bug修复累计10项&#xff0c;页面SEO优化&#xff0c;系统升级调整。 2021年12月08日魔众抽奖系统发布v3.2.0版本&#xff0c;增加了以下10个特性&#xff1a; [新功能] 升级页面登录…

魔众SCRM私域运营平台 v3.1.0 页面SEO优化,系统升级调整

一站式私域流量运营平台 魔众SCRM私域运营平台发布v3.1.0版本&#xff0c;新功能和Bug修复累计11项&#xff0c;页面SEO优化&#xff0c;系统升级调整。 2021年12月08日魔众SCRM私域运营平台发布v3.1.0版本&#xff0c;增加了以下11个特性&#xff1a; [新功能] 升级页面登录…

魔众网盘系统 v1.1.0 页面SEO优化,系统升级调整

魔众云盘系统 魔众网盘系统发布v1.1.0版本&#xff0c;新功能和Bug修复累计7项&#xff0c;页面SEO优化&#xff0c;系统升级调整。 2021年12月08日魔众网盘系统发布v1.1.0版本&#xff0c;增加了以下7个特性&#xff1a; [系统优化] 后台管理框架Logo显示 [系统优化] 清理L…

魔众相册系统 v1.1.0 页面SEO优化,系统升级调整

轻量级的相册系统 魔众相册系统发布v1.1.0版本&#xff0c;新功能和Bug修复累计13项&#xff0c;页面SEO优化&#xff0c;系统升级调整。 2021年12月08日魔众相册系统发布v1.1.0版本&#xff0c;增加了以下13个特性&#xff1a; [新功能] 升级页面登录内容优化 [系统优化] U…