企业级网关
Rainbond企业级API网关增强,提供流量可视化、匹配策略、重试机制、流量控制、服务发现、负载均衡、多协议支持和证书管理等丰富功能。支持灵活的监控展示,包括QPS、错误率和平均响应时间。具备强大的路由控制和重试机制,支持多种匹配策略。实现流量控制与限流,支持多种服务发现机制,包括K8s和Nacos。提供灵活的负载均衡策略,支持HTTP、TCP和WebSocket等多协议。证书管理系统方便管理和应用证书,自动应用到域名下的所有路由。
流量可视化
在 API 网关中,监控和可视化是非常重要的功能,特别是涉及到 QPS(每秒查询率)、错误率和平均响应时间等关键性能指标。Rainbond 作为一个开源的云原生应用云平台,对这些功能进行精细化的分路由、分团队和分应用展示,提供了更直观的监控和管理手段。
-
QPS 监控: Rainbond 提供了对 QPS 的监控功能,允许你实时了解 API 的请求频率。通过图表展示,你可以在不同时间段内观察 QPS 的变化趋势,以便及时调整系统资源或优化 API 设计。
-
错误率监控: Rainbond 的监控系统还包括错误率的展示,这有助于快速定位和解决潜在的问题。图表展示错误率的变化,帮助你在 API 提供的服务中发现异常情况。
-
平均响应时间监控: 了解平均响应时间是评估 API 性能的关键指标之一。Rainbond 可以展示平均响应时间的变化情况,帮助你识别并解决潜在的性能瓶颈。
-
分路由展示: Rainbond 允许你对不同的路由进行分别监控。这意味着你可以详细了解每个 API 路由的性能表现,从而更好地优化和管理不同的 API 端点。
-
分团队和分应用展示: 通过将监控数据进行分团队和分应用展示,Rainbond 提供了更细粒度的监控视图。这使得团队能够专注于他们负责的部分,而不会被整体系统的监控数据所淹没。
API网关基本能力
Rainbond API网关的强大功能包括多种匹配策略和重试机制,这些功能提供了更细粒度的路由控制和提高系统的稳定性。
匹配策略
-
路径匹配: Rainbond允许根据请求的路径进行匹配,这使得你可以将不同的路径映射到不同的后端服务或进行不同的处理。
-
方法匹配: 可以根据请求的HTTP方法(GET、POST等)进行匹配,以便对不同的请求方法采用不同的处理逻辑。
-
Header头匹配: 支持根据请求中的特定HTTP头信息进行匹配,这对于需要根据请求头来路由请求的场景非常有用。
-
Cookie匹配: Rainbond允许根据请求中的Cookie信息进行匹配,这使得你可以基于Cookie的内容来进行更精细的路由控制。
流量控制和限流
在 Rainbond 中,通过插件为 API 网关赋能,实现流量控制和限流的功能,为系统提供了更加灵活和可定制的流量管理机制。
-
请求数限制: Rainbond 允许通过插件设置请求束限制,即限制一次请求中包含的请求数量。这有助于防止某个用户或应用程序在短时间内发送大量请求,保护系统免受滥用。
-
连接数限制: 插件还可以配置限制连接数,确保系统不会被过多的连接数压垮。这有助于维护系统的稳定性和可用性。
-
时间段限制: Rainbond 插件提供了设置在某个时间段内的请求数量限制的能力。这使得你可以根据系统的高峰和低谷时段来调整流量控制策略,以更好地适应系统的负载变化。
服务发现
Rainbond 的 API 网关支持从不同的服务发现机制中获取服务信息,包括 Kubernetes(K8s)、Nacos 等,同时也支持引入第三方节点。这使得在 Rainbond 平台上能够更加灵活地管理和使用各种服务。
服务发现机制
-
Kubernetes (K8s) 支持: Rainbond 与 Kubernetes 集成,可以通过 K8s 的服务发现机制获取服务信息。这使得在 Kubernetes 集群中运行的应用程序可以被 Rainbond 的 API 网关动态发现和代理。
-
Nacos 支持: Nacos 是一个开源的服务发现和配置管理系统,Rainbond 提供了对 Nacos 的支持,允许从 Nacos 中获取服务信息,以便在 Rainbond 环境中进行统一管理。
-
第三方节点支持: Rainbond 的 API 网关允许引入第三方节点,即外部服务。这意味着你可以将不在 Rainbond 平台上运行的服务引入到 Rainbond 中进行统一管理和代理。
-
重试机制 Rainbond API网关支持在发生请求失败时自动进行请求重试。这有助于提高系统的容错性,尤其是在网络不稳定的情况下。
负载均衡
负载均衡是在分布式系统中用于平衡网络流量和请求负担的关键技术。在 Rainbond 中,负载均衡是为了确保服务的高可用性、稳定性和性能而实现的。Rainbond 提供了多种负载均衡策略,以适应不同的应用场景和需求。
-
轮询(Round Robin): 这是一种最简单的负载均衡策略,将请求轮流分发给后端服务器,确保每台服务器都能获得相等的请求机会。
-
加权轮询(Weighted Round Robin): 允许为每个后端服务器分配不同的权重,以便在负载均衡时考虑每个服务器的性能和资源。
-
最小连接数(Least Connections): 将请求发送到当前连接数最少的服务器,以确保负载均衡时选择负载较轻的服务器。
-
加权最小连接数(Weighted Least Connections): 类似于加权轮询,但是根据连接数来分配权重,以考虑服务器的性能。
-
IP Hash: 根据客户端的 IP 地址计算哈希值,将请求分发到后端服务器。这确保相同 IP 的请求始终被路由到相同的服务器,有助于保持会话一致性。
支持多种协议
支持多种协议是指 API 网关具备处理不同通信协议的能力,以适应各种应用场景和需求。在 Rainbond 或其他类似的云原生平台中,这种多协议支持是为了满足不同类型服务和应用程序之间的通信需求。
-
HTTP 协议支持: HTTP是最常见的应用层协议,用于Web应用程序之间的通信。API网关可以处理和路由HTTP请求,执行访问控制、认证、授权等操作。
-
TCP 协议支持: Rainbond的API网关能够处理TCP协议,这对于需要在传输层进行更低级别的通信的应用程序非常重要。例如,数据库连接等场景可能需要使用TCP协议。
-
WebSocket 协议支持: WebSocket协议支持实时双向通信,通常用于需要持久连接的应用,如在线聊天、实时通知等。Rainbond的API网关可以有效地处理和代理WebSocket通信。
-
灵活协议扩展: 支持灵活的协议扩展,以便在未来能够适应新兴的通信协议。这种灵活性对于不断演变的应用程序架构非常重要。
-
协议转换: 在需要时,API网关可以执行协议转换,将一种协议的请求转换为另一种协议的请求。例如,将HTTP请求转换为TCP请求,或反之。
通过支持多种协议,API网关可以作为一个通用的接入点,连接各种不同类型的服务,使得整个系统更加灵活和可扩展。这样,不同的应用可以选择最适合它们通信需求的协议,而不用担心与其他服务之间的协议不匹配问题。这对于构建复杂的微服务架构和多样化的应用场景非常有益。
证书管理
证书管理是 API 网关中的重要功能之一,尤其在需要保障安全通信的场景中。Rainbond 提供了一套完善的证书管理系统,使得用户能够方便地管理和应用证书到其域名下的所有路由。
-
证书概览: Rainbond 的证书管理系统允许用户查看所有已安装证书的概览信息,包括证书的名称、颁发者、到期时间等。这使得用户能够全面了解系统中所使用的证书情况。
-
自动化应用: Rainbond 提供了自动将证书应用到特定域名下所有路由的功能。这意味着一旦用户添加或更新证书,系统会自动将新证书应用到与该证书关联的所有路由,无需手动干预。
-
证书到期时间展示: Rainbond 的证书管理系统通常包括证书到期时间展示,用户可以知道哪些证书即将到期,以便用户及时更新或替换证书,确保系统的安全性和正常运行。
-
证书上传和导入: 用户可以通过界面或命令行工具上传或导入证书。这允许用户使用自签名证书或从其他证书颁发机构获得的证书,并集中管理这些证书。
-
证书绑定: Rainbond 允许用户将特定证书与特定域名进行绑定,确保只有与之关联的域名的路由可以使用该证书。这增加了安全性和灵活性。