SpringBoot + Dobbo + nacos

SpringBoot + Dobbo + nacos

一、nacos

1、下载安装包

2、启动nacos

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

二、Dobbo

1、进入入门项目github

2、拉取代码

3、启动入门项目

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

5、dubbo整合nacos

5.1、在 提供者 和 调用者中 都添加依赖
xml 复制代码
把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配置信息

    yml 复制代码
    #把zookeeper的配置信息改为以下这个
      registry:
        id: nacos-registry
        address: nacos://localhost:8848
  • 启动dubbo

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

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

5.3、在提供者上实现接口
java 复制代码
  /**
   * 示例服务实现类
   *
   */
  @DubboService
  public class DemoServiceImpl implements DemoService {
  
      @Override
      public String sayHello(String name) {
          return "Hello " + name;
      }
      @Override
      public String sayHello2(String name) {
          return name + "zzj";
      }
  }
5.4、在调用者上调用接口
java 复制代码
  @Component
  public class Task implements CommandLineRunner {
      @DubboReference
      private DemoService demoService;
  
      @Override
      public 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里的注册信息也是注册上了
相关推荐
洛小豆19 分钟前
java 中 char 类型变量能不能储存一个中文的汉字,为什么?
java·后端·面试
爱吃烤鸡翅的酸菜鱼25 分钟前
从数据库直连到缓存预热:城市列表查询的性能优化全流程
java·数据库·后端·spring·个人开发
一只学java的小汉堡40 分钟前
Java 面试高频题:HashMap 与 ConcurrentHashMap 深度解析(含 JDK1.8 优化与线程安全原理)
java·开发语言·面试
huohaiyu2 小时前
Hashtable,HashMap,ConcurrentHashMap之间的区别
java·开发语言·多线程·哈希
信奥卷王3 小时前
[GESP202503 五级] 原根判断
java·数据结构·算法
小咕聊编程3 小时前
【含文档+源码】基于SpringBoot的过滤协同算法之网上服装商城设计与实现
java·spring boot·后端
Zz_waiting.3 小时前
Spring 原理
java·spring·spring自动管理
瓯雅爱分享7 小时前
Java+Vue构建的采购招投标一体化管理系统,集成招标计划、投标审核、在线竞价、中标公示及合同跟踪功能,附完整源码,助力企业实现采购全流程自动化与规范化
java·mysql·vue·软件工程·源代码管理
mit6.8249 小时前
[C# starter-kit] 命令/查询职责分离CQRS | MediatR |
java·数据库·c#
诸神缄默不语9 小时前
Maven用户设置文件(settings.xml)配置指南
xml·java·maven