Code Monkey home page Code Monkey logo

g6's Introduction

TCP负载均衡分发器&&桥接器(G6)
Calvin

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 。

...
see doc/*

g6's People

Contributors

calvinwilliams avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.