从网络到分布式-负载均衡

https://www.toutiao.com/i6939329630021124620/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1615748619&app=news_article&utm_source=weixin&utm_medium=toutiao_ios&use_new_style=1&req_id=202103150303390102120752002E18CAC9&share_token=6AF5EC78-F17F-42C0-BEE1-85FD3B69299B&group_id=6939329630021124620

出处
:https://www.cnblogs.com/ice-image/p/14524056.html

网络并发负载均衡

OSI 七层参考模型

分层模型,每一层实现各自的功能和协议,并完成与相邻层的接口通讯。OSI 的服务定义详细说明了各层所提供的服务,某一层的服务就是该层及其下各层的一种能力,通过接口提供给更高一层。各层所提供的服务与这些服务是怎么实现的无关。

  • 应用层:为各种应用程序提供服务
  • 表示层:数据格式转化、数据加密
  • 会话层:建立、管理和维护会话
  • 传输层:定义了一些传输数据的协议和端口号
  • 网络层:IP 选址及路由选择
  • 数据链路层:mac 地址的封装与解码。
  • 物理层:定义物理设备标准,如网线接口类型、光纤的接口类型、各种传输介质的传输速率。主要用于传输比特流。

TCP/IP 五层模型

负载均衡

通常是指将请求或者是数据,均匀的分摊到多个操作单元上执行。属于分而治之的思想。

目的是通过调度集群,达到最佳化资源使用,最大化吞吐率,最小化响应时间,避免单点过载的问题

负载均衡算法

  • 静态

    • RR:轮询
    • WRR:权重轮询
    • DH
    • SH
  • 动态
    • LC:最小连接数法
    • WLC:加权最小连接
    • SED:最短期望延迟
    • NQ:never queue
    • LBLC:基于本地的最小连接
    • 响应速度均衡
    • 处理能力均衡

四层负载均衡

基于传输层的负载均衡,代表协议为 TCP/UDP,除了包含 IP 之外,还区分了端口号,主要是通过基于 IP + 端口号进行请求的转发。

四层负载均衡服务器 LVS

  1. NAT:地址转换
  2. DR:直接路由
  3. TUN:隧道技术

NAT 地址转换

原理:IP地址改写

DR 直接路由

原理:局域网改写 mac 地址

TUN 隧道技术

原理:IP封装、跨网段

keepalived

高可用,用于检测各个节点的状态,处理单点故障。

若单点 LVS 挂掉,该如何处理,思路:多点,形成集群(分布式)

  • 主备:只有主向外提供服务,备机用于在主机发生故障的时候,提供服务。
  • 主主:同时向外提供服务
  • 主从:两者相互配合完成工作

keepalived

  1. 监控自己服务
  2. Master通告自己还活着,Backup监听Master状态,Master挂了,一堆Backup推举出一个新的Master
  3. 配置:VIP、添加ipvs、keepalived是有配置文件的
  4. 对后端的Server做监控检查
  5. keepalived是一个通用的工作,主要作为HA实现:
    Nginx,可以作为公司的负载均衡来使用,Nginx成为了单点故障,也可以用keepalived来解决,只要涉及到一变多的情况,基本都可以使用keepalived来解决。

七层负载均衡

基于应用层的负载均衡,代表协议由 HTTP、DNS 等,可以根据请求的 URL 等进行负载,更加灵活。基于反向代理的负载均衡的 Nginx 就是其代表之一。

普通的四层负载均衡软件,其实现的功能只是对请求数据包的转发、传递,从负载均衡下的节点服务器来看,接收到的请求还是来自访问负载均衡器的客户端的真实用户,而基于反向代理的负载均衡是,反向代理服务器在接收访问用户请求后,会代理用户重新发起请求代理下的节点服务器,最后把数据返回给客户端用户。在节点服务器看来,访问的节点服务器的客户端用户就是反向代理服务器,而非真实的网站访问用户。

作者:ice_image

出处
:https://www.cnblogs.com/ice-image/p/14524056.html

