FM.Grpc.Extensions
1.3.2
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package FM.Grpc.Extensions --version 1.3.2
NuGet\Install-Package FM.Grpc.Extensions -Version 1.3.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FM.Grpc.Extensions" Version="1.3.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FM.Grpc.Extensions" Version="1.3.2" />
<PackageReference Include="FM.Grpc.Extensions" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FM.Grpc.Extensions --version 1.3.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FM.Grpc.Extensions, 1.3.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FM.Grpc.Extensions@1.3.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FM.Grpc.Extensions&version=1.3.2
#tool nuget:?package=FM.Grpc.Extensions&version=1.3.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Grpc.Extesions
一个基于GRPC的简单微服务框架
功能
- 服务注册和发现
- 默认使用Consul实现
- 实现IServiceDiscovery,IServiceRegister可扩展
- 服务自动负载均衡
- 默认使用轮询实现,可切换随机算法
- 实现ILoadBalancer可扩展
- 服务端中件间
- 性能监控[日志,分布式调用链],全局错误处理,手动熔断
- 实现ServerInterceptor可扩展
- 客户端中件间
- 性能监控[日志,分布式调用链],超时时间设置
- 实现ClientInterceptor可扩展
- Grpc DashBoard
- Http远程调用,手动熔断,日志输出控制
- Grpc ProtoFirst
- 通过Proto生成代码和注释
- Grpc CodeFirst
- 通过代码生成proto和注释(GrpcMethod自动注册)
- 代码更干净且方便扩展,例如可以在ProtoMessage上打验证特性来统一处理验证逻辑等
- 更方便拆分GrpcService到多个类,而不是使用partial class
待完善
- 使用Polly实现重试,降级,熔断
依赖的技术栈
- dotnet standard 2.0
- gRPC - An RPC library and framework
- Consul - Service Discovery and Configuration Made Easy
- Polly - Polly is a .NET resilience and transient-fault-handling library
- OpenTracing(Jaeger) - a Distributed Tracing System
感谢
感谢以下的项目,排名不分先后
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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 was computed. 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 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- AspectCore.Extensions.Reflection (>= 1.0.1)
- Consul (>= 0.7.2.6)
- Grpc (>= 1.16.0)
- Jaeger (>= 0.2.2)
- Microsoft.CSharp (>= 4.5.0)
- Microsoft.Extensions.Caching.Memory (>= 2.1.1)
- Microsoft.Extensions.Configuration (>= 2.1.1)
- Microsoft.Extensions.Configuration.Binder (>= 2.1.1)
- Microsoft.Extensions.DependencyInjection (>= 2.1.1)
- Newtonsoft.Json (>= 11.0.2)
- protobuf-net (>= 2.4.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.4.8 | 1,013 | 7/21/2020 |
| 1.4.7 | 926 | 5/18/2020 |
| 1.4.7-alpha2 | 584 | 5/18/2020 |
| 1.4.7-alpha1 | 596 | 5/18/2020 |
| 1.4.6 | 868 | 4/30/2020 |
| 1.4.5 | 754 | 4/29/2020 |
| 1.4.4 | 1,025 | 3/19/2020 |
| 1.4.3 | 917 | 1/4/2020 |
| 1.4.1 | 847 | 10/11/2019 |
| 1.4.0 | 938 | 8/31/2019 |
| 1.3.4 | 832 | 8/31/2019 |
| 1.3.3 | 1,159 | 8/31/2019 |
| 1.3.2 | 884 | 8/31/2019 |
| 1.3.1 | 816 | 8/31/2019 |
| 1.3.0 | 840 | 8/31/2019 |
| 1.2.0 | 855 | 8/31/2019 |
| 1.0.8 | 831 | 8/31/2019 |
| 1.0.7 | 978 | 12/12/2018 |
| 1.0.6 | 1,052 | 11/15/2018 |
| 1.0.4 | 1,012 | 11/15/2018 |
| 1.0.1 | 1,001 | 11/14/2018 |