Skip to content

hango-io/hango-gateway

Folders and files

NameName
Last commit message
Last commit date
Sep 14, 2021
Dec 14, 2023
Oct 18, 2023
Mar 16, 2023
Feb 3, 2023
Dec 14, 2023
Aug 17, 2021
Oct 18, 2023
Aug 4, 2021
Aug 17, 2021
Aug 4, 2021
Aug 4, 2021
Oct 18, 2023
Aug 4, 2021
Oct 18, 2023
Oct 18, 2023

Repository files navigation

Hango

hango

English version

Hango 是一个基于 Envoy 构建的高性能、可扩展、功能丰富的云原生API网关。

Hango 提供请求代理、动态路由、负载均衡、限流、熔断、健康检查、安全防护等功能,可用于微服务网关、七层负载均衡、Kubernetes Ingress、Serverless网关等应用场景。

通过Hango Rider模块,用户可以自定义多语言插件进行能力扩展。

文档

指引文档: 介绍功能、版本、配置、实践等内容的各类文档

博客: 介绍Hango相关动态

为什么选择Hango

  • 技术路线:基于领先的网络代理组件 Envoy 构建,具备丰富的功能、优异的性能与可观测性

  • 扩展性:可用于生产的增强级 Lua 扩展框架 Rider;基于 WebAssembly 的多语言扩展插件能力(Alpha,后续提供)

  • 多场景:具备支撑微服务网关、七层负载均衡、Kubernetes Ingress、Serverless网关等多种场景能力

  • 云原生:以云原生标准数据面组件 Envoy 作为核心引擎,天然亲和云原生;可作为 Kubernetes、Service Mesh、Serverless 的 Ingress、Gateway 实现

  • API生态与集成:以 API 为中心的生态管理,提供数百种工业级协议快速集成能力(后续提供)

  • 控制平面:易用的控制台进行网关、服务、路由等多维度管理,简化使用者操作

提要

特性

架构

工程

安装

使用

交流

License

特性

  • HTTP、gRPC、Websocket 等多协议代理

  • 支持 Kubernetes 等注册中心服务发现

  • L7 流量代理、连接池配置

  • 基于请求参数的动态路由、主动被动健康检查策略、丰富的负载均衡算法

  • 多场景限流、熔断、降级、重试等流量治理功能

  • IP黑白名单控制、认证鉴权等安全防护功能

  • 自定义Header黑白名单,内置UA、Refer黑白名单

  • 可视化控制台进行网关配置管理

  • 得益于 Envoy 优异的性能,单实例性能可达10w TPS以上

  • 自定义插件框架,支持用户用多种语言开发自定义插件,参考Hango自定义插件使用手册

架构

Hango 基于云原生理念构建,数据面基于 Envoy 进行扩展,增强插件链,提供 Rider 模块用于自定义插件扩展;控制面组件包括 Slime,Istio,API Plane 以及 Portal 模块。

得益于 Slime 良好的扩展性与兼容性,用户可以直接选择社区 Istio 作为控制面进行 Hango 构建。

architecture

工程

Hango 是一个云原生架构下的网关项目,聚合了以下工程:

  • Envoy Proxy - 数据面组件,南北流量入口
  • Slime - 将Slime CRD转换为Istio CRD
  • Istio - 核心控制面,生成对应的xDS配置,下发至Envoy
  • API Plane - 用于生成Istio CRD以及Slime CRD
  • Gateway Portal - Hango 控制台Portal
  • Gateway UI - Hango 控制台UI

可以点击链接详细了解每个项目模块。

安装

目前,安装Hango需要具备Kubernetes环境,目前支持1.17及以上 Kubernetes。 通过Helm,可以一键部署Hango。具体部署可以参考Hango部署手册

使用

Hango UI提供了用户使用指南,通过使用指南用户可以方面上手 Hango,可以参考通过Hango UI配置Hango路由

hango-ui

同时,也可以通过API调用的方式进行配置,可以参考通过OpenAPI配置Hango路由

交流

真诚的欢迎各位和我们进行交流. 我们提供以下方式:

同时,也可以通过以下方式进行项目贡献:

  • 博客
  • Issue
  • 测试
  • 文档完善等

致谢

Hango 的建设离不开社区成员有价值的工作,这里特别感谢 EnvoyIstio

License

Apache-2.0