首页 > 其他分享 >SpringCloud应用集成Nacos和Dubbo

SpringCloud应用集成Nacos和Dubbo

时间:2023-11-19 15:22:37浏览次数:45  
标签:dubbo Dubbo SpringCloud org boot nacos Nacos provider import

SpringCloud应用集成Nacos和Dubbo

官网教程 官方demo

第一步:引入依赖

版本见 => 附录:根pom文件=>版本控制片段 www.cnblogs.com/anhaoyan...

		<!-- Spring Boot依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- dubbo -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-client</artifactId>
        </dependency>

第二步:配置 application.yml 文件

(1)服务提供者

server:
  port: 8084

dubbo:
  application:
    name: nacos-dubbo-provider
  protocol:
    name: dubbo
    port: -1
  registry:
    address: nacos://127.0.0.1:8848

(2)服务消费者

server:
  port: 8085

dubbo:
  application:
    name: nacos-dubbo-consumer
  protocol:
    name: dubbo
    port: -1
  registry:
    address: nacos://127.0.0.1:8848

第三步:启动类加@EnableDubbo​注解开启服务注册与发现

(1)服务提供者

​​​image​​​

package com.anhaoyang.test.nacos.dubbo.provider.start;

import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 服务提供者启动类
 * 该类位于 boot-nacos-dubbo-provider  项目子模块 boot-nacos-dubbo-provider-start中
 **/
@SpringBootApplication
@EnableDubbo //开启Dubbo
public class NacosDubboProviderStartApplication {

    public static void main(String[] args) {
        SpringApplication.run(NacosDubboProviderStartApplication.class, args);
    }
}
package com.anhaoyang.test.nacos.dubbo.provider.start;

import com.anhaoyang.test.nacos.dubbo.provider.api.NacosDubboProviderApi;
import org.apache.dubbo.config.annotation.DubboService;

/**
 * 测试接口
 * 该类位于 boot-nacos-dubbo-provider  项目子模块 boot-nacos-dubbo-provider-start中
 **/
@DubboService
public class NacosDubboProviderApiImpl implements NacosDubboProviderApi {
    @Override
    public String sayHello(String name) {
        return "Provider received: " + name;
    }
}
package com.anhaoyang.test.nacos.dubbo.provider.api;

/**
 * 服务提供者api定义
 * 该接口位于 boot-nacos-dubbo-provider  项目子模块 boot-nacos-dubbo-provider-api 中
 **/
public interface NacosDubboProviderApi {
    String sayHello(String name);
}

(2)服务消费者

image

package com.anhaoyang.test.nacos.dubbo.consumer;

import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@EnableDubbo //开启dubbo
public class NacosDubboConsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(NacosDubboConsumerApplication.class, args);
    }
}
package com.anhaoyang.test.nacos.dubbo.consumer;

import com.anhaoyang.test.nacos.dubbo.provider.api.NacosDubboProviderApi;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 消费者调用测试
 **/
@RestController
public class NacosDubboConsumerController {
 	//需依赖  服务提供者定义的接口,即 boot-nacos-dubbo-provider-api 
    @DubboReference
    private NacosDubboProviderApi nacosDubboProviderService;

    @GetMapping("/get")
    public String get() {
        return nacosDubboProviderService.sayHello("ConsumerBody");
    }
}

第四步:验证

(1)启动服务后,Nacos控制台-服务列表

​​image​​

(2)服务消费者-> 访问rpc结果,成功。

http://127.0.0.1:8085/get

​​image​​

标签:dubbo,Dubbo,SpringCloud,org,boot,nacos,Nacos,provider,import
From: https://www.cnblogs.com/anhaoyang/p/springcloud-application-integrates-nacos-and-dubbo-1iq

相关文章

  • Windows系统 nacos 部署
     转载:https://www.cnblogs.com/simon-xie/p/15730368.html  Windows系统 Nacos安装及部署 一、下载地址https://github.com/alibaba/nacos二、新建数据库新建一个实例名为nacos的数据库,并执行nacos/conf下的nacos-mysql.sql文件创建表三、修改配置打开conf下的ap......
  • 微服务 Nacos 多环境配置共享
       ......
  • 微服务 Nacos 配置热更新
       ......
  • dubbo打包
    参考链接:链接一注意依赖分别放在父,子pom文件,以及子pom文件的主函数路径。子项目打包:https://blog.csdn.net/Yu_luoluo/article/details/101691933打包注意主项目安装:https://blog.csdn.net/weixin_45565886/article/details/127917961......
  • nacos简解
     Nacos是什么DynamicNamingandConfigurationService一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台可以简化服务发现,配置管理,服务治理及管理。**Nacos=Eureka(服务注册中心)+Config(服务配置中心)+Bus(消息总栈)**基本原理 作为注册中心分为se......
  • springboot 集成dubbo 关键配置:
    1.pom<!--dubbo与zk的组件start--><dependency><groupId>com.alibaba.boot</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>0.1.0</version></dependency><dependency>......
  • skywalking(三) 实现收集基于虚拟机环境dubbo微服务链路跟踪案例
    dubbo微服务架构https://cn.dubbo.apache.org/zh-cn/overview/home/https://help.aliyun.com/zh/edas/developer-reference/dubbo-overview‍1.安装zookeeper注册中心官网:https://zookeeper.apache.org/安装说明:https://zookeeper.apache.org/doc/r3.7.1/zookeeperAdmin.......
  • consul与springcloud整合
    application.yml中配置如下:#配置中心配置spring:application:name:device-apicloud:consul:host:consulport:8500config:acl-token:c6a05ce4-ef63-8dcb-d120-8caa45d9edd8enabled:truedata-key:data......
  • SpringCloud系列八之微服务网关安全认证-JWT篇
    Gateway-JWT认证鉴权流程一、网关认证件鉴权流程目前主流的结合微服务网关及JWT令牌开发用户认证及服务访问鉴权的流程如下:用户认证流程:用户向网关发送登录认证请求,网关将请求转发给认证服务。认证服务校验用户登录信息(用户密码、短信及图片验证码)等信息之后,如果校验成功颁发一......
  • springcloud教程 -- 快速搭建入门级demo
    废话不多讲,跟紧我,开启你的SpringCloud初体验 首先回顾微服务的基本组成: [图片here] 生产者:提供服务消费者:消费服务服务注册/发现中心:服务注册,发现,监控所以,首先明白springcloud微服务的架构基础:生产者(client),消费者(client),服务注册/发现中心(server) ****************......