{"repo":"guoming/Hummingbird","free":true,"listed":false,"github":"https://github.com/guoming/Hummingbird","clone":"git clone https://github.com/guoming/Hummingbird.git","description":"分布式锁，分布式ID，分布式消息队列、配置中心、注册中心、服务注册发现、超时、重试、熔断、负载均衡","language":"C#","stars":291,"topics":["microservice","cache","distributed-lock","service-registry","redis","rabbitmq","healthcheck","kafka","canal","consul"],"license":"Apache-2.0","category":"databases-storage","readme_excerpt":"Hummingbird [toc] 1. 项目简介 项目开发常用脚手架 2. 功能概要 分布式锁 基于Redis 基于Consul 分布式缓存 基于Redis 分布式Id 基于Snowfake 分布式追踪 Opentracing 基于Jaeger 消息总线 消息队列 基于Rabbitmq 基于Kafka 消息可靠性保证 基于MySql 基于SqlServer 健康检查 Mongodb 健康检查 MySql 健康检查 SqlServer 健康检查 Redis 健康检查 Rabbitmq 健康检查 Kafka 健康检查 负载均衡 随机负载均衡 轮训负载均衡 配置中心 基于Apollo配置中心 基于Nacos配置中心 服务注册 基于Consul服务注册和发现 基于Nacos服务注册和发现 服务调用 基于HTTP弹性客户端(支持：服务发现、负载均衡、超时、重试、熔断) 基于HTTP非弹性客户端（支持：服务发现、负载均衡） Canal 数据集成 输出到控制台 输出到Rabbitmq(待实现) 输出到Kafka(待实现) 文件系统 OSS 阿里云 OSS Physical 本地文件 3. 项目中如何使用 3.1 分布式锁 步骤1：安装Nuget包 步骤2：配置连接信息 步骤3：测试分布式锁 3.2 分布式缓存 步骤1：安装Nuget包 步骤2：设置缓存连接信息 步骤3：测试Redis缓存 3.3 分布式Id 步骤1： 安装Nuget包 步骤2：配置使用Snowfake算法生产唯一Id 步骤3：测试Id生成 3.4 分布式追踪 步骤1：安装Nuget包 步骤2： 创建tracing.json 配置 步骤3：添加tracing.json 配置依赖 步骤3： 配置OpenTracing基于Jaeger实现 步骤4：测试手动埋点日志 3.5 消息总线 步骤1：安装Nuget包 步骤2：创建消息消费端，消息处理程序 步骤2：创建消息生产端，消息发送程序 步骤3： 配置使用Rabbitmq消息队列和使用Mysql消息持久化 3.6 健康检查 步骤1： 安装Nuget包 步骤2： 配置健康检查Endpoint 步骤3： 配置监控检查项 3.7 服务注册 + 服务发现 + 服务HTTP调用 3.7.1 基于Consul 步骤1： 安装Nuget包 步骤2：配置 appsettings.json 步骤3：添加appsettings.json 配置依赖 步骤4：服务注册到Consul并配置弹性HTTP客户端 步骤5：测试HTTP Client 3.7.2 基于Nacos 步骤1： 安装Nuget包 步骤2：配置 appsettings.json 步骤3：添加appsettings.json 配置依赖 步骤4：服务注册到Nacos并配置弹性HTTP客户端 步骤5：测试HTTP Client 3.8 Canal 数据集成 步骤1： 安装Nuget包 步骤2：配置 canal.json, binlog日志输出到控制台 步骤3：添加appsettings.json 配置依赖 步骤4： 实现自己的binlog处理 3.文件系统 步骤1： 安装Nuget包 步骤2：添加配置 步骤3：添加依赖 4. 如何快速部署开发环境 4.1 Consul 4.2 Apollo 4.3 Mysql 4.4 Redis 4.5 Elasticsearch 4.6 Kafka 4.7 Rabbitmq 4.8 Grafana 4.9 Influxdb 4.10 Jaeger 4.11 Canal 4.12 N","default_branch":null,"files":null,"tree":[],"storefront":"/r/guoming","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/guoming/Hummingbird/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}