All Projects → yileicn → Grpc.Extensions

yileicn / Grpc.Extensions

Licence: other
Grpc扩展是一个基于GRPC的简单微服务框架

Programming Languages

C#
18002 projects
HTML
75241 projects

Projects that are alternatives of or similar to Grpc.Extensions

Uragano
Uragano, A simple, high performance RPC library. Support load balancing, circuit breaker, fallback, caching, intercepting.
Stars: ✭ 28 (-3.45%)
Mutual labels:  consul, dotnetcore, polly
Hyperf
🚀 A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease.
Stars: ✭ 4,206 (+14403.45%)
Mutual labels:  consul, opentracing
Study.Microservices
一步一步,由浅入深,学习如何使用.net core搭建微服务框架。
Stars: ✭ 18 (-37.93%)
Mutual labels:  consul, polly
Go Project Sample
Introduce the best practice experience of Go project with a complete project example.通过一个完整的项目示例介绍Go语言项目的最佳实践经验.
Stars: ✭ 344 (+1086.21%)
Mutual labels:  consul, opentracing
Core Grpc
C# Grpc驱动封装,基于Consul实现服务注册服务发现,支持dotnetcore / framework,可快速实现基于Grpc的微服务,内部有完整案例,包含服务端Server 客户端 Client,core+grpc, netcore+grpc, dotnetcore+grpc
Stars: ✭ 209 (+620.69%)
Mutual labels:  consul, dotnetcore
Adnc
微服务框架,同时也适用于单体架构系统的开发。支持经典三层与DDD架构开发模式、集成了一系列主流稳定的微服务配套技术栈。一个前后端分离的框架,前端基于Vue、后端基于.Net Core 3.1构建。
Stars: ✭ 223 (+668.97%)
Mutual labels:  consul, dotnetcore
honeycomb
本项目用于验证一系列开源项目
Stars: ✭ 13 (-55.17%)
Mutual labels:  consul, dotnetcore
nomad-demo
Vagrant based demo setup for running Hashicorp Nomad
Stars: ✭ 88 (+203.45%)
Mutual labels:  consul
Carrot
Carrot is a .NET lightweight library that provides a couple of facilities over RabbitMQ.
Stars: ✭ 14 (-51.72%)
Mutual labels:  dotnetcore
B32020
Nothing to see here. Move along now...
Stars: ✭ 24 (-17.24%)
Mutual labels:  dotnetcore
promcr
Prometheus auto discovery based on node host Prometheus基于主机的自动发现
Stars: ✭ 17 (-41.38%)
Mutual labels:  consul
ZooKeeper-Admin
ZooKeeper 管理工具
Stars: ✭ 45 (+55.17%)
Mutual labels:  dotnetcore
cottle
High performance template engine for C#
Stars: ✭ 99 (+241.38%)
Mutual labels:  dotnetcore
dynamic-config
A dynamic config library for Node.js implemented in TypeScript
Stars: ✭ 29 (+0%)
Mutual labels:  consul
MiCake
🍰一款基于.Net Core平台的“超轻柔“领域驱动设计(DDD)组件
Stars: ✭ 112 (+286.21%)
Mutual labels:  dotnetcore
golang-tts
Text-to-Speach golang package based in Amazon Polly service
Stars: ✭ 19 (-34.48%)
Mutual labels:  polly
ex ray
An Elixir OpenTracing library based on Otter
Stars: ✭ 56 (+93.1%)
Mutual labels:  opentracing
nginx-opentracing
Instrument nginx for OpenTracing.
Stars: ✭ 21 (-27.59%)
Mutual labels:  opentracing
elgamalext
Extension for the .NET Framework cryptography subsystem, which introduces the ElGamal public key cryptosystem with support for homomorphic multiplication.
Stars: ✭ 14 (-51.72%)
Mutual labels:  dotnetcore
riskfirst.hateoas
Powerful HATEOAS functionality for .NET web api
Stars: ✭ 69 (+137.93%)
Mutual labels:  dotnetcore

Grpc.Extesions

一个基于GRPC的简单微服务框架

功能

  • 服务注册和发现
    • 默认使用Consul实现
    • 实现IServiceDiscovery,IServiceRegister可扩展zk等
  • 服务自动负载均衡
    • 默认使用轮询实现,可切换随机算法
    • 实现ILoadBalancer可扩展
  • 服务容错
    • 服务连接报错,自动切换节点重试3次
    • 可在DashBoard上手动熔断
  • 调用链跟踪
    • 根据配制来启用Jaeger调用链跟踪
  • 服务网关
    • 使用Kong网关可实现服务的认证授权,协议转换(grpc转http),服务路由,服务限流和熔断等
    • 使用Ocelot网关也可实现上述功能
  • 服务配制
    • 使用Apollo配制中心
  • Grpc DashBoard和监控
    • Http远程调用,手动熔断,日志输出控制
    • 服务报警,可监听日志事件实现错误和超时的钉钉报警
    • 待实现服务统计数据和监控(目前使用日志查询来统计服务的调用次数和调用时长等)
  • 服务端中件间
    • 性能监控[日志,分布式调用链],全局错误处理,手动熔断
    • 实现ServerInterceptor可扩展
  • 客户端中件间
    • 性能监控[日志,分布式调用链],超时时间设置
    • 实现ClientInterceptor可扩展
  • Grpc ProtoFirst
    • 通过Proto生成代码和注释
  • Grpc CodeFirst
    • 通过代码生成proto和注释给第三方语言使用(GrpcMethod自动注册)
    • 代码更干净且方便扩展,例如可以在ProtoMessage上打验证特性来统一处理验证逻辑等
    • 更方便拆分GrpcService到多个类,而不是使用partial class

NuGet Package

支持NetFramework4.6,NetCore2.1

支持asp.netcore3.0

Documentation

待完善

  • 使用Polly实现重试,降级,熔断

依赖的技术栈

感谢

感谢以下的项目,排名不分先后

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].