微服务之注册中心和配置中心Consul详解 - 综合 -

当前位置:首页  >  综合  > 正文

微服务之注册中心和配置中心Consul详解

微服务之注册中心和配置中心Consul详解
2023-04-24 06:03:18 来源:脚本之家
目录
概述注册中心注册中心选型CAP原理Consul介绍Consul Raft算法Consul 基本使用注册服务

概述

上篇说到构建良好的架构,依托于基础设施建设(自动化测试、自动化部署、服务监控,服务发现、配置中心等等),决定成败的往往是基础设施建设,所以从搭建一个注册中心和配置中心开始我们新一阶段的启程。

注册中心

注册中心选型

你有没有思考过这样一个问题,为什么会有这么多的注册中心(etcd/ZooKeeper/Consul),选用那个最适合自己,是不是在选用的时候会眼花缭乱?

我在开始做的时候,自己也有很多困惑,将近3年的时候里我都在不停的学习,但是还是有很多不同的框架和产品,后来我明白了其中的原因,他们就像生活中的可乐、果汁、和牛奶一样,你在使用的时候选取你的编程语言(Java、Go、PHP),程序易接入的就好了。


(资料图片仅供参考)

产生注册中心五花八门的原因是因为语言很多,都想打造最适合自己的体系生态,我选择Consul为大家讲解,因为它安装和接入都比较方便。

不用被这些假象所困扰,多学习网络和系统的底层原理,万变不离其宗,技术人应该是给出解决方案。

CAP原理

一致性: 所有节点在同一时间具有相同的数据可用性:保证每个请求不管成功或者失败都有响应分区容错:系统中任意信息的丢失或失败不会影响系统的继续运作
FeatureConsulZooKeeperetcd
服务健康检查服务状态、内存、硬盘长链接、Keepalive链接心跳
多数据中心支持
K/V存储服务支持支持支持
一致性RaftPaxosRaft
CAP定理CPCPCP
使用接口(多语言能力)Http/Dns客户端Http/Grpc
安全acl/httpsaclHttps支持

Consul介绍

使用PHP、和Go编写,使用Consul作为注册中心和配置中心比较方便,所以我选用的是Consul。

采用Raft算法实现,有服务发现,Key/Value存储,可以做配置中心使用,有健康检查,并提供了web管理页面。

Consul 内部端口说明:

TCP/8300:8300端口用于服务器节点,客户端通过RPC协议调用服务端节点。TCP/UDP/8301: 8301端口用于单个数据中心所有节点之间的互相通信,即对LAN池信息的同步,它使得整个数据中心能够自动的发现服务器地址,分布式监测点的故障,事件广播。TCP/UDP/8302: 8302端口用于单个或多个数据中心之间的服务器节点的信息同步(WAL池信息的同步),它针对互联网的高延迟进行了优化,能够实现跨数据中心请求。HTTP/8500: 8500端口基于Http服务,用于Api接口和Ui访问。DNS/8600: 8600端口作为DNS服务器,它使得我们可以通过节点查询节点信息。

Consul Raft算法

解决了分布式中领导选举和一致性问题Raft算法是比较出名的共识算法,比如Redis的哨兵、Consul

Consul 集群的特点:

任期机制,Raft是终身任期的,它永远都是领导者心跳机制,它决定领导者是否能有效的和跟随者通信随机的选举超时时间,因为是随机的所以决定了不会再同一时间进行选举先到先得,一届任期内,先收到谁的投票就会给谁,剩下的请求一律拒绝过半机制,收到一半的投票才会

Consul 集群的角色:

Followers 追随者:接受到领导者发送的消息,当心跳超时时,主动推荐自己成为候选人。Candidate 候选人:发送Rpc消息,让其它节点投票给自己,当投票超过半数时,成为领导者。Leader 领导者:向其他节点发送心跳,只要心跳不超时,一直为领导者。

算法的详情可以点击官网视频查看

Consul 基本使用

注册服务

1.注册服务是Consul最基础的服务,点击查看官网Api

