当前位置: 首页 > news >正文

Dubbo 指定调用固定ip+port dubbo调用指定服务 dubbo调用不随机 dubbo自定义调用服务 dubbo点对点通信 dubbo指定ip

1. 在写分布式im时nami-im: 分布式im, 集群 zookeeper netty kafka nacos rpc主要为gate(长连接服务) logic (业务) lsb (负载均衡)store(存储) - Gitee.com,需要指定某一长连接服务调用,其他博客得都调不通,写的有问题。要不就是通过xml进行配置,本文主要是以代码形式,调用前 配置ip, port 进行rpc方法调用,方便后来者使用

2. dubbo官网的指定调用代码示例:

动态指定 IP 调用 | Apache Dubbo

如不能访问网址,可看下图,如图所示:

 

 

   tip: 如果不能访问官网,且想复制图中代码;复制图片==>打开微信==>打开图片(也可能需要发送) ==> 打开图片,复制即可

a. pom 添加依赖

    a.1 : 如果是dubbo3  则引用如下jar包

<dependency><groupId>org.apache.dubbo.extensions</groupId><artifactId>dubbo-cluster-specify-address-dubbo3</artifactId><version>1.0.0</version>
</dependency>

   dubbo2:

<dependency><groupId>org.apache.dubbo.extensions</groupId><artifactId>dubbo-cluster-specify-address-dubbo2</artifactId><version>1.0.0</version>
</dependency>

b. 代码

# 调用配置类 <> 内写入接口类
ReferenceConfig<你的调用类> referenceConfig = new ReferenceConfig<Demo>();
# 可以配置 调用失败的重试次数
referenceConfig.setRetries(2);# 官方没有,但是我测试的时候,如果不配置一遍, 会出错
referenceConfig.setInterface(Demo.class)
# 等等其他配置
#....referenceConfig.setInterface(Demo.class);
Demo demo = referenceConfig.get();// 写入ip, dubbo端口号
UserSpecifiedAddressUtil.setAddress(new Address(ip, port, true));
# 调用方法,并传参
demo.test(param);

c . 图中一个问题是ip, port 怎么获取

     c1.查看dubbo源码拿到获取ip方法:

                                  NetUtils.getLocalHost() 

        上述是dubbo 的源码方法即获取ip,只要使用dubbo ,直接调用就能调用出来,注意这个是dubbo的源码方法,引用包结构别错了

      c2.端口的话会出现两种情况:

                                                  1. 配置文件是随机端口

                                                  2.是固定dubbo protocol port

            如果是随机端口,则可能需要从nacos配置中心,写代码获取

                

 

           我选用了固定dubbo 端口 ,比较简单,通过@Value注解 获取生产者dubbo端口

 

           如果是随机端口,启动之后,dubbo有没有方法可以获取到随机端口号,或者通过代码从nacos获取随机的端口号,欢迎沟通,讨论下这个问题

http://www.lryc.cn/news/99934.html

相关文章:

  • BCNet论文精读
  • PHP8的注释-PHP8知识详解
  • 优化企业集成架构:iPaaS集成平台助力数字化转型
  • 前端存储之sessionStorage和localStorage
  • 上海亚商投顾:沪指放量大涨1.84% 证券股掀涨停潮
  • 微服务划分的原则
  • 作业 - 3
  • MTK联发科安卓核心板MT8385(Genio 500)规格参数资料_性能介绍
  • ChatGPT付费创作系统小程序端开发工具提示打开显示无法打开页面解决办法
  • CVPR2023新作:pix2pix3D
  • Django自定义用户错误记录
  • Abaqus 导出单元刚度矩阵和全局刚度矩阵
  • Pytorch(一)
  • 图数据库Neo4j学习三——cypher语法总结
  • 2023杭电多校第一场部分题解
  • 算法38:反转链表【O(n)方案】
  • redis基本架构:一个键值数据库包含什么?(这篇文章主要是一个引导的作用)
  • HIS信息管理系统 HIS源码
  • 微信小程序之富文本那些事
  • kaggle新赛:RSNA 2023 腹部创伤检测大赛赛题解析(CV)
  • 【JavaEE初阶】Servlet (二) Servlet中常用的API
  • redis 存储原理与数据模型
  • 初识mysql数据库之事务的隔离性
  • 今天学学消息队列RocketMQ:消息类型
  • 小程序附件下载并预览功能
  • 数据库缓存服务——NoSQL之Redis配置与优化
  • 【雕爷学编程】MicroPython动手做(13)——掌控板之RGB三色灯
  • .Net Core上传组件_.Net Core图片上传组件_Uploader7.0
  • Exadata磁盘损坏导致磁盘组无法mount恢复(oracle一体机磁盘组异常恢复)---惜分飞
  • 左值引用与右值引用的区别?右值引用的意义?