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

SpringBoot + Dobbo + nacos

SpringBoot + Dobbo + nacos

一、nacos

  • https://nacos.io/zh-cn/docs/quick-start.html

1、下载安装包

  • https://github.com/alibaba/nacos/releases/
  • 下载后在主目录下,创建一个logs的文件夹:用来存日志
  • image-20240408162822800

2、启动nacos

  • image-20240408162939033
  • 在bin目录下打开cmd
  • 运行启动命令: startup.cmd -m standalone
    • image-20240408163201549
    • 这样即为运行成功

二、Dobbo

1、进入入门项目github

  • image-20240408132536537

2、拉取代码

  • image-20240408132645839

3、启动入门项目

  • image-20240408132802452

  • image-20240408132808690

  • image-20240408132936913

    • 因为这个示例代码是zookeeper的注册中心,我这配置的是nacos的注册中心
    • 所以我们提取关键配置即可

5、dubbo整合nacos

  • https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/registry/nacos/
5.1、在 提供者 和 调用者中 都添加依赖
  • 把zookeeper的依赖删除换上以下依赖<dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo</artifactId><version>3.0.9</version>
    </dependency>
    <dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>2.1.0</version>
    </dependency>
    
5.2、两个项目里都配置以下信息
  • yml配置信息

    • #把zookeeper的配置信息改为以下这个registry:id: nacos-registryaddress: nacos://localhost:8848
      
  • 启动dubbo

    • 启动类上添加注解: @EnableDubbo
  • 两者上面都创建接口(这里的案例是用了一个公共接口

    /*** 示例服务**/public interface DemoService {String sayHello(String name);String sayHello2(String name);}
  • 注意事项,接口所在的位置在,提供者和调用者的位置要一模一样

5.3、在提供者上实现接口
  /*** 示例服务实现类**/@DubboServicepublic class DemoServiceImpl implements DemoService {@Overridepublic String sayHello(String name) {return "Hello " + name;}@Overridepublic String sayHello2(String name) {return name + "zzj";}}
5.4、在调用者上调用接口
  @Componentpublic class Task implements CommandLineRunner {@DubboReferenceprivate DemoService demoService;@Overridepublic void run(String... args) {String result1 = demoService.sayHello("world");String result2 = demoService.sayHello2("hello");System.out.println("Receive result1 ======> " + result1);System.out.println("Receive result2 ======> " + result2);}}

6、结果

  • 在调用者的控制台能看到输出的信息
  • 查看nacos里的注册信息也是注册上了
    • image-20240408172242173
http://www.lryc.cn/news/337389.html

相关文章:

  • 学习笔记-微服务基础(黑马程序员)
  • 每日Bug汇总--Day05
  • docker、ctr、crictl命令对比
  • uniapp 编译后分包下静态图片404问题解决方案
  • 第十二届蓝桥杯大赛软件赛省赛Java 大学 B 组题解
  • 关于openai和chatgpt、gpt-4、PyTorch、TensorFlow 两者和Transformers的关系
  • C 共用体
  • 智能合约:未来数字经济的基石
  • 第十一届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
  • Lua语法(三)——元表与元方法
  • Lua语法(五)——垃圾回收
  • 已解决java.net.NoRouteToHostException: 无法到达主机异常的正确解决方法,亲测有效!!!
  • 代码随想录算法训练营第三十八天| 509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯
  • 视频中会动的进度条
  • C++高级特性:柯里化过程与std::bind(六)
  • vmware虚拟机补救
  • 数据结构(算法)
  • SpringCloud集成SkyWalking链路追踪并收集日志2
  • 纯小白蓝桥杯备赛笔记--DAY4(数学数据结构图论)
  • python 最简单的网页爬虫
  • 二叉树-数据结构
  • ansible使用shell模块的环境变量问题
  • ChatGPT论文写作指南:写出引人注目的论文
  • ARM64架构栈帧回溯
  • LangChain:大型语言模型(LLMs)-- 基础知识
  • 总分410+专业130+国防科技大学831信号与系统考研经验国防科大电子信息与通信工程,真题,大纲,参考书。
  • chatgpt Team 4.0共享合租账号的新方式
  • 类和对象二
  • GD32 HID键盘矩阵键盘发送数据时,一直发送数据问题处理
  • 小程序地理位置权限申请+uniapp调用uni.getLocation