• Go实现随机、轮训、权重、哈希负载均衡


    1 什么是负载均衡

    负载均衡(Load Balance,简称 LB)是高并发、高可用系统必不可少的关键组件,目标是 尽力将网络流量平均分发到多个服务器上,以提高系统整体的响应速度和可用性

    负载均衡的主要作用:

    高并发:负载均衡通过算法调整负载,尽力均匀的分配应用集群中各节点的工作量,以此提高应用集群的并发处理能力(吞吐量)。
    伸缩性:添加或减少服务器数量,然后由负载均衡进行分发控制。这使得应用集群具备伸缩性。
    高可用:负载均衡器可以监控候选服务器,当服务器不可用时,自动跳过,将请求分发给可用的服务器。这使得应用集群具备高可用的特性。
    安全防护:有些负载均衡软件或硬件提供了安全性功能,如:黑白名单处理、防火墙,防 DDos 攻击等。
    
    • 1
    • 2
    • 3
    • 4
    2 软件负载均衡

    软件负载均衡的 主流产品 有:Nginx、HAProxy、LVS

    • LVS 可以作为四层负载均衡器。其负载均衡的性能要优于 Nginx。
    • HAProxy 可以作为 HTTP 和 TCP 负载均衡器。
    • Nginx、HAProxy 可以作为四层或七层负载均衡器。
    3 Go实现负载均衡

    完整代码: https://github.com/jeffcail/load-balance 觉得有帮助可以点个小星星star

    部分代码如下:

    3.1 随机

    添加多个服务节点

  • 相关阅读:
    跟着 GPT-4 从0到1学习 Golang 并发机制(一)
    数据结构——二叉树【堆】
    基于STM32智能环境系统
    Unity坐标转换
    Axios使用笔记
    金仓数据库 KingbaseGIS 使用手册(6.15. 仿射变换函数)
    Redis中间件学习笔记(二)
    最常用模式
    debian终端快捷键设置
    人声与背景音乐源分离
  • 原文地址:https://blog.csdn.net/weixin_43713498/article/details/127887778