写点什么

[ CloudWeGo 微服务实践 - 06 ] 服务发现(2)

用户头像
baiyutang
关注
发布于: 3 小时前
[ CloudWeGo 微服务实践 - 06 ] 服务发现(2)

在昨天的 [ CloudWeGo 微服务实践 - 06 ] 服务发现(1) 中,我们发现了官方还没提供灵活的服务发现机制,只能我们自己实现。昨天只是找了一些资料,要研习下才能完成今天的这个环节。

目标

  1. 实现基于 etcd 的服务发现。

  2. 在客户端自动发现服务地址,发起 RPC。

环境

  1. MacOS Monterey 12.0.1

  2. etcd version:3.5.0

  3. go version go1.16.5 darwin/amd64


步骤

什么是服务发现

先想想什么是服务发现,我们在微服务的服务端已经把服务提供者的信息注册到了注册中心,那么服务发现就是根据已知的依赖的服务名灵活的获取可用节点。


并且服务发现已知的两种做法:1、在服务调用方做负载均衡,调用方从服务列表选择其一自主发起调用;2、服务调用方只向一个提供一组服务的网关发起请求,负载均衡有该服务网关做。方式二可能容易造成单点,比较常见的还是在方式一,由调用方决定选择哪个节点,比如根据权重、轮询、随机等等自主选择。

基于 ctcd 服务发现

官方 DNS Resolver

明天把代码一起分析一遍,稍等。

服务发现的验证


系列阅读

发布于: 3 小时前阅读数: 9
用户头像

baiyutang

关注

广州 2017.12.13 加入

Microservices | Golang | Cloud Nitive | “Smart work,Not hard”

评论

发布
暂无评论
[ CloudWeGo 微服务实践 - 06 ] 服务发现(2)