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里的注册信息也是注册上了
相关推荐
一只会写代码的猫36 分钟前
面向高性能计算与网络服务的C++微内核架构设计与多线程优化实践探索与经验分享
java·开发语言·jvm
萤丰信息2 小时前
智慧园区能源革命:从“耗电黑洞”到零碳样本的蜕变
java·大数据·人工智能·科技·安全·能源·智慧园区
曹牧2 小时前
Eclipse为方法添加注释
java·ide·eclipse
我叫张小白。3 小时前
Spring Boot拦截器详解:实现统一的JWT认证
java·spring boot·web·jwt·拦截器·interceptor
Gerardisite5 小时前
如何在微信个人号开发中有效管理API接口?
java·开发语言·python·微信·php
q***69775 小时前
Spring Boot与MyBatis
spring boot·后端·mybatis
闲人编程5 小时前
Python的导入系统:模块查找、加载和缓存机制
java·python·缓存·加载器·codecapsule·查找器
故渊ZY6 小时前
Java 代理模式:从原理到实战的全方位解析
java·开发语言·架构
匿者 衍6 小时前
POI读取 excel 嵌入式图片(支持wps 和 office)
java·excel
一个尚在学习的计算机小白6 小时前
java集合
java·开发语言