小白入门:大型网站技术架构负载均衡技术介绍及学习资源推荐

news/2024/5/10 2:26:16/文章来源:https://xuliugen.blog.csdn.net/article/details/78678772

十年间,负载均衡的前沿技术层出不穷,令用户眼花缭乱。经常在技术网站、文档中出现的“四层负载均衡”、“七层负载均衡”字眼有什么含义?有什么区别?对客户网络有哪些不同的优化?

在大型的网站服务器集群中,负载均衡技术是必不可少的。使用负载均衡的技术架构,能够有效避免后端服务出现单点故障,提升服务的稳定性。

一、负载均衡简介

负载均衡,英文名称为LoadBalance,其意思就是将负载(工作任务)进行平衡,分摊到多个操作单元上进行执行(例如Web服务器、FTP服务器等),实现多个服务器共同完成工作任务的目标。负载均衡建立在现有网络结构之上,它提升了服务器的性能、提高了带宽利用率,增强了网络的灵活性和可靠性。经过十年的发展,负载均衡已经成为网络应用的重要设备,甚至成为大型网络应用的核心设备,与基础路由、交换设备市场并驾齐驱。

负载均衡构建在现有网络结构之上,可以方便有效地扩展服务器资源。通常将大量的并发请求分散至多个节点上分别处理,减少客户端的等待时间;也可以将单个重负载的运算分担到多个节点上做并行处理,最后进行汇总。

二、负载均衡的作用

这里写图片描述

2.1、请求分发

请求分发即按照一定的算法将大量的并发请求分散至多个节点的服务器上处理,减轻单台服务器的压力,减少请求响应时间以及提升系统并发量。

2.2、故障转移

通过心跳机制检测判断各个服务器的状态,能够自动剔除不可用的服务器并将请求发送可用服务器,减少服务出现不可用的概率,提高可用性。

2.3、总的来说

网络负载均衡允许使用相同的群集 IP 地址集指定群集中所有计算机的地址,并且它还为每个主机保留一组唯一专用的 IP 地址。对于负载平衡的应用程序,当主机出现故障或者脱机时,会自动在仍然运行的计算机之间重新分发负载。当计算机意外出现故障或者脱机时,将断开与出现故障或脱机的服务器之间的活动连接。任何一种情况下,都可以在准备好时将脱机计算机明确地重新加入群集,并重新共享群集负载,以便使群集中的其他计算机处理更少的流量。

三、负载均衡的分类

这里写图片描述

平时我们常用的有四层负载均衡和七层负载均衡,四层的负载均衡是基于IP和端口实现的,七层的负载均衡是在四层的基础上,基于URL等信息实现。

3.1、常用于四层负载均衡的软件(还有F5、NetScaler等硬件负载均衡器)有:

LVS:重量级软件,本身不支持正则表达式,部署起来比较麻烦,但是性能高,应用范围广,一般的大型互联网公司都有用到。

HAProxy:轻量级软件,支持的负载均衡策略非常多,较灵活。

Nginx:轻量级软件,支持的协议少(HTTP、HTTPS和Email协议),对于Session支持不友好。

3.2、常用于七层负载均衡的软件有:

HAProxy:全面支持七层代理,灵活性高,支持Session会话保持。

Nginx:可以针对HTTP应用进行分流,正则规则灵活,支持高并发,部署简单。

Apache:性能较差,一般不考虑。

MySQL Proxy:官方的数据库中间件,可以实现读写分离,负载均衡等功能,但是对分表分库支持不完善(可选替代品:Atlas,Cobar,TDDL)。

四、技术原理

这里写图片描述

四层负载均衡类似路由器的转发,通过修改报文中的目标地址和端口,然后直接转发给该服务器,只需要一个TCP连接即可。七层负载均衡通过类似于代理的机制进行转发,负载均衡服务器会分别与客户端和后端的服务器都建立TCP连接。

五、应用场景

