Transmit 9.0.0
dotnet add package Transmit --version 9.0.0
NuGet\Install-Package Transmit -Version 9.0.0
<PackageReference Include="Transmit" Version="9.0.0" />
paket add Transmit --version 9.0.0
#r "nuget: Transmit, 9.0.0"
// Install Transmit as a Cake Addin #addin nuget:?package=Transmit&version=9.0.0 // Install Transmit as a Cake Tool #tool nuget:?package=Transmit&version=9.0.0
请求路由
路径路由: 根据请求路径将请求路由到相应的微服务。✔
基于主机的路由: 根据主机名(例如子域名)进行路由。✔
负载均衡: 将请求分发到多个服务实例,以实现负载均衡。✔
协议转换
HTTP到HTTPS: 自动将HTTP请求转换为HTTPS请求,确保安全通信。✔
协议桥接: 在不同协议(如HTTP、WebSocket、gRPC)之间进行转换。
HttpToGrpcMiddleware
HttpToHttpMiddleware
HttpToWebSocketMiddleware
WebSocketToHttpMiddleware
安全性
身份验证: 验证请求的身份(如通过OAuth2、JWT等)。
授权: 根据用户权限控制对资源的访问。
API网关防火墙: 阻止恶意请求和流量,如SQL注入、跨站脚本攻击等。
FirewallMiddleware
✔速率限制: 控制每个用户或IP的请求速率,防止滥用。
RateLimitingMiddleware
✔流量管理
负载均衡: 动态分配流量到多个服务实例。✔
速率限制: 防止单个客户端过度使用资源。✔
熔断机制: 当一个服务不可用时,快速失败并返回预定义的错误响应。
CircuitBreakerMiddleware
✔降级处理: 在服务过载时提供备用响应或功能。
FallbackMiddleware
服务编排
聚合: 将多个服务的响应合并成一个响应返回给客户端。
AggregationMiddleware
分发: 将一个请求分发到多个服务进行处理。
DispatchingMiddleware
日志和监控 请求日志记录: 记录所有经过网关的请求和响应信息。
RequestLoggingMiddleware
指标收集: 收集和监控网关的性能指标(如请求数、响应时间、错误率等)。
MetricsMiddleware
分布式追踪: 跟踪请求在微服务之间的调用链,帮助诊断性能问题和故障。
缓存
响应缓存: 缓存常见请求的响应,以减少后端服务的负载。
ResponseCachingMiddleware
配置缓存: 缓存路由和配置数据,以提高性能和响应速度。
ConfigCachingMiddleware
内容修改
请求和响应转换: 修改请求和响应的内容,如添加或删除HTTP头部,修改请求体或响应体等。
数据格式转换: 在不同数据格式之间进行转换(如XML到JSON)。
开发者支持
API文档: 自动生成并提供API文档,方便开发者使用。
SwaggerMiddlewareExtensions
开发者门户: 提供开发者注册、API密钥管理、使用统计等功能。
高可用和扩展性
故障切换: 在网关实例失效时,自动切换到备用实例。
水平扩展: 支持增加更多网关实例以处理更高的流量负载。
配置管理: 支持动态配置更新,无需重启服务。
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. |
-
net6.0
- Microsoft.AspNetCore.Http (>= 2.2.2)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.Caching.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Caching.Memory (>= 9.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Logging (>= 9.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.0)
-
net7.0
- Microsoft.AspNetCore.Http (>= 2.2.2)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.Caching.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Caching.Memory (>= 9.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Logging (>= 9.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.0)
-
net8.0
- Microsoft.AspNetCore.Http (>= 2.2.2)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.Caching.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Caching.Memory (>= 9.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Logging (>= 9.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.0)
-
net9.0
- Microsoft.AspNetCore.Http (>= 2.2.2)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.Caching.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Caching.Memory (>= 9.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Logging (>= 9.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
暂无