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.hqwc.cn/news/210337.html

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

相关文章

【Pytorch】Visualization of Feature Maps(3)

学习参考来自: Image Style Transform–关于图像风格迁移的介绍github:https://github.com/wmn7/ML_Practice/tree/master/2019_06_03 文章目录 风格迁移 风格迁移 风格迁移出处: 《A Neural Algorithm of Artistic Style》(ar…

RTT打印在分区跳转后无法打印问题

场景: RTT打印仅占用JLINK的带宽,比串口传输更快更简洁,同时RTT可以使用jscope对代码里面的变量实时绘图显示波形,而采用串口打印波形无法实时打印。同时可以保存原始数据到本地进行分析,RTT在各方面完胜串口。 问题描…

springboot+vue热带野生动物园景点预约门票订票系统

热带野生动物园景点预约订票系统为野生动物园提供景点管理服务的系统,通过登录系统,管理该野生动物园所有的景点信息、景点分类信息、野生动物园新闻、通知公告、回复会员留言等,并可以通过订单管理查看会员预定的订单信息,对订单…

阿里云经济型e实例云服务器怎么样?性能测评

阿里云服务器ECS推出经济型e系列,经济型e实例是阿里云面向个人开发者、学生、小微企业,在中小型网站建设、开发测试、轻量级应用等场景推出的全新入门级云服务器,CPU采用Intel Xeon Platinum架构处理器,支持1:1、1:2、1:4多种处理…

OpenLayers实战,WebGL图层鼠标经过要素高亮显示,根据变量自动修改WebGL图层要素的透明度、大小和颜色

专栏目录: OpenLayers实战进阶专栏目录 前言 本章讲解OpenLayers使用WebGL图层情况下,鼠标经过要素高亮显示,根据变量自动修改WebGL图层要素的透明度、大小和颜色的功能。 webgl图层的样式并不像普通矢量图层直接修改或者切换样式就可以的,而是要预先通过webgl的运算符编…

springboot使用redis缓存乱码(key或者 value 乱码)一招解决

如果查看redis中的值是这样 创建一个配置类就可以解决 package com.deka.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; i…

kettle获取系统信息和获取当前时间

在同步数据表的时候要更新插入时间和更新时间,使用kettle的获取系统信息组件 添加插入时间和更新时间 点击类型,选择不同时间,如下图所示,类型处选择信息类型(系统日期) 获取系统信息 1、系统日期(可变)&a…

设置滚动条样式

滚动条样式&#xff1a; 下面是代码&#xff1a; <!doctype html> <html lang"en"><head><meta charset"UTF-8"><title>CSS3自定义滚动条</title><style>header {font-family: Lobster, cursive;text-align: c…

介绍一个功能强大的shopify app——TINYIMG

各位观众老爷&#xff0c;南来的北往的&#xff0c;东去的西走的&#xff0c;今天给大家推荐一个功能很强大的shopify app 当当当 那就是 tinyimg 这个app有多牛逼呢&#xff0c;且听我慢慢道来 首先这个app可以用来优化图片大小&#xff0c;给你的网站提提速 然后这个app还可…

YOLOv5改进: Inner-IoU基于辅助边框的IoU损失,高效结合 GIoU, DIoU, CIoU,SIoU 等 | 2023.11

💡💡💡本文独家改进:Inner-IoU引入尺度因子 ratio 控制辅助边框的尺度大小用于计算损失,并与现有的基于 IoU ( GIoU, DIoU, CIoU,SIoU )损失进行有效结合 推荐指数:5颗星 新颖指数:5颗星 💡💡💡Yolov5/Yolov7魔术师,独家首发创新(原创),适用于…

2014年9月26日 Go生态洞察:使用Docker部署Go服务器

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…