四层负载均衡一般用于TCP应用中,比如基于C/S架构开发的ERP系统。七层负载均衡大多应用于使用HTTP/HTTPS协议搭建的网站和内部平台系统。

从市场份额来看,七层负载均衡设备还是以国外厂商占据主导地位,国内能够进行自主研发的只有太一星晨等少数的几家厂商。而且,国内负载均衡厂商应用场景以链路负载为主,难以进入占据负载均衡市场70%份额、主导负载均衡技术发展的服务器负载均衡市场,更缺乏在大型数据中心及大型门户网站使用案例。
六、福利时刻之如何学习?
对于很多人来说,对于分布式集群这些根本无从学起,如果你已经对基础的Java基础掌握住了,想入门分布式的话,特推荐几本书籍供大家参考,这些书籍比简单的几篇文章或几段视频更能系统的学习理解,总之很不错!

《大型网站技术架构:核心原理与案例分析 李智慧》

这里写图片描述

《大型分布式网站架构设计与实践 陈康贤》

这里写图片描述

《大型分布式网站架构设计与实践 陈康贤》

这里写图片描述

以上三本书籍本人都看过,感觉很不错,特推荐给大家,一键保存请看下边(仅供学习交流,禁止用于商业用途,如需要请购买正版,请务必在24小时之内删除!):

这里写图片描述

链接地址:https://pan.baidu.com/s/1mhJiPmS 密码:39po,链接失效请在文章底部留言邮箱或私信邮箱地址,会在第一时间回复!

在这里插入图片描述

【视频福利】2T免费学习视频,搜索或扫描上述二维码关注微信公众号:Java后端技术(ID: JavaITWork)回复:1024,即可免费获取!内含SSM、Spring全家桶、微服务、MySQL、MyCat、集群、分布式、中间件、Linux、网络、多线程,Jenkins、Nexus、Docker、ELK等等免费学习视频,持续更新!

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

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

相关文章

Flex SEO(Search engine optimization),让浏览器找到你的flash站点

Search engine optimistation 也就是让你的站点信息能被“搜索引擎”(Google,baidu…)搜索到。SEO总分两大类,white hats和black hats,简单讲black hats是一作弊的方法, 例如在meta标签中加一堆重复的关键词&#xff0…

unsharp mark 算法_Google SEO-BERT算法更新

一. BERT介绍BERT的全称为:Bidirectional Encoder Representations from Transformers,基于神经网络的自然语言处理预训练的技术。谷歌说BERT就像是一个超大的同义词系统。2019 年 10 月 25 日,Google 宣布 BERT 更新上线,正式成为…

有些网站打开一半空白_如何发一条空白的朋友圈

所谓空白的朋友圈就是一条看起来没有文字的朋友圈,因为发朋友圈的时候不输入文字是没法发送的。不可见字符是有文字内容的,只是人的肉眼看不见,所以相当于空白。不可见字符不可见字符就是零宽空格,见维基百科解释https://zh.wikip…

另类网站版式设计欣赏

另类网站版式设计欣赏 当你在创建一个新网站的时候,希望这些网站富有个性的版式设计能给你带来灵感。 Popmatik 这是Rob Leach设计制作的一个个人网站,这个网站用了一个瓶子的底图,网站的内容都在瓶子的这个包装纸上。 Digitalmash.com Digi…

大型网站架构系列:负载均衡详解(3)

大型网站架构系列:负载均衡详解(3) 原文:大型网站架构系列:负载均衡详解(3)本次分享大纲 软件负载均衡概述Ngnix负载均衡Lvs负载均衡Haproxy负载均衡本次分享总结一、软件负载均衡概述 硬件负载均衡性能优越…

基于Dockfile构建JAVA环境网站镜像

查看本地目录 [rootdocker tomcat]# ls apache-tomcat-8.5.16.tar.gz Dockerfile jdk-8u91-linux-x64.tar.gz server.xml [rootdocker tomcat]# vim Dockerfile FROM centos:7 MAINTAINER zhaochengcheng ADD jdk-8u91-linux-x64.tar.gz /usr/local ENV JAVA_HOME /usr/loca…

