Dubbo引入Zookeeper等注册中心简介以及DubboAdmin简要介绍,为后续详解Dubbo各种注册中心做铺垫!

文章目录

一:Dubbo注册中心引言

1:什么是Dubbo的注册中心?

2:注册中心关系图解

3:引入注册中心服务执行流程

4:Dubbo注册中心好处

5:注册中心核心作用

二:注册中心实现方案

1:早期

2:当前现状

三:DubboAdmin介绍

1:DubboAdmin简介

2:DubboAdmin的主要功能


一:Dubbo注册中心引言

1:什么是Dubbo的注册中心?

        Dubbo注册中心是Dubbo服务治理中极其重要的一个概念。它主要是用于对Rpc集群应用实例进行管理。

        对于我们的Dubbo服务来讲,至少有两部分构成,一部分是Provider一部分是Consumer。一个提供服务,一个调用我们的服务。

        后续随着规模的扩大,单机Provider受限于物理机的内存、CPU、网络带宽等硬件瓶颈,以及随着请求数量越来越多,链接数量也可能会达到瓶颈,这样的话,我们需要横向拓展我们的系统。这样我们的Consumer和Provider都会越来越多!

        Consumer和Provider都会越来越多之后,如何管理这么多的实例就需要引入我们的注册中心了。这就是Dubbo引入注册中心的必要性!

2:注册中心关系图解

3:引入注册中心服务执行流程

         Dubbo引入注册中心之后,我们的服务流程有了一点点的变化!

        引入注册中心的目的就是为了管理Provider集群。其中管理者一个服务的一组多个实例。                

        第一步:作为我们这一组Provider实例,必须在服务启动的时候首先向我们的注册中心进行注册,注册的内容中最为核心的内容就是本服务的ip地址和端口号。(当然肯定有别的内容,后续介绍!)

        第二步:我们的客户端也就是消费者Consumer来对我们的提供者Provider来发起调用!所以,首先在消费者启动的时候从注册中心拉取、订阅、服务发现我们的提供者的列表。把这个列表拉取到我们消费者的本地进行保存。

        第三步:这时候基于不同的负载均衡算法,从注册中心管理的诸多提供者实例中挑选一个实例出来进行Rpc调用。(负载均衡算法为了满足挑选实例的需要,这是一种客户端负载均衡的策略。Ngnix是服务端的负载均衡)

        第四步:第四步,我们就是要去做容错机制。什么叫容错呢?刚才,我们的服务器都进行了注册,然后消费者都拿到了他们的注册信息,万一发起请求的时候,某个提供者服务端挂了呢?这是有可能的。

        所以,容错机制就是当我们真实发起调用的时候,如果服务端挂了,怎么能够基于容错机制,把请求打到可用的实例上。

        第五步:获取真实的反应结果。

4:Dubbo注册中心好处

        好处一:可以有效的管理RPC集群的健康情况,动态的上线或者下线服务。让我们的服务更加⾼可⽤。

        结合我们上边的图理解一下就好。注册中心将所有的提供者都注册到它本身,这样注册中心不仅仅留存了他们所有的ip和端口号。

        更重要的是,有了这些信息之后,就可以对服务的健康问题进行检查。

        一旦服务挂了,可以实现服务的动态下线,或者流量激增,我们也可以动态让我们的下线服务再次上线!注册中心可以完成这个事!

        好处二:Provider与Consumer解耦合。

        不用注册中心,我们就得进行消费者和提供者之间的直连,这样的话把提供者的ip地址和端口号绑定到我们的消费者服务当中,这是一种耦合!

       好处三:提供负载均衡机制。

       可以合理的分配流量

       好处四:提供容错机制。

        刚才已经分析过了。某一个实例挂了,会自动切换到一个健康的实例上,这是一种高可用的体现!

5:注册中心核心作用

作用一:服务注册,服务提供者(Provider)在启动时,会将自身可提供的服务注册到注册中心作用二:服务发现,服务消费者(Consumer)在启动时,会向注册中心订阅⾃⼰需要的服务,注册中心会将相应的服务提供者信息返回给消费者,消费者据此可以调用对应的服务。作用三:服务路由,负载均衡、容错作用四:服务监控,注册中⼼可以记录服务的调⽤次数、调⽤延迟等信息,对服务的质量进⾏监控。

二:注册中心实现方案

1:早期

        早期在生产环境当中,我们主要使用Zookeeper作为Dubbo的注册中心实现。我们前边所讲到的所有内容都交给了Zookeeper

2:当前现状

       当前,随着技术发展,很有优秀的注册中心涌现出来:Zookeeper、Nacos、Consul、Etcd等等

        在今天,Dubbo的注册中心有很多选择,后续我们的文章当中,Zookeeper、Nacos、Consul这些注册中心在Dubbo中的使用,我们都会一一进行分析!

        需要注意的是:上述注册中心,他们的核心功能大致像是,但是他们的实现过程是有底层性差异的,但是总体差异不大!

