在单体应用中,所有功能都在一个应用中,但是随着业务增长,系统功能逐渐变得庞大,单体应用在开发、部署等方面效率逐渐低下,开发协同越来越困难,等等问题。因此,对系统进行拆分变的必要。
但是在微服务架构中,越来越多的服务被拆分出来,整个系统之间的调用关系也会越来越复杂,各个服务管理也会变的越来越困难。那么对这种数量极多、依赖关系复杂的系统如何进行管理成为了一个问题。
这时需要一个注册中心进行服务治理。
注册中心是什么
首先,在微服务架构中,注册中心是什么?
一张图进行概括,它就是一张通讯录:

它将各个服务的信息进行存储,然后提供给需要者,同时维护各种过期失效的内容。
注册中心原理
在微服务中,有三个非常重要的角色:注册中心、服务提供者、服务消费者。对应关系如下:

对应的过程如下:
各个服务启动信息注册到注册中心,注册中心保存注册数据。
各个服务注册成功后,上传服务健康信息到注册中心进行保活。
各个服务消费者启动时向注册中心订阅服务信息,获取服务地址列表,注册中心在服务列表发生变化时同步给服务订阅者。
各个服务消费者调用服务提供者。
注册中心功能
根据上图中的信息,大致可以列出注册中心要提供的功能如下:
服务注册表:注册中心的核心功能,记录各个服务提供者的信息,比如服务名、IP、端口等。维护服务订阅者信息。
服务注册、注销接口:供服务提供方进行服务注册和服务注销。
健康检查和服务摘除:提供健康信息上报接口,供注册服务上传健康信息进行服务保活。同时对于失效节点能够及时摘除并同步给服务订阅者。
服务订阅和变更通知:供服务消费者使用。
注册中心实现机制
服务注册模式主要分为两种:自注册模式、第三方注册模式。
自注册模式
每个服务自己向注册中心进行注册和注销,同时上传健康信息到注册中心来保持注册有效。
优点:实现方式简单,不需要部署其它额外的组件。
缺点:耦合度较高,服务端需要和注册中心进行适配。
第三方注册模式
每个服务实例不需要自己直接向注册中心进行注册和注销,同时也不需要关注自己的健康信息,这些事情直接由第三方组件来做。
优点:服务和注册中心解耦,不需要服务按照注册中心来进行适配。
缺点:第三方组件需要保证高可用,引入第三方服务也增加了系统的复杂度。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/mrxiaobai-wen/p/14279223.html
utf-8吗表中所有汉字的区间的正则表达式[u4e00-u9fa5]汉字常用字unicode吗表Stringbase="u7684u4e00u4e86u662fu6211...
weixin_39816260
阅读(929)
Vonic—基于Vue.js和ionic样式的移动端UI框架先放上源码和demo地址:需要的js,css文件在jquery-1.11.1.min.jsindex.html需要注意的是,在html中使用...
weixin_39661129
阅读(835)
写作这些年来,认识了很多优秀的小伙伴,比如说鹅厂的小北,他在知乎上的一篇回答非常火,借这个机会,分享给我在CSDN上的11万粉丝们...
欢乐是不会消失的,海绵宝宝
阅读(118)
汉字编码简明对照表说明:1、下列汉字取自国标(GB2312-80)中的分级与排列内容;包含所有的第一级汉字和第二级汉字中的常用部分。2、第一级汉字(16—55区的汉字)以拼...
weixin_39520988
阅读(768)
参考链接官网https://ffmpeg.org/doxygen/3.4/decode_video_8c-example.htmlhttps://blog.csdn.net/u014162133/ar...
agentky
阅读(127)
实际上在Python中’…’和”…”是完全一样的,但不能出现’…”和”…’这种情况。而将其混合使用会有很多意想不到的效果:具体规则如下:若字符串没有引号嵌套&...
weixin_39787792
阅读(939)
分类模型的损失函数分类模型的损失函数有很多种,比如svm的hingeloss逻辑回归的logitlossMSE多分类时的交叉熵在分类问题中,交叉熵优于MSE的原因,简而言之,是MSE是假设数据符合高斯...
孔祥奕
阅读(167)
大家好,今日我们继续讲解VBA数组与字典解决方案,今日讲解第69讲内容:如何将一般字典的键和键值转换成二维数组。我们知道,字典的键和键值在提取出...
weixin_39711959
阅读(254)
Photolemur借助计算机科学,人工智能和一些魔力,立即让您的照片更好,更生动。它弥合了您的眼睛所看到的和您的相机拍摄的内容之间的差距。在现实生活中...
weixin_39541212
阅读(636)
在第十六课的时候,我们一起学习了如何规划网络,部署云上业务。当您在云上部署了自己的服务后,接下来就要考虑如何保障服务的安全性了。比如说,绑定了E...
香香甜甜圈
阅读(810)