GitHub 将开源内部负载均衡软件

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介:

GitHub负载均衡系统最初是为了处理Git的数十亿日常连接而开发的。

GitHub将发布开源版的GitHub负载均衡软件(GLB),这是内部开发的负载均衡系统。

开发GLB的初衷是满足GitHub的这一要求:每天处理数十亿的HTTP连接、Git连接和SSH连接。而如今,这家公司将通过开源来发布GLB的组件,到时会透露设计方面的细节。

GitHub的高级基础设施工程师乔·威廉斯(Joe Williams)和GitHub的基础设施工程经理西奥·朱利恩(Theo Julienne)在一篇共同撰写的公告中说:“在过去,我们的负载均衡层一向是比较复杂的组件之一。传统上,我们纵向扩展这个部分,运行一小批运行haproxy的超大型机器,并使用非常特定的硬件配置,以便实现专门的10G链路故障切换机制。”

但是这个负载均衡平台遇到瓶颈后,该公司开始着手开发自己的解决方案。这个新平台要满足某些目标,包括横向扩展、高可用性、支持连接清空(connection draining),并且能应对分布式拒绝服务(DDoS)攻击。“为了实现这些目标,我们需要重新考虑IP地址与主机之间的关系、我们的负载均衡层包括的各个层,以及连接是如何路由、控制和终结的。”

GitHub在设计负载均衡平台时,为流量引导器(traffic director)这层竭力改进常见模式。该公司最后选用了一种支持多个查询的聚集哈希(rendezvous hashing)。每个代理主机存储起来,并被分配一个状态,然后处理连接清空。固定大小的转发表生成后,使用聚集哈希的排序组件,每一行都填满了代理服务器的地址。表和代理主机状态被发送到引导器服务器,并保持同步。

TCP数据包一发送到引导器,源端IP就经过哈希处理,生成指向转发表的一致性索引。数据包在注定发送到代理服务器内部IP的另一个IP数据包里面加以封装,并通过网络发送出去。代理服务器收到经过封装的数据包后,拆开数据包,在本地处理原始数据包。出站数据包使用服务器直接返回(Direct Server Return)模式,那样发送到客户端的数据包就直接发送到客户端、绕过引导器这一层。

这两位工程师说:“我们着手设计一种新的引导器层,它具有无状态性,让引导器和代理节点都可以从容地退出轮转,在任何可能的情况下,对用户没有干扰。一些用户生活在互联网连接不尽如人意的国家,所以合理大小的代码库的长时间运行副本不会在合理时间的计划维护期间出现故障,对我们来说很重要。”

