您的位置:首页 >国内 >

微服务 - 注册中心和配置中心(Consul)|世界观热点

2023-04-22 13:33:16    来源:腾讯云

概述

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


【资料图】

注册中心

注册中心选型

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

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

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

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

CAP原理

一致性: 所有节点在同一时间具有相同的数据可用性:保证每个请求不管成功或者失败都有响应分区容错:系统中任意信息的丢失或失败不会影响系统的继续运作

Feature

Consul

ZooKeeper

etcd

服务健康检查

服务状态、内存、硬盘

长链接、Keepalive

链接心跳

多数据中心

支持

K/V存储服务

支持

支持

支持

一致性

Raft

Paxos

Raft

CAP定理

CP

CP

CP

使用接口(多语言能力)

Http/Dns

客户端

Http/Grpc

安全

acl/https

acl

Https支持

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的使用,查询官方文档吧。

标签:

相关推荐

跳水失败脸部着地_跳水失败脸摔两半-今日快看

快看点丨三重挑战交织 欧洲经济苦寻脱困之策(环球热点)

成都楼市“打新”中签率低至0.47%,房价涨幅继续领跑全国

石头理财清退款是否属实_石头理财

江西银行去年归母净利润下滑超25%,不良贷款暴涨27亿元不良率上浮至2.18%_每日视点

国资委:全面推进国资央企云体系和大数据体系建设_天天观点

《志愿军:雄兵出击》定档国庆,新预告志愿军战士走冰河入火海

环球速讯:计量法实施细则第51条规定原文内容?

天天最资讯丨面向粤港澳市场 江西推出1680万元文旅消费券

扑打明火6公里 中蒙中俄边境草原火已初步得到控制

灿谷(CANG.US)宣布新的5000万美元股票回购计划_全球实时

亿道信息:消费电子市场正重新回到增长的轨道上

每日热讯!新集能源(601918):4月21日北向资金减持9.77万股

环球关注:满足高性能计算需求,全新ThinkPad T14p与X1 Carbon曝光|科技前线

沐猴而冠讽刺的是谁_沐猴而冠的典故 最资讯

勇士拿下G3,天王山还远吗? 环球速递

宝马MINI再道歉,称“老外”是同事 网友:现场不能说?

京山轻机:一季度净利5337万元 同比增长61.49%|速讯

省自然资源厅领导到嘉祥县看望省派工作队员

金徽酒一季度净利1.82亿元 香港中央结算公司新进十大股东名单

“你送我检”守护群众舌尖上的安全

福特蒙迪欧用什么机油,蒙迪欧用5W30还是5W40

4月21日基金净值:长城双动力混合A最新净值1.5431,跌2.75%-世界看点

要闻:4月近半数二三线城市房贷利率低于4.1% 部分城市面临利率上调风险

每日快看:国际法的基本原则属于国际强行法范畴吗_国际法的基本原则属于国际强行法范畴

要闻:疳积是什么意思_疳

美国奈飞是什么公司(美国奈飞是什么公司做什么的)

76岁大爷盗墓为过世孙子配婚获刑,事后坦诚认罪并致歉

威少:为小卡感到难过 他这段时间打出了世界最佳水平的篮球

2023Q1上海居民爱开什么车?特斯拉包揽冠亚军 比亚迪很“受伤”

从“云辇”出圈,看英恒科技如何在汽车电子新周期内寻确定性机会

iOS 屏幕旋转的设置方法_今日快讯

我市中小学生三维创新设计大赛收官

今日IC37效果如何?_环球今日讯

大金湖在哪个城市_大金湖在哪里|环球看点

冰箱排水孔疏通图解海尔(冰箱排水孔疏通图解)

当前聚焦:购物节的场景作文怎么写(必备16篇)

世界速递!华为手机如何开启微信指纹支付 华为手机如何开启微信指纹支付设置

欧普照明于杭州参股成立科技公司,注册资本660万元

股票行情快报:华海清科(688120)4月21日主力资金净卖出88.15万元

贵州遵义:阅读红色经典 讲好遵义故事

4月20日 14:03分 长盈通(688143)股价快速拉升

锦和商管(603682):4月21日技术指标出现观望信号-“黑三兵”|世界即时看

子夜是指现在的什么时间?午夜与子夜的区别是什么?

酒精的化学式是什么?女生对你说CH3COOH什么意思?

月亮围着太阳转还是地球转?月亮围着地球转一圈是多久?

