springboot对接dubbo遇到的巨坑

news/2024/11/19 13:39:33/文章来源:https://www.cnblogs.com/xzlnuli/p/18433508

1、添加配置jar包

 <dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.7.4.1</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-actuator</artifactId><version>2.7.4.1</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>2.8.0</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>2.8.0</version></dependency>

说明:不同的springboot版本对应的dubbo版本以及 dubbo-spring-boot-starter 版本是不一样的,需要上GitHub上去查找对应的关系

2、添加dubbo配置

dubbo:protocol:name: dubboport: 20888 协议端口号,消费者的协议端口号可随意配置registry:address: zookeeper:2181?timeout=60000protocol: zookeeperapplication:name: diagnosis_gasid: diagnosis_gasscan:base-packages: cc.eslink  服务提供方所在的包位置

 

3、巨坑-服务消费者获取不到服务提供者提供的服务

3.1 如图,dubbo-admin可以查找的服务

说明:机器显示的IP 和端口,是服务提供者实际的IP地址和暴露的服务,并非是注册中心Zookeeper的地址,这个地址就是服务提供方注册到

zookeeper上的地址,zookeeper会通过该地址寻找服务。

3.2 注册的地址是内网地址还是外网地址

说明:注册的地址是内网地址,dubbo注册服务默认都是内网地址,若要让注册的服务是外网地址,需要修改hosts映射的地址,一般服务器映射的都是

内网地址,这里可以改成外网地址,这样注册的就是外网地址

3.3 为什么服务访问不到

说明:当消费者去消费服务的时候,通过外网地址连接到zookeeper上,zookeeper去查找提供的服务,但是提供的服务是内网地址,没法和消费者

建立连接,服务是不通的,所以没法提供服务

3.4 怎么解决消费不到的情况

1、把hosts内网地址,改成外网地址,这样暴露的服务就是外网地址,我们通过外网就可以访问了

2、服务提供者和消费者都在同一台服务器上,这样内网之间的网络是通的,也是可以进行访问的

 参考博客:https://blog.51cto.com/u_12270378/2809505


4、巨坑-zk明明可以ping通,但是就是连接不上

说明:zookeeper的外网地址,是可以ping通的,且端口也是可以通信的,但是就是连接不上

原因:zookeeper的默认超时时间是5毫秒,时间太短了,还没连接上就端口了

方法:配置zookeeper连接的时候,带上超时时间

如下:address="zookeeper://106.75.177.44:2181?timeout=600000"

参考博客:https://zhuanlan.zhihu.com/p/343204228

 

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

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

相关文章

一款高性价比4g工业路由器,配置简单,网络覆盖强

​各位老铁,今天给大家介绍一下SR600这款工业级4G路由器。这玩意儿是专门为工业环境设计的,比如说化工厂、矿场这种恶劣环境,普通路由器根本扛不住。先说说SR600的硬件配置:处理器: 工业级CPU,厂家没透露具体型号,但性能够用内存: 128MB,满足工业控制需求存储: 16MB Flash,可扩…

VS Code 的SSH连接不成功问题分析与解决

问题描述:多次输入密码,一直连接不上 解决方法; 打开远程服务器中~/.vscode-server/bin/xxx文件夹,此时可以看到一个名为vscode-server.tar.gz,截图如下:上面的37开头的文件夹称为Commit Id,现在利用Commit ID下载远程连接需要的文件。使用这个链接: https://update.cod…

「FJWC2020Day5-zzq」rng 题解

题意简述 一个长度为 \(n\) 的实数序列 \(a_i\),其中 \(a_i\) 为 \([l_i, r_i]\) 中独立均匀随机选取的实数。你只能通过交换相邻两个数,使得 \(a_i\) 单调不降。你需要求出你最少操作次数的期望,对 \(M = 998244353\) 取模。 \(1 \leq n \leq 10^6\),\(0 \leq l_i \lt r_i…

wpf ToggleButton选中效果和一个登录界面

先看效果 我修改了ToggleButton的ControlTemplate,在ContentPresenter外面加了4个Border,控制4个Border的位置在ControlTemplate的左上、右上、左下、右下,选中时,触发4个边框的BorderThickness <Setter Property="BorderThickness&qu…

WindowSystemEvent

Qt中为WindowSystemEvent事件定义了处理函数Handler,通过宏定义和模版来声明定义 ---- QT_DEFINE_QPA_EVENT_HANDLER Matches (25 in 1 files) ---- qwindowsysteminterface.cpp (gui\kernel) line 199 : #define QT_DEFINE_QPA_EVENT_HANDLER(ReturnType, HandlerName, ...) …

基础数据结构之递归

递归 1) 概述 定义 计算机科学中,递归是一种解决计算问题的方法,其中解决方案取决于同一类问题的更小子集In computer science, recursion is a method of solving a computational problem where the solution depends on solutions to smaller instances of the same probl…

JAVA的数组基本用法

array 在声明数组变量时,需要指出数组类型和数组变量名,例如int[] a;不过这条语句只是声明了变量a,并没有将a初始化为一个真正的数组。应该使用new操作符来创建数组。 int[] a = int[100]或者var a = new int[100]数组长度不要求是常数 但是一旦创建了数组,就不能再改变它的…

Unity DatePicker用法,实现UI的日期/时间选择器功能

前言 用Unity3d做一个类似于选时间段,查询数据并展示统计UI的功能 插件 https://assetstore.unity.com/packages/tools/gui/datepicker-for-unityui-68264 样例效果 弹出日期选择器时间范围选择器包含类型 Shared Calendar 共享的日历,这个就是几个选择器共用一个日历来选择时…

正三棱台

正三棱台的相关知识点前情概要 正三棱台的概念,表面积,体积公式,引申 动态演示结合上图,你能说出正三棱台的各部分的名称吗?你能自行画出正三棱台的图形吗? 典例剖析 【2025届高三质检一试题】已知正三棱台 \(ABC-A_1B_1C_1\) 的上底面积为 \(\sqrt{3}\),下底面积为 \(4…

【VMware vCenter】升级到 vCenter Server 8.0 U3b 后 vSphere Client 出现卡死和不响应等问题的解决方法。

最近 VMware 发布了 VMSA-2024-0019 安全通告,更新并修复了 CVE-2024-38812 和 CVE-2024-38813 编号中发现的 vCenter Server 漏洞,可能很多人都已经更新了,我也将自己的实验环境更新到了说明中所修复的版本,vCenter Server 8.0 U3b,内部版本号 24262322。但是,更新之后使…

vscode设置python解释器以及函数无法点击跳转问题

1.下载插件 1.1 Python1.2 Pylance1.3 Remote-SSH2.设置本地/远程python解释器 2.1本地设置 2-1-1 设置解释器路径设置自定义python解释器路径,mac快捷键command + p> python: select interpreter选择或者输入解释器2-1-2 查看设置结果设置完python-venv路径后,打开py脚本…

老毛子、H大固件wan口修改为lan口

事由 因路由器只有一个wan口两个lan口。无线桥接(非AP模式)之后wan口也就没有用了,两个lan口也不够我用,索性将wan桥接为lan。另外:解释一下为何说我桥接不说修改,修改对外行对结果来说的状态,内部命令行专业来说其实就是桥接命令 需求和操作结果 wan口修改为lan口、无线…