文章转载自 开源中国社区 [http://www.oschina.net]

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
30天前
|
人工智能 安全 文件存储
炸裂!Github 6000+ star 开源免费易用,支持1000+格式转换,值得收藏!
ConvertX 是一款开源免费的在线文件转换工具,支持超过 1000 种格式转换,涵盖视频、文档、图像、3D 模型等。基于 FFmpeg、Pandoc 等强大组件,提供高效、私密的转换服务。支持 Docker、NAS 自托管部署,界面简洁,操作便捷,适合多场景使用,已在 GitHub 收获 6000+ Star,值得收藏和使用。
200 0
|
1月前
|
JSON Kubernetes 安全
找到啦,我们已上车,Github 27000+ star,研发团队必备开源工具项目,真丝滑!!!
Trivy 是一款高效灵活的开源安全扫描工具,支持容器镜像、文件系统、Kubernetes 等多目标扫描,具备快速、易用、集成性强等特点,适用于 DevSecOps 全流程安全检测。
|
30天前
|
人工智能 编解码 JSON
不看后悔!GitHub 开源 MultiTalk .8k star 强大的人语音+图像绑定项目
MultiTalk 是 GitHub 上的开源项目,具备音频驱动、多人对话视频生成功能。支持多路音频与图像绑定,实现高同步唇动与角色互动,适用于教学、虚拟人及短视频创作,已获 8k 星标。
150 0
|
30天前
|
安全 数据可视化 项目管理
精品,Github 5000+ star,小型研发团队必备商业开源项目
DooTask 是一款开源在线项目任务管理工具,具备文档协作、流程图、任务分发、IM沟通等功能,支持私有部署与数据加密,已在 GitHub 获得 5000+ 星标,适合中小团队提升协作效率。
|
1月前
|
数据采集 缓存 JSON
GitHub 开源爆款工具|MediaCrawler:程序员零门槛采集抖音/小红书/B站等社交评论,30K star 背后的场景实战揭秘!
MediaCrawler 是一个支持多平台的社交媒体数据爬虫工具,覆盖小红书、抖音、B站等主流平台,提供关键词/ID爬取、评论采集、登录态缓存、代理池等功能,结合 Playwright 实现浏览器模拟,降低逆向难度,适合内容运营、数据分析等场景,开源免费,使用简便。
324 0
|
2月前
|
Web App开发 前端开发 关系型数据库
GitHub 2.8k star 开源既封神,“Liquid‑Glass‑React”,让你前端界面瞬间拥有苹果级液态玻璃效果!
Liquid-Glass-React 是一款开源前端组件,旨在将 Apple iOS 26 的“液态玻璃”视觉效果引入 React 应用。凭借逼真折射、多种反射模式、响应式交互及高度可配置性,它已获得 2.8k stars,成为提升 UI 质感的热门工具。
252 0
|
2月前
|
自然语言处理 关系型数据库 PostgreSQL
Github 10.1k star 的高颜值实时Kanban,看完就想收藏!引爆团队效率的开源利器:Planka 实战深度解析
Planka 是一款开源协作看板工具,支持多人实时协作、Markdown 编辑、通知提醒等功能。基于 MIT 许可,可自托管部署,适合中小团队和个人高效管理任务。
149 0
|
3月前
|
人工智能 Linux 计算机视觉
GitHub 开源热搜!10.7k  star, MagicAnimate,让照片秒变动画短片!
MagicAnimate 是由新加坡国立大学与字节跳动团队开发的静态图像动画工具,基于视频扩散模型与时序注意力模块,可实现高保真一致动画。用户只需上传一张照片和动作视频/DensePose 数据,即可生成高质量动画,效率提升 50%。项目在 GitHub 上获得 11.1k 星,支持多 GPU 推理、模型替换及跨平台部署,适用于短视频创作、在线教育、营销广告等场景。其优势在于流畅度高、细节还原精准,是目前最强的人像动画技术之一。
160 0
|
人工智能 数据安全/隐私保护 计算机视觉
GitHub爆款神器 | IOPaint:21.7k star 开源AI图像修复项目,竟能秒删水印、拓展画幅!
IOPaint 是一款由 Sanster 团队开发的开源图像处理工具,集成多种 SOTA AI 模型,支持图像擦除、对象替换、文本绘制和图像外扩等功能。它操作简便,一键安装,适用于 Windows、macOS、Linux 和 Apple Silicon 系统,适合摄影爱好者、电商从业者及内容创作者使用,大幅提升图像处理效率。
106 0
|
5月前
|
存储 人工智能 项目管理
2025年GitHub平台上的十大开源MCP服务器汇总分析
本文深入解析了GitHub上十个代表性MCP(Model Context Protocol)服务器项目,探讨其在连接AI与现实世界中的关键作用。这些服务器实现了AI模型与应用程序、数据库、云存储、项目管理等工具的无缝交互,扩展了AI的应用边界。文中涵盖Airbnb、Supabase、AWS-S3、Kubernetes等领域的MCP实现方案,展示了AI在旅行规划、数据处理、云存储、容器编排等场景中的深度应用。未来,MCP技术将向标准化、安全性及行业定制化方向发展,为AI系统集成提供更强大的支持。
1233 2
2025年GitHub平台上的十大开源MCP服务器汇总分析

热门文章

最新文章