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里的注册信息也是注册上了
相关推荐
是真的小外套10 分钟前
2023年软考中级信息安全工程师|选择题考点+5道案例分析真题解析(含答案)
java·服务器·网络
ly768914 分钟前
Spring Boot 集成 PostgreSQL 的连接池调优:HikariCP、prepared statement 与服务器资源边界
spring boot·postgresql·hikaricp·连接池调优
会编程的吕洞宾31 分钟前
Spring AI 2.0 结构化输出实战:让大模型返回精准 JSON 不再“抽风“,准确率从 78% 拉到 99%
java·后端
项目題供诗33 分钟前
ai大模型(三)
java
wangjialelele1 小时前
一文梳理 Spring Cloud 核心组件:Eureka、Nacos、OpenFeign、LoadBalancer 与 Gateway
java·spring boot·spring·spring cloud·微服务·nacos
用户6222884048191 小时前
站在JDK的角度理解线程池:从execute 到 getTask 一篇讲透
java·面试
Wang's Blog1 小时前
Java 项目实战: 交友项目 - 个人资料管理的需求分析与接口设计
java·开发语言·交友
北风toto1 小时前
Linux 服务器如何判断 CPU 是否支持 x86-64-v2 指令集
java·linux·服务器
萧瑟余晖1 小时前
Spring Security综合实战与安全加固详解
java·安全·spring
imDwAaY1 小时前
操作系统如何管理程序运行?从线程、进程到内存隔离与用户态切换:CS162 Note2
android·java·redis