FM.Grpc.Extensions
1.3.1
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.1
NuGet\Install-Package FM.Grpc.Extensions -Version 1.3.1
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.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FM.Grpc.Extensions --version 1.3.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FM.Grpc.Extensions, 1.3.1"
#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.
// Install FM.Grpc.Extensions as a Cake Addin #addin nuget:?package=FM.Grpc.Extensions&version=1.3.1 // Install FM.Grpc.Extensions as a Cake Tool #tool nuget:?package=FM.Grpc.Extensions&version=1.3.1
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. |
.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 | 758 | 7/21/2020 |
1.4.7 | 730 | 5/18/2020 |
1.4.7-alpha2 | 393 | 5/18/2020 |
1.4.7-alpha1 | 393 | 5/18/2020 |
1.4.6 | 665 | 4/30/2020 |
1.4.5 | 562 | 4/29/2020 |
1.4.4 | 826 | 3/19/2020 |
1.4.3 | 734 | 1/4/2020 |
1.4.1 | 612 | 10/11/2019 |
1.4.0 | 714 | 8/31/2019 |
1.3.4 | 618 | 8/31/2019 |
1.3.3 | 935 | 8/31/2019 |
1.3.2 | 640 | 8/31/2019 |
1.3.1 | 604 | 8/31/2019 |
1.3.0 | 635 | 8/31/2019 |
1.2.0 | 641 | 8/31/2019 |
1.0.8 | 625 | 8/31/2019 |
1.0.7 | 743 | 12/12/2018 |
1.0.6 | 814 | 11/15/2018 |
1.0.4 | 773 | 11/15/2018 |
1.0.1 | 765 | 11/14/2018 |