热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从网络到分布式负载均衡

网络并发负载均衡OSI七层参考模型分层模型,每一层实现各自的功能和协议,并完成与相邻层的接口通讯。OSI的服务定义详细说明了各层所提供的服务,某一层的服务就是该层及其下各层的一种能

网络并发负载均衡

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 就是其代表之一。

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


推荐阅读
  • 这是一份详细 & 清晰的计算机网络基础 学习指南
    前言计算机网络基础该是程序猿需掌握的知识,但往往会被忽略今天,我将献上一份详细&清晰的计算机网络基础学习指南,涵盖TCPUDP协议、Http协议、Socket等,希望你们会喜欢。目 ... [详细]
  • 一、域名解析记录说明记录类型A:用来指定域名的IPv4地址(如:8.8.8.8),如果需要将域名指向一个IP ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
  • crossorigin注解添加了解决不了跨域问题_CORS与@CrossOrigin详解
    1、跨域的基本概念a、跨域的解释要了解跨域,首先需要知晓浏览器的同源策略,简单的说就是两个请求协议、端口、主机都相同,则两个请求具有相同的 ... [详细]
  • Linux负载均衡LVS(IPVS)
    一、LVS简介LVS是LinuxVirtualServer的简称,也就是Linux虚拟服务器,是一个由章文嵩博士发起的自由软件项目,现在已经是Linux ... [详细]
  • mysql oneproxy稳定吗_Mysql 中间件 oneProxy总结
    建议使用之前把官方的文档全部通读一遍这里提供一个我的网盘地址oneproxy百度网盘0.先对oneproxy有个大概的了解,知道他所处的位置1.MySQL服务器创建t ... [详细]
  • JS加密解密
    leta=汪政..222RRRp767868^*%^*%344h哈哈;letb=udp.d(ud(a));//需要加密的内容letc=udp. ... [详细]
  • 服务器系统控制台怎么打开文件,云服务器控制台怎么打开文件
    云服务器控制台怎么打开文件内容精选换一换远程桌面协议(RemoteDesktopProtocol,RDP),是微软提供的多通道的远程登录协议。本节为您介 ... [详细]
  • 如何设计一个秒杀系统(各方面都写的很到位)
    1.Overview1.1并发读写秒杀要解决的主要问题是:并发读与并发写。并发读的优化理念是尽量减少用户到服务端来读数据,或者让他 ... [详细]
  • 简介时间同步是指以中心控制系统的标准时钟作为基准使各分布系统和终设备的时钟与中心控制系统时钟进行同步的过程。随着5G和工业5.0的到来,网络终端设备和网络业务的飞速增 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 计算机网络计算机网络分层结构
    为了解决计算机网络复杂的问题,提出了计算机网络分层结构。计算机网络分层结构主要有OSI7层参考模型,TCPIP4层参考模型两种。为什么要分层不同产商 ... [详细]
author-avatar
Q457423356
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有