linux卸载服务器软件,linux卸载软件命令是什么_网站服务器运行维护,linux

win10系统提示需要提供管理员权限才能更改这些属性怎么办_网站服务器运行维护win10系统提示需要提供管理员权限才能更改这些属性的解决方法是:1、首先打开系统设置,进入【账户】选项;2、然后切换到【家庭和其他用户】,点击【更改账…

[目录] ASP.Net Core 搭建微服务网站

本项目采用ASP.Net Core微服务技术,搭建博客和Saas平台。 全文将围绕(1)设计模式 (2)敏捷开发 目的: 结构足够合理,代码足够优美,扩展性、可读性、易维护性做到最优。 以下目录…

网站建设流程-面向公司

1. 网站简明开发流程 简明开发流程是指假设网站开发的每个步骤都可以一次设计开发成功时的网站开发流程。   流程图如下: 2. 网站操作开发流程 网站操作开发流程是指假设网站开发的每个大的步骤都有可能产生未知问题时的网站开发流程。整个开发过程一般会有…

《大型网站技术架构》读书笔记二:大型网站架构模式

此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。 一、分层 最常见的架构模式,将系统在横向维度上切分成几个部分,每个部分单一职责。网站一般分为三个层次:应用层、服务层和数据层&#xff0…

桌面风格的Web网站

天天记账网:http://www.365jizhang.com 超级牛牛无敌在线盯盘专家:http://www.googlook.net/stock/Stock.html

垂直网站的法宝——行业评测

垂直网站的法宝——行业评测 互联网垂直类网站在某个行业做久了对所从事的行业会很熟悉,继而从原来的纯粹提供资讯转变为更深入的行业信息,行业评测就是一个非常好的深入为网民服务的工具。 以下给大家举几个例子,给大家说说: 1、…

美国百年老报关门将转型新闻网站

两个月来,《西雅图邮讯报》员工最担心的事还是发生了。周一,美国出版巨头赫斯特集团宣布,该报将在17日发行最后一期报纸;然后转型为新闻网站。"今晚我们将最后一次出版报纸,"《西雅图邮讯报》总编兼发行人罗…

php 网站 seo,PHP网站怎么做SEO优化?

现在seo基本上已经是在广泛的应用了,php程序的企业网站也越来越多,其实我之前一直喜欢用asp的,但是发现很多国外的空间现在不支持asp,所以也就研究了一下php,网站建好,当然也想要有一个好的网站排名&#x…

推荐:学习人工智能(AI)的一些网站及教程资源

Python 深度学习库 Keras 发布官方中文文档https://keras.io/zh/这里有你需要了解的一切 今年1月,Keras作者、谷歌AI研究员Franois Chollet在推特上发出召唤:讲中文的Keras用户们,是否有人愿意帮忙一起搞个Keras文档的中文版? 一个…

2020十大最受欢迎的编程挑战网站【2020最新更新】

解决编码难题是提高学习编码技能的一种好方法。解决不同类型的挑战和难题可以帮助您成为更好的问题解决者,学习编程语言的复杂性,准备工作面试,学习新算法等等。 以下是一些受欢迎的编码挑战网站的列表,并简要说明了每个网站所提…

一个超火的网站“Omegle”

一个超火的网站“Omegle” 在美国有一个小网站突然暴红。这个网站叫「Omegle」(http://omegle.com/),页面非常简单,实际就两个页面。它的首页就有一个很大的按钮,上面写着“开始聊天”按下去以后,它立刻将你和目前在线上的某位陌生…

PyThon模块与项目热度网站

网站链接:点击这里

NVIDIA深度学习文档教程网站

网址链接:https://docs.nvidia.com/tlt/tlt-user-guide/text/overview.html

推荐一个深度学习数据集网站

推荐理由,国外被墙导致速度下载非常慢,使用迅雷PC端下载的方式可提升很高的速度:https://hyper.ai/datasets