G6

负载均衡器G5的第二版
授权协议 LGPL
开发语言 C/C++
所属分类 服务器软件、 集群/负载均衡
软件类型 开源软件
地区 国产
投 递 者 充子航
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

负载均衡器G5的第二版。

1 背景

2014年我研发了负载均衡软件G5,作为开源项目发布到网上,被很多公司采用,反馈了大量意见和建议,比如希望增加后端心跳功能等,在这里感谢广大朋友们的支持和帮助。近两年的开源发展,G5已经趋近成熟,也暴露了不少设计不足,比如没有充分利用多核环境。两周年之际,我决定重新研发G5第二版,名字就叫做G6,重点解决G5设计不足,也从代码架构上深度优化性能。

2 概述

G6是一款高性能、易使用、支持远程管理的TCP负载均衡分发器&&桥接器,基于Linux的epoll事件驱动非堵塞全异步框架实现。

G6工作在网络4层TCP,这意味着不仅可以用于网站HTTP协议,还能用在SMTP、POP、TELNET、SSH等协议上。

2.1 使用场景

       * 网站反向代理

       * 与无负载均衡功能的通讯软件配合实现负载均衡分发

       * 双网卡桥接不同网段

2.2 支持几乎所有主流负载均衡算法

       * 主备

       * 轮询

       * 最少连接数

       * 最小响应时间

       * 随机

       * 哈希

2.3 功能优势

       * 充分利用多核环境,采用父子进程(监控进程+工作进程)+多线程(缺省数量为CPU核数)的软件架构。

       * 平滑重载配置和自我升级,真正的无缝更新,不会影响现有会话和侦听服务端口。

       * 基于红黑树的会话超时管理,这是与epoll配合最好的超时管理方式。

       * 性能是同类软件中最高的,比nginx还快,具体见性能测试章节。

       * 配置文件格式简洁、灵活,配置参数丰富,拥有全局继承机制以减少配置冗余。

       * 提供了出错暂禁、心跳报告、管理命令主动暂禁三种隔离后端服务器机制,最后两种可与运维脚本配合实现更复杂的定制化健康检测。

       * 源码文件分布合理、代码结构清晰便于阅读,适合定制化改造。编译成可执行程序不到200KB,无第三方软件依赖。内存使用恒定。

       * 可通过管理端口远程查询和管理,便于对接第三方UI 。

...(完整文档见源码安装包doc/G6.pdf)

源码托管网址:
http://git.oschina.net/calvinwilliams/G6
https://github.com/calvinwilliams/G6

欢迎交流使用 ^_^

  • Vue3使用G6笔记( 需要用到思维导图,找到蚂蚁金服的G6可以满足需求,不得不说阿里巴巴yyds,这一套图标全家桶可太棒了 熟悉了下基本用法,记录下来 官网讲的就很好了,建议去认真读读手册就会用了 这里总结的更精简和直观,需要的小伙伴可以看看 目前还是一些比较基础的操作,后面用的深入了还会更新 一. 安装和引入 npm安装 npm install --save @antv/g6 项目中引入 i

  • // Custom a line chart node 双锥形 G6.registerNode('circleLine', { afterDraw(cfg, group) { const baseR = 15;//基础半径 let nowAngle = 2 * Math.PI / 20; //0;//旋转角度

 相关资料
  • 负载均衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 使用带有负载均衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性。负载均衡服务通常是由专用软体和硬件来完成。 负载均衡最重要的一个应用是利用多台服务器提供单一服务,这种方案有

  • 负载均衡包括负载均衡实例、访问控制及证书。 实例 负载均衡实例是一个运行的负载均衡服务,通过设置的虚拟IP接收流量并将其转发分配给后端服务器。 访问控制 访问控制用于设置访问负载均衡的IP白名单或IP黑名单。 证书 当在负载均衡实例上配置HTTPS监听转发来自HTTPS协议的请求时,需要配置证书。

  • 一个简单的负载均衡的示例,把www.domain.com均衡到本机不同的端口,也可以改为均衡到不同的地址上。> http { : upstream myproject { : server 127.0.0.1:8000 weight=3; : server 127.0.0.1:8001; : server 127.0.0.1:8002; : server 127.0.0.1:8003; : }

  • SOFARPC 提供多种负载均衡算法,目前支持以下五种: 类型 名称 描述 random 随机算法 默认负载均衡算法。 localPref 本地优先算法 优先发现是否本机发布了该服务,如果没有再采用随机算法。 roundRobin 轮询算法 方法级别的轮询,各个方法间各自轮询,互不影响。 consistentHash 一致性hash算法 同样的方法级别的请求会路由到同样的节点。 weightRou

  • 内容提要 本章主要介绍了网站重定向和负载均衡的一些技术,术语网站架构方面的知识! 技术概览 重定向技术通常可以用来确定报文是否终结于某个代理、缓存或服务器集群中某台特定的服务器。重定向技术可以将报文发送到客户端没有显示请求的地方去。与此需要涉及到的技术: 1、HTTP重定向 2、DNS重定向 3、任播路由 4、策略路由 5、IP MAC转发 6、IP地址转发 7、WCCP(Web缓存协调协议) 8

  • 本节将会讨论常见的分布式系统负载均衡手段。 6.5.1 常见的负载均衡思路 如果我们不考虑均衡的话,现在有n个服务节点,我们完成业务流程实际上只需要从这n个中挑出其中的一个。有几种思路: 按顺序挑: 例如上次选了第一台,那么这次就选第二台,下次第三台,如果已经到了最后一台,那么下一次从第一台开始。这种情况下我们可以把服务节点信息都存储在数组中,每次请求完成下游之后,将一个索引后移即可。在移到尽头时

  • 当过滤器需要获取到上游群集中的主机连接时,群集管理器使用负载平衡策略来确定选择哪个主机。负载平衡策略是可插入的,并且在配置中以每个上游集群为单位进行指定。请注意,如果没有为群集配置积极的健康检查策略,则所有上游群集成员都被视为健康。 支持的负载平衡策略 轮训 这是一个简单的策略,每个健康的上游主机按循环顺序选择。 权重最小请求 请求最少的负载均衡器使用O(1)算法来选择两个随机的健康主机,并选择活

  • 线上环境是阿里云,既然阿里云有SLB,比自己运维一个要省事儿的多,事实上,自己做也真不一定做得比它好,本节试图以haproxy来解释一下slb的原理 讲解haproxy的目的是介绍负载算法,便于理解SLB 目前比较流行的 目前,在线上环境中应用较多的负载均衡器硬件有F5 BIG-IP,软件有LVS,Nginx及HAProxy,高可用软件有Heartbeat. Keepalived 成熟的架构有 L