Crates.io | satex-discovery |
lib.rs | satex-discovery |
version | 0.2.2 |
source | src |
created_at | 2024-01-18 03:52:34.209715 |
updated_at | 2024-01-23 02:10:46.227716 |
description | Satex服务发现和负载均衡的接口定义以及通用实现 |
homepage | |
repository | https://github.com/w-sodalite/satex.git |
max_upload_size | |
id | 1103775 |
size | 43,951 |
使用RUST
开发的轻量、高性能的HTTP网关,基于tokio
、hyper
、tower
构建。
matcher:负责接收并解析进入的HTTP请求。通过精确匹配算法,它能快速地识别出请求的目标路径、方法以及其他相关参数。
layer:只有通过matcher
匹配的请求才会进入layer
层,主要对请求进行增强或过滤。你可以在这一层添加各种过滤逻辑,例如权限验证、限流、日志记录等。它确保只有满足特定条件的请求能够继续传递。
service:负责处理经过layer
层筛选的请求。你可以在这一层实现具体的业务逻辑,例如调用后端服务、处理数据等。
名称 | 描述 | 使用文档 |
---|---|---|
Method |
根据请求方法(如GET、POST等)进行匹配 | 文档 |
Query |
根据请求的查询参数进行匹配 | 文档 |
Header |
根据请求头信息进行匹配 | 文档 |
Host |
根据请求的主机名进行匹配 | 文档 |
Path |
根据请求路径进行匹配 | 文档 |
RemoteAddr |
根据客户端的IP地址进行匹配 | 文档 |
Cookie |
根据请求的Cookie进行匹配 | 文档 |
Time |
根据请求时间进行匹配 | 文档 |
名称 | 描述 | 使用文档 |
---|---|---|
Cors |
处理跨域请求 | 文档 |
KeepHostHeader |
保持原始的Host请求头 | 文档 |
PathStrip |
从请求路径中删除特定部分 | 文档 |
RateLimit |
限制请求频率 | 文档 |
RewritePath |
重写请求的接口地址 | 文档 |
SetRequestHeader |
设置请求头信息 | 文档 |
SetResponseHeader |
设置响应头信息 | 文档 |
XForward |
设置XForward信息 | 文档 |
ConcurrentcyLimit |
限制同时处理的请求数量 | 文档 |
RequestBodyLimit |
限制请求体的最大大小 | 文档 |
SetStatus |
设置响应状态码 | 文档 |
名称 | 描述 | 使用文档 |
---|---|---|
Echo |
简单地返回接收到的请求内容 | 文档 |
Static |
提供静态文件服务 | 文档 |
Proxy |
反向代理服务,代理请求到另一个服务或地址。 | 文档 |
名称 | 描述 | 使用文档 |
---|---|---|
Builtin |
内置的服务发现,通过配置的方式注册服务集合,内部会定时检测服务节点的可用性。 | 文档 |
名称 | 描述 | 使用文档 |
---|---|---|
IpHash |
IP哈希负载策略使用客户端的IP地址进行哈希计算,根据哈希值将请求分配给后端服务器。这样可以确保来自同一IP地址的请求始终被发送到同一台服务器,这有助于保持会话和状态信息的持续性。 | 文档 |
Random |
随机负载策略随机选择一台服务器将请求发送过去。这种策略简单且易于实现,适用于没有特殊需求的情况。 | 文档 |
Sequential |
顺序负载策略按照服务器列表的顺序依次将请求发送过去。这种策略适用于服务器性能基本一致的情况。 | 文档 |
StandBy |
备用负载策略在主服务器故障时,将请求切换到备用服务器上。这种策略可以提高系统的可用性和可靠性。 | 文档 |
Weight |
权重负载策略根据服务器的性能或权重值来分配请求。权重值高的服务器将获得更多的请求,而权重值低的服务器将获得较少的请求。这种策略可以帮助平衡服务器的负载,提高系统的性能和效率。 | 文档 |
应用启动配置文件为satex.yaml
,具体内容见示例配置。
使用
-c
指定配置文件satex.yaml
的路径
satex -c exmaples/satex.yaml
This project is licensed under the Apache 2.0