三:DubboAdmin介绍

1:DubboAdmin简介

        Dubbo Admin是Apache Dubbo服务治理和管理系统的⼀部分。它主要帮我们管理的是服务相关的内容。

        DubboAdmin最为重要的内容:DubboAdmin提供了⼀套⽤于服务治理的Web界面,让我们可以更⽅便地对Dubbo系统进⾏管理和监控。

        新版本的Dubbo Admin是基于VUE、SpringBoot开发的,是一套前后端分离的Web系统。

2:DubboAdmin的主要功能

         服务管理:Dubbo Admin可以查看所有提供者和消费者的详细信息, 包括服务地址、方法、参数等。

        路由规则:Dubbo Admin可以根据需要设置路由规则,将请求导向特定的服务提供者。 

        动态配置:Dubbo Admin可以动态地改变服务的配置,包括负载均衡策略、容错策略等。

        权限控制:Dubbo Admin⽀持对访问进行权限控制,只有获得授权的用户才能访问特定的服务。

        监控和统计:Dubbo Admin可以收集并展示服务的运行数据,包括调用次数、响应时间等。

        综上所述:开发者通过Dubbo Admin可以更⽅便地进⾏服务治理和管理,提高服务的可⽤性和可维护性。

        注意:我们本次课程学习的是,是DubboAdmin的最新版本:0.5.0

        添加微信:DaShuDeveloper 拉你进我们的技术交流群,我们一起讨论Dubbo,一起学习Dubbo,一起干翻Dubbo!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/162892.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Springboot+vue的新冠病毒密接者跟踪系统(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频: Springbootvue的新冠病毒密接者跟踪系统(有报告)。Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的新冠病毒密接者跟踪系统,采用M(model)V(v…

景区智慧旅游智能化系统方案:PPT全文58页,附下载

关键词:智慧景区解决方案,智慧文旅解决方案,智慧旅游解决方案,智慧文旅综合运营平台 一、景区智慧旅游智能化系统建设背景 近年来,随着信息技术的快速发展和普及,以及旅游市场的不断扩大和升级&#xff0…

电脑自动删除文件怎么办?如何恢复?

在数字化时代,电脑已经成为人们不可或缺的工具之一。然而,由于各种原因,我们有时会遇到电脑自动删除文件的情况,这给我们的工作和生活带来了很多不便。那么,当电脑自动删除文件时,我们应该如何处理呢&#…

【Python爬虫】8大模块md文档从0到scrapy高手,第8篇:反爬与反反爬和验证码处理

本文主要学习一下关于爬虫的相关前置知识和一些理论性的知识,通过本文我们能够知道什么是爬虫,都有那些分类,爬虫能干什么等,同时还会站在爬虫的角度复习一下http协议。 Python爬虫和Scrapy全套笔记直接地址: 请移步这…

数据结构与算法编程题14

设计一个算法&#xff0c;通过一趟遍历在单链表中确定值最大的结点。 #include <iostream> using namespace std;typedef int Elemtype; #define ERROR 0; #define OK 1;typedef struct LNode {Elemtype data; //结点保存的数据struct LNode* next; //结构体指针…

RedHat NTP时间服务器配置Chrony(所有节点时间跟主节点时间同步)

NTP NTP&#xff08;Network Time Protocol&#xff09;是一种用于在计算机网络中同步时钟的协议。它的主要目的是确保网络中的各个设备具有准确的时间参考&#xff0c;以便协调事件顺序、安全通信和日志记录等应用。它通过分层体系结构、时间同步算法和准确的时间参考源来确保…

Linux设置静态IP

Linux设置静态IP 使用ip addr查看ip&#xff0c;如下所示就是动态IP 1、什么是静态IP&#xff1f; 静态ip就是固定的ip&#xff0c;需要手动设置。静态IP地址&#xff08;又称固定IP地址&#xff09;是长期分配给一台计算机或网络设备使用的 IP 地址。一般来说&#xff0c;一…

738. Monotone Increasing Digits 968. Binary Tree Cameras

738. Monotone Increasing Digits An integer has monotone increasing digits单调递增数字 if and only if each pair of adjacent digits x and y satisfy x < y. Given an integer n, return the largest number that is less than or equal to n with monotone increa…

TypeScript 学习笔记 第三部分 贪吃蛇游戏

尚硅谷TypeScript教程&#xff08;李立超老师TS新课&#xff09; 1. 创建开发环境 创建工程&#xff0c;使用学习笔记的第二部分安装css部分 npm i -D less less-loader css-loader style-loader对css部分处理&#xff0c;能够运行在低版本浏览器 npm i -D postcss postcss…

音色逼真、韵律自然的AI人声克隆限时福利!

声音&#xff0c;为数字人注入灵魂。 2023云栖大会上&#xff0c;阿里云视频云接受了CCTV-2财经频道的采访&#xff0c;分享并演示了如何利用云端智能剪辑&#xff0c;一站式完成数字人渲染及视频精编二创。 正如视频开头所呈现的AI重现演员“原声”&#xff0c;近年来&#x…

基于SpringBoot的图书管理系统

基于SpringBoot的图书管理系统 图书管理系统开发技术功能模块代码结构数据库设计运行截图源码获取 图书管理系统 开发技术 技术&#xff1a;SpringBoot、MyBatis-Plus、MySQL、Beetl、Layui。 框架&#xff1a;基于开源框架Snowy-Layui开发。 工具&#xff1a;IDEA、Navicat等…

【Linux】进程间通信——进程间通信的介绍和分类、管道、匿名管道、命名管道、匿名管道与命名管道的区别

文章目录 进程间通信1.进程间通信的介绍1.1目的和发展 2.进程间通信分类3.管道3.1匿名管道3.1.1匿名管道的原理&#xff08;文件角度&#xff09;3.1.2匿名管道的原理&#xff08;内核角度&#xff09;3.1.3管道读写规则3.1.4管道特点 3.2命名管道3.2.1创建命名管道3.2.2命名管…

谈思生物医疗直播 | 利用类器官模型研究肺的发育与稳态

类器官是一种三维细胞培养物&#xff0c;其在细胞类型&#xff0c;空间结构及生理功能上能够模拟对应器官&#xff0c;从而提供一个高度生理相关的系统。自2009年小肠类器官首次建立至今&#xff0c;类器官研究已经延伸到多个组织系统&#xff0c;并成为当下生命科学领域最热门…

美创获IDC数据库安全市场代表厂商推荐,一路引领数据库安全

近日&#xff0c;全球领先的IT市场研究和咨询公司IDC发布《IDC Persepctive&#xff1a;中国数据库安全市场洞察&#xff0c;2023》报告。 凭借多年的技术积累和丰富的产品体系与行业实践&#xff0c;美创科技获「代表厂商」推荐&#xff0c;再次彰显专业领先能力&#xff01; …

Mybatis一级缓存和二级缓存原理剖析与源码详解

Mybatis一级缓存和二级缓存原理剖析与源码详解 在本篇文章中&#xff0c;将结合示例与源码&#xff0c;对MyBatis中的一级缓存和二级缓存进行说明。 MyBatis版本&#xff1a;3.5.2 文章目录 Mybatis一级缓存和二级缓存原理剖析与源码详解⼀级缓存场景一场景二⼀级缓存原理探究…

部署项目时常用的 Linux 命令

目录 1 前言2 SSH登录命令3 SCP传输命令4 CP拷贝命令5 MV移动命令6 TAR解压命令7 DU查看文件夹/文件大小8 TAIL查看日志9 NOHUP后台运行10 结语 1 前言 在应用部署过程中&#xff0c;Linux命令是必不可少的工具。它们能够帮助我们管理文件、连接服务器、拷贝文件、查看日志以及…

vite项目配置vite.config.ts在打包过程中去除日志

在生产环境上&#xff0c;务必要将日志清除干净&#xff0c;其因有二&#xff0c;在webgis系统中&#xff0c;有很多几何数据&#xff0c;体积大、数量多&#xff0c;很容易引起系统卡顿&#xff1b;清除log后&#xff0c;系统看着舒服&#xff0c;协同开发有很多无聊的日志&am…

一款非常优秀的项目管理工具:进度猫(推荐)

在项目管理中&#xff0c;一个好的工具可以极大地提高效率。 进度猫是一款非常优秀的项目管理工具。它具有非常强大的功能&#xff0c;可以帮助团队更好地管理项目进度。 通过可视化的方式&#xff0c;将项目进度、任务分配、需求变更等全面呈现给团队成员&#xff0c;让团队…

需求分析BSA法

&#x1f449;BSA法&#xff08;Basic–Satisfier–Attractor&#xff09;是对客户需求进行优先级划分的需求分析方法。该模型体现了需求满足度和客户满意度之间的非线性关系。BSA法将客户需求分为3种类型&#xff0c;分别是基本型需求、满意型需求和兴奋型需求。下面将对每种需…

ABB机 器 人 操 作 培 训

目 录 1 培训手册介绍 ---------------------------------------------2 2 系统安全与环境保护 ---------------------------------------------3 3 机器人综述 ---------------------------------------------5 4 机器人示教 --------------------------------------------12…