基于 Consul 实现 MagicOnion(GRpc) 服务注册与发现

Posted corexin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于 Consul 实现 MagicOnion(GRpc) 服务注册与发现相关的知识,希望对你有一定的参考价值。

 https://www.cnblogs.com/myzony/p/9168851.html

 

0.简介

 

0.1 什么是 Consul

Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。

这里所谓的服务,不仅仅包括常用的 Api 这些服务,也包括软件开发过程当中所需要的诸如 Rpc、Redis、mysql 等需要调用的资源。

简而言之 Consul 就是根据 Key/Value 存储了一套所有服务的 IP/Port 集合,当你 Grpc 客户端需要请求某种服务的时候,具体的 IP 与端口不需要你自己来进行指定,而是通过与 Consul Agent 通信获得某个服务下面可用的 IP/Port 集合。

而 Consul 还提供了健康检查等附加的功能,你可以通过对可用服务节点的遍历来自己进行负载均衡或者服务选择。

 

0.2 为什么要用 Consul

没用 Consul 之前的情况是,我 new 一个 Channel 的话,需要指定 Grpc Server 的地址与端口,一单服务挂掉或者 Grpc Server 的 IP 地址或者端口有变更,那么我还得重新更改 setting 才能够使用我的服务。

使用了 Consul 之后我只需要去 Consul Agent 里面查询我指定的服务有哪些节点可用,返回给我对应的 IP 地址和端口,我就可以进行连接了。

 

相关文章: 

以上是关于基于 Consul 实现 MagicOnion(GRpc) 服务注册与发现的主要内容,如果未能解决你的问题,请参考以下文章

Grpc MagicOnion库 之 客户端和服务端 (案例版)

基于Consul的分布式锁实现

基于kcp,consul的service mesh实现

.NETCore微服务之:基于Consul实现服务治理

基于Consul+Registrator+Nginx实现容器服务自动发现的集群框架

Consul实现服务治理1