PUT 192.168.88.144:8500/v1/agent/service/register
{
    "Name":"audio",
    "Id":"audio",
    "Tags":[
        "v2",
        "primary"
    ],
    "Address":"192.168.88.144",
    "Port":8500,
    "Check":{
        "HTTP":"http://192.168.88.144:8500",
        "Interval":"10s"
    }
}
{
  "id": "web",
  "name": "web",
  "port": 80,
  "check": {
    "name": "ping check",
    "args": ["ping", "-c1", "test.stark.com"],
    "interval": "30s",
    "status": "passing"
  }
}

2.发现服务

GET http://192.168.88.144:8500/v1/health/service/audio
[
    {
        "Node": {
            "ID": "38779dca-bffd-e399-6597-266aff68132c",
            "Node": "server01-virtual-machine",
            "Address": "127.0.0.1",
            "Datacenter": "dc1",
            "TaggedAddresses": {
                "lan": "127.0.0.1",
                "lan_ipv4": "127.0.0.1",
                "wan": "127.0.0.1",
                "wan_ipv4": "127.0.0.1"
            },
            "Meta": {
                "consul-network-segment": ""
            },
            "CreateIndex": 13,
            "ModifyIndex": 17
        },
        "Service": {
            "ID": "audio",
            "Service": "audio",
            "Tags": [
                "v2",
                "primary"
            ],
            "Address": "192.168.88.144",
            "TaggedAddresses": {
                "lan_ipv4": {
                    "Address": "192.168.88.144",
                    "Port": 8500
                },
                "wan_ipv4": {
                    "Address": "192.168.88.144",
                    "Port": 8500
                }
            },
            "Meta": null,
            "Port": 8500,
            // ...
}
]

Service API Service 相关的 API 都在 /v1/agent/service 下:

/agent/services:该端点返回在本地代理程序中注册的所有服务;/agent/service/{service_id}:返回在本地代理上注册的单个服务实例的完整服务定义;/agent/health/service/name/{service_name}//agent/health/service/id/{service_id}:通过名称或id检索本地代理上的聚合服务状态;/agent/service/register:注册服务;/agent/service/deregister/{service_id} :注销服务;/agent/service/maintenance/{service_id}:该端点将给定的服务置于“维护模式”,在维护模式下,该服务将被标记为不可用,并且不会出现在DNS或API查询中。

关于更多Consul的使用,查询官方文档吧。

以上就是微服务之注册中心和配置中心Consul详解的详细内容,更多关于微服务注册配置Consul的资料请关注脚本之家其它相关文章!

标签:

(责任编辑:news01)
超50家美企齐聚大湾区 期待与中国开展更多合作 观天下

超50家美企齐聚大湾区 期待与中国开展更多合作 观天下

证券时报记者吴瞬今年以来,中国经济复苏加速,全球多个知名企业CEO连番访华,外企加速投资中国的态势正在
04-22 20:43:54
【直击一线】男子被机器“吃”手 廊坊消防紧急救援-世界视讯

【直击一线】男子被机器“吃”手 廊坊消防紧急救援-世界视讯

【直击一线】男子被机器“吃”手廊坊消防紧急救援
04-22 20:24:09
日本近畿大学算国内几本_日本近畿大学 世界关注

日本近畿大学算国内几本_日本近畿大学 世界关注

1、蔚蓝老师介绍一下在关西地区还是有一定知名度,但是全日本的话名气一般,近年学校也大势宣传,名气提升
04-22 19:55:01
【新要闻】未经批准私建凉亭?茂名某楼盘内一批违建被拆除!

【新要闻】未经批准私建凉亭?茂名某楼盘内一批违建被拆除!

未经批准私建凉亭?茂名某楼盘内一批违建被拆除!
04-22 19:19:11
沿河民族中学官网_沿河民族中学|全球通讯

沿河民族中学官网_沿河民族中学|全球通讯

1、简介:沿河民族中学(YanheNationalMiddleSchool)位于乌江尾端的沿河土家族自治县县城,是
04-22 18:57:04
天天微动态丨国际能源署与国际可再生能源机构联合发布《突破性议程报告2022》

天天微动态丨国际能源署与国际可再生能源机构联合发布《突破性议程报告2022》

9月20日,国际能源署(IEA)与国际可再生能源机构(IRENA)联合发布《突破性议程报告2022》(BreakthroughA
04-22 18:25:33
6人得分上双轻松取胜!马龙:我们球队不是只有约基奇和穆雷

6人得分上双轻松取胜!马龙:我们球队不是只有约基奇和穆雷

今日NBA季后赛,掘金在客场以120-111击败森林狼,系列赛比分来到3-0。赛后,掘金主帅马龙接受了记者采访。
04-22 17:47:22
男子坐飞机和妈祖像邻座:刚开始有点慌 被告知是幸运不用怕

男子坐飞机和妈祖像邻座:刚开始有点慌 被告知是幸运不用怕

回想下,你坐飞机最难忘的经历是哪编程客栈一次?对于刘先生来说,他4月21日从上海飞烟台的航班恐怕终身难
04-22 17:19:23
上海硬刚CBA调查公告,记者要求CBA联赛给个说法!-全球新视野

上海硬刚CBA调查公告,记者要求CBA联赛给个说法!-全球新视野

上海硬刚CBA调查公告,记者要求CBA联赛给个说法!,周琦,硬刚,上海市,上海男篮,江苏男篮,cba联赛,CBA两队打
04-22 17:14:43
环球新动态:中汽协:3月商用车产销均完成43.4万辆  环比分别增长37.1%和34.2%

环球新动态:中汽协:3月商用车产销均完成43.4万辆 环比分别增长37.1%和34.2%

据中国汽车工业协会统计分析,2023年3月,商用车产销均完成43 4万辆,环比分别增长37 1%和34 2%,同比分别
04-22 16:25:29
微信官方拍了拍怎么设置_微信拍一拍怎么设置

微信官方拍了拍怎么设置_微信拍一拍怎么设置

欢迎观看本篇文章,小勉来为大家解答以上问题。微信官方拍了拍怎么设置,微信拍一拍怎么设置很多人还不知道
04-22 16:01:14
今日热文:承德御道口:国家一级保护野生动物黑琴鸡“比武”求偶

今日热文:承德御道口:国家一级保护野生动物黑琴鸡“比武”求偶

承德御道口:国家一级保护野生动物黑琴鸡“比武”求偶---日前,在河北省承德市御道口牧场管理区,国家一...
04-22 15:34:53
欺人太甚是什么意思(欺人的意思)-头条

欺人太甚是什么意思(欺人的意思)-头条

欺人太甚,汉语成语,拼音是qīréntàishèn,出自《楚昭公》。那么欺人太甚是什么意思
04-22 15:28:16
当前消息!香港知名男星遭妻子家暴,头部受伤见血,网友直呼:都是报应

当前消息!香港知名男星遭妻子家暴,头部受伤见血,网友直呼:都是报应

香港知名男星遭妻子家暴,头部受伤见血,网友直呼:都是报应
04-22 14:56:34
环球动态:积极制定预制菜生产标准 14个预制菜产业项目集中签约

环球动态:积极制定预制菜生产标准 14个预制菜产业项目集中签约

标准化的生产体系让像“佛跳墙”这样的传统美食有了更广阔的舞台,也让预制菜产业走上了规范化的发展之...
04-22 14:48:37
ChatGPT国内手机版下载(chat app下载)

ChatGPT国内手机版下载(chat app下载)

chatgat3不收费了吗1、不收费。chatgtp是一款免费的聊天机器人服务,可以在线帮助提供专业的问题解答。它可
04-22 14:09:44
张扬说丨航天员太空之旅中的惊险时刻|环球热资讯

张扬说丨航天员太空之旅中的惊险时刻|环球热资讯

视频加载中 中国载人航天诞生于怎样的时代风云中?航天之旅背后都有哪些惊险时刻?属于中国人自己的空间
04-22 13:55:00
今热点:4个工具,让 ChatGPT 如虎添翼!

今热点:4个工具,让 ChatGPT 如虎添翼!

ChatGPT很好用,其核心是prompt的运用,其回答质量很大程度取决于你的提问质量。我算是ChatGPT的高频用户了
04-22 13:44:04
内敛是什么意思 环球消息

内敛是什么意思 环球消息

1、内敛(nèiliǎn),汉语词汇。2、意思是指收拢,聚集(连*收敛);敛足(收住脚步,不往前进);敛钱;
04-22 12:38:37
【全球新要闻】恒指牛熊街货比(67.4:32.6)︱4月22日

【全球新要闻】恒指牛熊街货比(67.4:32.6)︱4月22日

截至4月22日,恒指最新的牛熊街货比例为67 4:32 6。
04-22 12:01:51
当前短讯!高钙高草酸食物有哪些_高草酸食物有哪些

当前短讯!高钙高草酸食物有哪些_高草酸食物有哪些

1、明白你的意思,仅把富含草酸的食物(依次如下)告诉你,供你参考:菠菜、豆类、甜菜、芹菜、巧克力、葡萄
04-22 11:55:06
天天热头条丨肾钙化是什么意思需要治疗_肾钙化是什么意思

天天热头条丨肾钙化是什么意思需要治疗_肾钙化是什么意思

1、疾病分析:肾钙化是指血钙浓度升高,钙盐沉积于肾实质而引起的肾功能障碍。2、肾脏钙化的临床表现为异常
04-22 11:05:40
铭博股份2022年净利1.54亿同比增长158.73% 收入大幅增加

铭博股份2022年净利1.54亿同比增长158.73% 收入大幅增加

挖贝网4月22日,铭博股份(839821)近日发布2022年年度报告,报告期内公司实现营业收入1,889,049,087 92元
04-22 11:05:32
中国电信04月21日被沪股通减持253.87万股

中国电信04月21日被沪股通减持253.87万股

04月21日,中国电信被沪股通减持253 87万股,最新持股量为5989 52万股,占公司A股总股本的0 08%。
04-22 10:29:15
“成都雄起”!四川金牌球市和国脚艾克森,一起回归中超_全球报资讯

“成都雄起”!四川金牌球市和国脚艾克森,一起回归中超_全球报资讯

“成都雄起”!四川金牌球市和国脚艾克森,一起回归中超,中超,蓉城,艾克森,徐正源,四川省,成都市,格雷米...
04-22 10:01:39
今日聚焦!扬州:2023年全市经营性用地计划供应7000亩左右

今日聚焦!扬州:2023年全市经营性用地计划供应7000亩左右

扬州:2023年全市经营性用地计划供应7000亩左右-扬州市自然资源和规划局官方公开了《2023年全市自然资源和
04-22 09:50:19
全球今日讯!网易手游《阴阳师》×TV 动画《银魂》4 月 26 日联动,新角色亮相

全球今日讯!网易手游《阴阳师》×TV 动画《银魂》4 月 26 日联动,新角色亮相

IT之家4月21日消息,网易手游×TV动画《银魂》联动活动4月26日正式开启,联动限定SSR坂
04-22 09:38:54
世界快看点丨盘龙药业公布2022年年度权益分配预案  拟10派2元

世界快看点丨盘龙药业公布2022年年度权益分配预案 拟10派2元

同花顺财经讯盘龙药业于4月22日发布公告,公司2022年年度权益分配预案内容如下:以总股本9692 82万股为基数
04-22 09:24:58
如何制作辣椒的 Queso 蘸酱教程-动态

如何制作辣椒的 Queso 蘸酱教程-动态

Quesodip是一种普遍的取悦人群!虽然每个人都有自己最喜欢的quesodip食谱,但很少有人能比得上Ch
04-22 09:13:22
热门看点:刺激战场为什么要停服_被这款游戏取而代之

热门看点:刺激战场为什么要停服_被这款游戏取而代之

欢迎观看本篇文章,小勉来为大家解答以上问题。刺激战场为什么要停服,被这款游戏取而代之很多人还不知道,
04-22 08:52:12

为您推荐

精彩推送