从网络到分布式-负载均衡相关推荐

  1. 浅析nginx分布式负载均衡

    在当前大数据时代,数据尤为重要,但是在拥有大量数据的同时也给服务器带来了巨大的挑战,数据量大而服务器承载不了最终就会导致服务器宕机,以至于导致整个系统崩溃.那么怎么解决这一难题呢,这时候就出现了负载均 ...

  2. 什么是负载均衡?分布式负载均衡又是什么?

    本文原出处: 微信公众号-蓝鲸,已由本文作者于洋授权转载,未经同意请勿使用. 一. 什么是负载均衡? 一台服务器的处理能力,主要受限于服务器自身的可扩展硬件能力.所以,在需要处理大量用户请求的时候,通 ...

  3. 集群,分布式,负载均衡,负载均衡算法

    集群 集群的概念 计算机集群通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中的单个计算机通常称为节点,通常通过局域网连接, ...

  4. sdn网络搭建以及负载均衡

                                              SDN网络搭建 1.准备工作 1)虚拟机vmware(注意版本,高版本的系统克隆之后,在低版本上不兼容) 2)Ubu ...

  5. 海康NVR网络容错、负载均衡、多址设定的区别是什么?

    [网络容错] 网络容错是指在网络中,当一个网络节点出现故障时,其他节点可以协助完成这个节点的工作,从而保证网络的可用性.这种功能有助于保证网络的正常运行,在网络故障的情况下,它可以替代因故障而不能正常 ...

  6. 如何通过ETCD实现EasyDSS分布式负载均衡?ETCD部署方案

    EasyDSS的部分项目当中,需要频繁对视频做合成处理,但是视频处理非常耗费CPU,使用单一服务器会使CPU占用率一直处于高负载的状态,因此我们要对这种情况进行优化. 起初计划采用的nginx模式部署 ...

  7. DDD+分布式+负载均衡+服务治理已撸!微服务架构不就这点事?

    孙玄,前58集团技术委员会主席,前转转二手交易平台首席架构师.今天想跟你聊聊企业里那些年薪百万的架构师,他们的架构设计思维是如何升级的. 话不多说,咱们直接来聊点儿干的! 01.百万年薪的核心竞争力 ...

  8. 网络爬虫:采用“负载均衡”策略来优化网络爬虫

    前言: 这里说的负载均衡并非大家熟悉的网络中的负载均衡. 只是这里我使用了和负载均衡同样的一种思维来优化程序罢了,其实就是压力分摊. 问题描述: 对于上一篇<分离生产者和消费者来优化爬虫程序&g ...

  9. 一篇读懂分布式架构下的负载均衡技术:分类、原理、算法、常见方案等

    1.引言 关于"负载均衡"的解释,百度词条里:负载均衡,英文叫Load Balance,意思就是将请求或者数据分摊到多个操作单元上进行执行,共同完成工作任务. 负载均衡(Load ...

最新文章

  1. GPU 加速下的图像视觉
  2. 485不用双绞线可以吗_加装迎宾踏板可以吗?检车时用不用拆啊?
  3. 剑指Offer——斐波那契数列
  4. 关于MySQL的慢日志分析工具
  5. php 整数转换为32 位,PHP哈希函数返回一个整数(32位int)(PHP hashing function that returns an integer (32bit int))...
  6. centos 杀死进程命令kill
  7. linux rsa登录改密码登录_linux服务器secureCRT RSA登录配置
  8. 机器学习系列-强填EM算法在理论与工程之间的鸿沟(下)
  9. 美团的DBProxy实践
  10. c语言程序设计主编张玉生教材答案,清华大学出版社-图书详情-《Visual Basic程序设计实验指导》...
  11. RabbitMq(十一) 死信交换机DLX介绍及使用
  12. 推荐]招商就象谈恋爱
  13. python自动登录qq空间_python 利用splinter组件,自动登录QQ空间
  14. Centos/Linux桌面偏移
  15. 【免费毕设】成绩查询系统(系统+论文+答辩PPT)
  16. Angularjs1培训
  17. [Unity] Unity3D研究院编辑器之自定义默认资源的Inspector面板
  18. 0006 -求三个数的平均数
  19. 非单射一致性和单射一致性的概念辨析
  20. No transaction aspect -managed TransactionStatus in scope 事务回滚报错

热门文章

  1. cpu线程_CPU核数和线程数有什么用?什么意思?CPU核数和线程的关系与区别
  2. python traceback_深入学习Python列表(第一部分)
  3. 文字组合生成器_万字长文神器,原来只是固定数据库排列组合而成
  4. python构造http请求_Python实现简单的HTTP请求发送详解
  5. mysql查询结果插原表_新建表需要原表的数据,mysql 如何把查询到的结果插入到新表中...
  6. usb接口供电不足_USB不被电脑识别,按F8有用吗?这篇文章告诉你
  7. 计算机中文件访问时间是什么情况,【反计算机取证必看】Windows系统中文件时间属性的变化及影响因素.pdf...
  8. python笔记之matplotlib.pyplot曲线平滑自定义函数:smooth_curv()
  9. game module 停止运行_详解流量复制解决方案--NGINX的ngx_http_mirror_module模块实现
  10. 我和计算机比本领教案反思,《比本领》教学设计及反思