侧边栏壁纸
博主头像
Epoch

Java开发、Python爬虫、微服务、分布式、前端

  • 累计撰写 93 篇文章
  • 累计创建 110 个标签
  • 累计收到 8 条评论

目 录CONTENT

文章目录

Dubbo使用Nacos实现注册中心

Epoch
2020-05-07 / 0 评论 / 0 点赞 / 279 阅读 / 671 字 / 正在检测是否收录...

目标:Dubbo使用Nacos实现注册中心
工具:IDEA–2020.1、Nacos
学习目标:学习如何使用Nacos作为Dubbo服务的注册中心
本次学习的工程下载链接放到文本最后面

  1. 首先创建一个普通的Maven工程(构建父子模块使用)dubbo-nacos-sample,添加两个模块:nacos-sample-api(普通的maven工程)、nacos-sample-provider(springboot工程)。
  2. 在nacos中声明接口:
 package com.xmaven;

public interface IHelloService {

String sayHello(String name); }
  1. 在nacos-sample-provider中添加依赖(所有依赖如下):

     <dependencies>
        <!--直接引用api-->
        <dependency>
            <groupId>com.xmaven</groupId>
            <artifactId>nacos-sample-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    
        <!--阿里的dubbo发现服务依赖-->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-discovery-spring-boot-starter</artifactId>
            <version>0.2.4</version>
            <exclusions>
                <exclusion>
                    <groupId>com.alibaba.spring</groupId>
                    <artifactId>spring-context-support</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.7.5</version>
        </dependency>
    
    </dependencies>
    
  2. 创建HelloServiceImpl类(nacos-sample-provider工程中),实现我们IHelloService接口:

    package com.xmaven;
    
    import org.apache.dubbo.config.annotation.Service;
    
    @Service 
    public class HelloServiceImpl implements IHelloService {
    
    @Override
    public String sayHello(String name) {
        return "Hello World:"+name;
    } }
    
  3. 修改application.properties配置(nacos-sample-provider工程中)。配置如下:

    dubbo.application.name=spring-boot-dubbo-nacos-sample
    dubbo.registry.address=nacos://127.0.0.1:8848
    dubbo.protocol.name=dubbo
    dubbo.protocol.port=20880
  1. 运行SpringBoot启动类(nacos-sample-provider工程中),注意声明DubboComponentScan:
 package com.xmaven;
 
 importorg.apache.dubbo.config.spring.context.annotation.DubboComponentScan;
 
 import org.springframework.boot.SpringApplication; 
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 
 @DubboComponentScan 
 @SpringBootApplication 
 public class NacosSampleProviderApplication {
 
    public static void main(String[] args) {
      SpringApplication.run(NacosSampleProviderApplication.class, args);
    } 
  }
 

服务启动成功之后,访问Nacos控制台,进入"服务管理"————>“服务列表”,如下图所示:
_YGO676C6DXZMIFQW}2A%`B.png

我们可以看见所有注册在Nacos上面的服务。

如果在"操作"列点击"详情",我们可以看到IHelloService下所有的服务提供者的实例元数据如下:
G8.png


下载链接:dubbo-nacos-sample.rar

0

评论区