微服务05——consul

该博客介绍了如何在Go中使用Consul进行服务发现,并结合GRPC实现服务注册与调用。内容包括服务注册、健康检查、服务注销的流程,以及客户端如何通过Consul获取服务地址并进行GRPC调用。示例代码展示了Consul_server.go和Consul_client.go的实现细节。
摘要由CSDN通过智能技术生成

目录

服务发现

client、server工作流程:

服务发现的种类:

consul

consul和grpc

使用整体流程

目录结构

person.proto

 consul_server.go

consul_client.go

服务注销

consul_deregister.go

Github


服务发现

每个服务端把自己的ip和端口号注册到服务发现模块

客户端访问服务的时候去服务发现模块查找IP:PORT,然后访问相应的服务

[服务发现,也可以看做一个服务,是为服务提供服务的]

 图片来源:

https://www.bilibili.com/video/BV1po4y1X7hH?p=85

健康检查:

服务发现模块定期查看服务端能不能访问

client、server工作流程:

  1. 每个server启动时,都将自己的IP、port 和 服务名 注册给 ”服务发现“
  2. 当 client 向服务发现发起服务请求时, “服务发现” 会自动找一个可用的 服务,将其 IP/port/服务名返回给 client
  3. client 再借助服务发现,访问 server。

服务发现的种类:

  • consul: 常应用于 go-micro 中。
  • mdns:go-micro中默认自带的服务发现。
  • etcd:k8s 内嵌的服务发现
  • zookeeper:java中较常用。

consul

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

特性:

  • 服务发现: consul 提供服务, 服务端 主动向 consul 发起注册。
  • 健康检查: 定时发送消息,类似于 “心跳包”,保证 客户端获得到的 一定是 健康的服务。
  • 键值存储: consul 提供,但是我们使用 redis
  • 多数据中心:可以轻松搭建集群。

安装 consul 源码包:

$ go get -u -v github.com/hashicorp/consul

启动命令

consul agent -dev

consul和grpc

使用整体流程

  1. 创建 proto文件 , 指定 rpc 服务

  2. <
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值