广州简称什么?粤是哪里的简称?

海水的颜色和什么因素有关?大海治愈心情的句子有哪些?

【品种交易逻辑】负反馈驱动预期主导盘面,铁矿还有多少路要走?|全球实时

每日热议!风云再起:围猎一线城市土拍,核心房企逻辑生变

环球观点:2022年度保险服务质量指数结果出炉:长江财险、汇丰人寿排名垫底

好消息!止跌回升,“药茅”交出成绩单 即时看

合肥到北京多少公里?合肥到重庆怎么去划算?

台湾话三小是什么意思?韩国三个小孩叫什么?

热文:火花塞价格差距_火花塞价格

快快评丨多读书,成就的不只是你自己 新动态

你的家乡是哪种 “国色” ?

焦点关注:【侠客岛|经济Ke】不止宝马MINI!这条新闻更值得关注

香港新增1例猴痘输入个案

日本证实:他,确认死亡!

焦点资讯:海评面:AI、VR、XR……中国网络媒体论坛科技感十足

英国副首相兼司法大臣辞职,政府公布继任者

环球新资讯:北约秘书长:“成员国都同意乌克兰加入,但要确保它赢”

全球播报:朝阳城管对重点商圈垃圾分类开展突击检查

【天天新要闻】桂发祥:2022年亏损7061.27万元 拟10派1.5元

天天最资讯丨万胜智能(300882):该股换手率大于8%(04-21)

期货交易夜读 | 你们的期货交易都是怎么一步步盈利的,都经历了那些?

全球速讯:国资央企云+大数据体系建设或提速 哪些企业有望乘风?

【世界时快讯】二十届中央全面深化改革委员会第一次会议:要着力优化民营经济发展环境

“可能很忙,但不太赚钱”的一季度

每日热点:买到烂尾楼怎么办?最高法这份批复意义重大

伟星新材:2022年净利同比增6%拟10派6元_环球热头条

华安证券:一季度净利3.64亿元同比增242%_世界短讯

看点:意大利小伙罗密欧:与中国“有约”发现中国之美 期待共创中国故事!

美国挑刺中国电商平台Shein、Temu,商务部回应:严重关切

做手术不如写论文?中青年医生的不可承受之重

焦点!4月22日起,海南进岛客货车辆全预约购票过海

焦点热门:外交部:针对韩方涉台错误言论,分别在北京和首尔向韩方提出严正交涉

环球观察:朔州:禁毒宣传进校园 筑牢拒毒防火墙

以书为媒,西城党群服务中心里开了家图书漂流驿站-全球新动态

滚动:文化筑梦强军路,西城区图书馆把数字阅读资源送进军营

环球微动态丨“团贷网”非法集资案二审维持原判

天天热资讯!沪港通交易日历优化将上线实施,沪股通首次新增日为5月25日

全队46次罚球 杜兰特11次 保罗:太疯狂了 有杜兰特的感觉真好

每日简讯:科技和场景加持!海尔在轨道交通持续夯实第一地位

提前感知这个“五一”假期有多火!五一假期十大热门城市盘点,旅游酒店板块有望爆发?

技术刘报告:黄金上探第一阻力,美油一度下逼枢轴点_天天看热讯

医疗微观|近八成企业家自认为职业紧张较严重,专家呼吁进一步开发相关健康产品

张裕2022年营收近40亿,较其巅峰时跌近40% 观察

“一天半”的东南亚水果!东航携手盒马突破果品运输时空限制-热点评

焦点滚动:深圳二手房参考价传闻24小时:有业主连夜涨价200万,降价房源却比涨价多

饮料行业碳减排竞争升级,脉动宣布生产工厂全部实现碳中和_当前视点

时讯:李宰旭有望出演古装悬疑片《吞金》,或将搭档曹宝儿

全球快资讯丨基金代销江湖再迎一家券商,“三足鼎立”券商凭投研实力上位?

不签合同双倍工资赔偿的计算-快报

上海浦东以首创性改革助高质量发展|全球消息

观热点:强信心·开新局|雪域高原春日忙——西藏高原经济高质量发展一线见闻

环球讯息:万人说新疆|浓香四溢的红火生活

环球聚焦:专访:务实的治理体系使中国有效应对外部挑战——访巴西圣保罗州立大学经济与...

超预期!世界打开中国经济“一季报”的正确姿势-世界百事通