这一篇就来讲讲,go-micro v2 如何进行配置etcd注册中心和操作配置中心
前言
go-micro框架为服务注册发现提供了标准的接口Registry。只要实现这个接口就可以定制自己的服务注册和发现。不过官方已经为主流注册中心提供了官方的接口实现,大多数时候我们不需要从头写起。
官方默认实现了mdns,consul,etcd等注册中心接口,提供了开箱即用的方法。
v2以前:默认使用
consul
作为注册中心。最新版本:默认使用
mDNS
提供零配置的发现系统,大多数系统已经内置,程序不需要任何改动就具备服务注册和发现能力。
实际生产中,官方则推荐使用etcd
组成更具弹性的集群方案。
简介
etcd作为服务发现系统,有以下的特点:
- 简单:安装配置简单,而且提供了HTTP API进行交互,使用也很简单
- 安全:支持SSL证书验证
- 快速:根据官方提供的benchmark数据,单实例支持每秒2k+读操作
- 可靠:采用raft算法,实现分布式系统数据的可用性和一致性
etcd项目地址:https://github.com/coreos/etcd/
启动服务
docker run --name etcd -d -p 2379:2379 -p 2380:2380 -e ALLOW_NONE_AUTHENTICATION=yes bitnami/etcd:3.3.11 etcd
docker exec -it etcd /bin/bash
服务配置
代码配置
在标准接口下,server和client端诶之方式没有任何区别,这边会分开展示
服务注册
...
// New Service
service := micro.NewService