dubbo的一些问题思考
1.dubbo是啥
Dubbo 是一个高性能的 Java RPC(远程过程调用)框架,用于构建分布式服务架构。由阿里巴巴开发并开源,作为一个分布式服务框架,Dubbo 提供了丰富的功能,包括服务治理、远程调用、负载均衡、容错机制等,帮助构建高性能、可扩展的分布式系统。
具体来说,Dubbo 框架为分布式系统提供了以下功能和特性:
远程调用:Dubbo 提供了远程服务调用的能力,允许不同服务之间透明地进行通信。
服务治理:Dubbo 提供了一系列服务治理功能,包括服务注册与发现、路由、动态配置、负载均衡、容错等,用于更好地管理和监控分布式系统中的各个服务。
负载均衡:Dubbo 支持多种负载均衡策略,能够根据实际场景灵活选择负载均衡策略,以提高系统的稳定性和性能。
容错机制:Dubbo 提供了针对分布式调用的容错机制,包括快速失败、失败重试、失败自动切换等,以保障服务的可靠性。
2.使用dubbo
1.自己在Linux里安装docker
2.拉取dubbo-admin镜像
3.拉取zookeeper镜像
4.创建启动这两镜像的容器(创建dubbo-admin容器的时候连接zookeeper容器)
1.Dubbo-admin是啥?
Dubbo-Admin 是 Dubbo 的管理控制台,Dubbo-Admin 是一个基于 Dubbo 协议的服务治理系统。通过 Dubbo-Admin,您可以查看 Dubbo 服务的各种统计数据、配置信息、动态调整参数以及监控 Dubbo 服务的运行状态。Dubbo-Admin 能够帮助您更好地管理和维护 Dubbo 服务。
具体来说,Dubbo-Admin 包含了以下一些功能:
服务治理:Dubbo-Admin 可以对 Dubbo 服务进行治理,包括对服务进行注册、下线、动态配置、路由规则配置等。
监控统计:Dubbo-Admin 可以展示 Dubbo 服务的运行状态、调用次数、响应时间等统计信息,帮助您更好地了解服务的运行情况。
动态配置:Dubbo-Admin 允许您动态地修改 Dubbo 服务的一些配置信息,如权重配置、路由规则、限流配置等。
简而言之:它就像Navicat一样是一个管理的控制台
2.Dubbo-admin连接Zookeeper干嘛?
Dubbo-Admin 控制台可以连接到 ZooKeeper。Dubbo-Admin 通常作为 Dubbo 服务治理的控制台,通过连接到 ZooKeeper,它能够获取 Dubbo 服务注册中心中的服务提供者和消费者信息,监控这些服务的运行状态,并进行服务治理操作。
具体来说,Dubbo-Admin 连接到 ZooKeeper 的作用包括:
服务发现:Dubbo-Admin 通过连接到 ZooKeeper,能够发现注册在 ZooKeeper 上的 Dubbo 服务提供者和消费者,并把这些信息展示在管理控制台上。
监控统计:Dubbo-Admin 可以从 ZooKeeper 获取 Dubbo 服务的运行状态、调用次数、响应时间等统计信息,用于服务的监控和统计分析。
服务治理:Dubbo-Admin可以通过连接到 ZooKeeper,执行一些服务治理操作,如服务上下线、动态配置等,将这些操作同步到 ZooKeeper 上,从而影响 Dubbo 服务的运行状态。
总而言之:把zookeeper作为了注册中心
3. zookeeper起到的作用?
ZooKeeper 经常被用作 Dubbo 的注册中心。在 Dubbo 中,服务提供者会将自己的地址注册到 ZooKeeper 上,而服务消费者则在 ZooKeeper 中获取服务提供者的地址。这使得 Dubbo 框架能够实现服务的注册与发现,从而协调服务提供者和消费者之间的通信。
ZooKeeper 提供了分布式的协调服务,可用于服务的注册与发现、动态配置等。Dubbo 利用 ZooKeeper 作为注册中心,通过 ZooKeeper 可以实现对服务提供者和消费者的动态管理,以及对服务调用过程的协调。
通过将 ZooKeeper 作为 Dubbo 的注册中心,Dubbo 框架能够实现高效的服务注册与发现,帮助构建出更加强大和可靠的分布式系统
如何注册?
在我们自己写的项目的配置文件application.properties 中,不是写在那个springboot那个自带那个application.yml配置中,xxx.properties文件优先级高于xxx.yml
####################### Dubbo 配置 ############## # 服务名 dubbo.application.name=user # 注册中心地址 dubbo.registry.address=zookeeper://192.168.184.140 # 注册中心端口 dubbo.registry.port=2181 # 连接注册中心超时事件 dubbo.registry.timeout=100000 # 采用的协议:dubbo协议 dubbo.protocol.name=dubbo # dubbo协议端口号 dubbo.protocol.port=20881 # 扫描dubbo注解基础包 dubbo.scan.base-packages=top.psjj业务层@service用的是dubbo依赖包中的service注解,目的是将服务暴露出去
相关文章:
dubbo的一些问题思考
1.dubbo是啥 Dubbo 是一个高性能的 Java RPC(远程过程调用)框架,用于构建分布式服务架构。由阿里巴巴开发并开源,作为一个分布式服务框架,Dubbo 提供了丰富的功能,包括服务治理、远程调用、负载均衡、容错机…...
盛最多水的容器(力扣11题)
例题: 分析: 这道题给出了一个数组,数组里的元素可以看成每一个挡板,要找到哪两个挡板之间盛的水最多,返回盛水量的最大值。这其实是一个双指针问题。 我们可以先固定第一个挡板( i )和最后一个挡板( j ),…...
.babky勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
导言: 网络安全威胁不断进化,其中.babky勒索病毒引起了广泛关注。这篇文章91数据恢复将深入介绍.babky的狡猾特征,以及在遭受其袭击时如何高效地恢复被加密的数据,并提供实用的预防方法。当面对被勒索病毒攻击导致的数据文件加密…...
20240103-通过布局让自己的生活有有意义人生有价值
最近听到看到的一些词 心力、稀缺、卓有成效、知行合一、致良知、心即理、事上练 最近琢磨出这么一个道理,就是任何人做事情其实都有内心趋势和一套适合他自己的内心驱动的方法。我们经常意识不到,我时常也会去寻求做一件事,是不是有特定的…...
JDK17 - 开发者视角,从 JDK8 ~ JDK17 都增加了哪些新特性
目录 前言 一、站在开发视角,从 JDK8 升级到 JDK17 都有哪些新特性 1.1、JDK8 新特性 1.1.1、Optional 类 a)简介 b)使用方法 c)使用场景 1.2、JDK9 新特性 1.2.1、Optional - ifPresentOrElse 解决 if-else 1.2.2、Opt…...
八股文打卡day11——计算机网络(11)
面试题:HTTP多个TCP连接怎么实现? 我的回答: 1.HTTP1.0的时候,一个TCP连接只能进行一次请求响应。可以建立多个连接到服务器,这样就可以同时进行多个请求响应,提高传输效率。 2.HTTP1.1推出了持久连接&am…...
在Android设备上设置和使用隧道代理HTTP
随着互联网的深入发展,网络信息的传递已经成为人们日常生活中不可或缺的一部分。对于我们中国人来说,由于某些特殊的原因,访问国外网站时常常会遇到限制。为了解决这个问题,使用代理服务器成为了许多人的选择。而在Android设备上设…...
Paddle3D 2 雷达点云CenterPoint模型训练
2 Paddle3D 雷达点云CenterPoint模型训练–包含KITTI格式数据地址 2.0 数据集 百度DAIR-V2X开源路侧数据转kitti格式。 2.0.1 DAIR-V2X-I\velodyne中pcd格式的数据转为bin格式 参考源码:雷达点云数据.pcd格式转.bin格式 def pcd2bin():import numpy as npimport…...
RabbitMQ集群的简单说明
1.普通集群(副本集群) 当集群中某一时刻master主节点宕机,可以对master中Queue中的消息进行备份。而就算master宕机了,从节点不会对外提供服务,等到master节点恢复后,系统才会恢复正常。 主从架构的缺点是队列中的消息只是位于主节…...
支付宝沙箱支付-验签出错之编码集异常
异常信息 invalid-signature 错误 验签出错 错误代码 invalid-signature 错误原因: 验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配,网关生成的验签字符串为: alipay_sdkalipay-sdk-java-dynamicVersionNo&....官方通用…...
图像分割-漫水填充法 floodFill (C#)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 本文的VB版本请访问:图像分割-漫水填充法 floodFill-CSDN博客 FloodFill方法是一种图像处理算法,它的目的是…...
在pycharm中jupyter连接上了以后显示无此库,但是确实已经安装好了某个库,使用python可以跑,但是使用ipython就跑不了
今天遇到一个事情,就是用pycharm的jupyter时,连接不上,后来手动连接上了以后,发现环境好像不对。 一般来说,这里会是python3,所以里面的环境也是普通python的环境,并没有我下载的库,…...
C++多态性——(3)动态联编的实现——虚函数
归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言📝 成功的秘诀就在于多努力一次ÿ…...
docker部署mysql
1.查找mysql镜像 [rootVM-4-5-centos ~]# docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-sourc…...
python代码大全(持续更新)
读写文件 # 读取文件 with open(file.txt, r) as file:content file.read()# 写入文件 with open(file.txt, w) as file:file.write(Hello, World!)HTTP请求 import requestsresponse requests.get(https://api.example.com/data) data response.json()JSON处理 import j…...
C#学习笔记 - C#基础知识 - C#从入门到放弃 - C# 处理程序异常相关技术
C# 入门基础知识 - C# 处理程序异常相关技术 第11节 处理程序异常相关技术11.1 捕获异常11.2 清除、处理所有异常11.3 引发异常11.4 预定义异常类11.5 自定义异常类11.6 异常的综合运用 更多C#基础知识点可查看:C#学习笔记 - C#基础知识 - C#从入门到放弃 第11节 处…...
[python]项目怎么使用第三方库
要在Python项目中使用第三方库,可以按照以下步骤进行: 安装第三方库:使用pip命令安装要使用的第三方库。例如,要安装requests库,可以运行以下命令: pip install requests导入库文件:在Python项…...
java每日一题——双色球系统(答案及编程思路)
前言: 打好基础,daydayup! 题目:要求如下(同时:红球每个号码不可以相同) 编程思路:1,创建一个可以录入数字的数组;2,生成一个可以随机生成数字的数组…...
java的mybatis
一.spring 整合单元测试 二.lombok 三.注解方式开发 四.xml 方式开发 五.动态sql...
Linux驱动开发简易流程
推荐视频: 正点原子【第四期】手把手教你学 Linux之驱动开发篇 小智-学长嵌入式Linux&Android底层开发入门教程 能力矩阵 基础能力矩阵 熟悉c/c、熟悉数据结构 熟悉linux系统,Shell脚本,Makefile/cmake/mk 文件IO、多线程、竞争、并发…...
AI-Native数据分析:43 次工具调用,蒸馏成 1 张可复用的知识卡片
很多人最近都在聊 AI-native 工作流, 也在聊"蒸馏"自己的知识库. 但聊得多, 真正落地的人少 —— 因为大家手里的 AI 工具大多停留在 "AI-enabled" 阶段: 一次性问答工具, 用完即弃, 每次重新对一遍口径.这篇文章想用一条真实的 InfiniSynapse 任务回放, 把…...
从基础到智能体:RAG技术演进与实战避坑指南
1. 从基础到进阶:我眼中的RAG技术演进与实战价值如果你正在探索如何让大语言模型(LLM)变得更“靠谱”,尤其是在处理专业、实时或私有数据时,那么“检索增强生成”(RAG)技术几乎是你绕不开的路径…...
Python内置模块:io、file、json、csv
一、io StringIO - 文本字符串的缓冲区 from io import StringIO# 创建StringIO对象 sio StringIO() # 空缓冲区 sio StringIO("initial text") # 带初始数据# 常用方法 sio.write("Hello ") # 写入字符串&…...
Bevy引擎拾取系统:从射线检测到事件冒泡的完整交互方案
1. 项目概述与核心价值在构建交互式应用,尤其是游戏或3D编辑器时,一个基础且高频的需求就是让用户能够用鼠标、触摸屏等指针设备与屏幕上的物体进行交互。简单来说,就是“点选”功能。在Bevy引擎的早期版本中,这个看似简单的功能实…...
独立开发者如何下载使用Taotoken管理多个AI项目的模型与密钥
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 独立开发者如何下载使用Taotoken管理多个AI项目的模型与密钥 对于独立开发者或小型工作室而言,同时推进多个AI应用项目…...
【仅开放72小时】:Gemini Workspace与Microsoft Entra ID双向同步的密钥轮换脚本(含自动审计日志生成器)
更多请点击: https://intelliparadigm.com 第一章:Gemini Workspace整合方案概述 Gemini Workspace 是 Google 推出的面向企业级 AI 协作的统一平台,其核心价值在于将 Gemini 模型能力深度嵌入办公套件(如 Gmail、Drive、Docs、M…...
2026.5.12:三台服务器,一台fastapi的websocket服务接口,一台代理fastapi服务的nginx,一台代理上一个nginx,能穿透websocket吗?
三台服务器,一台fastapi的websocket服务接口,一台代理fastapi服务的nginx,一台代理上一个nginx,能穿透websocket吗? 环境: - 三台服务器 1. 一台fastapi中有websocket接口的服务器:43.226.44.50 2. 一台代理上面1里面的fastapi服务的nginx:43.226.44.184 3. 一台代…...
【AI面试临阵磨枪-54】如何监控 AI 系统:成功率、延迟、Token 消耗、幻觉率、调用量
一、 面试题目面试官提问: “在大规模 Agent 系统中,你是如何建立监控体系的?请针对 成功率、延迟、Token 消耗、幻觉率、调用量 这五个核心指标,详细谈谈你的采集、分析与预警方案。”二、 知识储备1. 核心背景:AI 监…...
AI智能体审批系统设计:从规则到价值网络的动态决策引擎
1. 项目概述:为什么AI需要“举手提问”?在AI智能体(Agent)日益深入业务流程自动化的今天,一个核心的、却常被忽视的问题浮出水面:这个拥有一定自主决策能力的“数字员工”,在什么情况下应该停下…...
三阶段掌握罗技鼠标压枪宏:从新手到精准射击的完整指南
三阶段掌握罗技鼠标压枪宏:从新手到精准射击的完整指南 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 你是否在绝地求生中遇到过这样…...
