Nacos使用SpringCloudAlibaba+Dubbo实现

Nacos简介

Nacos是阿里的一个开源产品,它是针对微服务架构中的服务发现、服务治理、配置管理的综合型解决方案。

官方介绍是这样的:

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Nacos 是构建以"服务"为中心的现代应用架构的服务基础设施。

项目相关依赖

父工程依赖

java 复制代码
<!--父工程依赖-->
    <dependencyManagement>
        <dependencies>
            <!--spring-boot-dependencies-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.1.3.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--spring-cloud-dependencies-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--spring-cloud-alibaba-dependencies-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.1.0.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

常用依赖

java 复制代码
<!--常用依赖-->
	<dependencies>
		<!--web前端-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--nacos服务发现-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
		<!--dubbo远程调用,负载均衡,引入 spring-cloud-starter-dubbo依赖,它会根据接口生成代理对象-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-dubbo</artifactId>
        </dependency>
		
	</dependencies>	

配置文件

nacos-restful-consumer的yml

java 复制代码
#定义提供者端口号
server:
  port: 56020

#自定义提供者地址,可不定义
provider:
  address: 127.0.0.1:56010

#自定义nacos的地址,可不定义
nacos:
  addr: 127.0.0.1:8848


#将本服务注册到nacos
spring:
  application:  #注册到nacos的服务名
    name: nacos-restful-consumer
  cloud:
    nacos:
      discovery:
        server-addr: ${nacos.addr}
#      config:
#        server-addr: ${nacos.addr}  # nacos配置中心地址,需要写在bootstrap中
#        file-extension: yaml


#负载均衡-默认轮询,设置随机
nacos-restful-provider:  #提供者服务名spring.application.name,一般和模块名一致
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

# 不检测依赖配置
dubbo:
  consumer:
    check: false

nacos-dubbo-service1的yml

java 复制代码
server:
  port: 56030 #启动端口 命令行注入

spring:
  application:
    name: dubbo-service1
  main:
    allow-bean-definition-overriding: true # Spring Boot 2.1 需要设定
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
dubbo:
  scan:
    #dubbo 服务扫描基准包
    base-packages: cn.yh.dubbo.service
  protocol:
    #dubbo 协 议
    name: dubbo
    #dubbo 协议端口
    port: 20881
  registry:
    address: nacos://127.0.0.1:8848
  application:
    qos-enable: false #dubbo运维服务是否开启
  consumer:
    check: false #启动时就否检查依赖的服务
相关推荐
wangchunyu1147 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
paopaokaka_luck8 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
Thomas.Sir8 小时前
第9课:SpringBoot4.x Web开发基础:WebMvc自动配置、静态资源、请求参数接收
java·spring boot
程序 代码狂人8 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
2501_944521599 小时前
Deepmerge 跨端三方库仓颉适配全流程
java·python·eclipse·github
南归北隐10 小时前
Spring AI Alibaba Graph框架实现MCP数据库查询实战
java·后端·spring ai·mcp·spring ai mcp
古法老登瞎折腾10 小时前
大数据智能运维实战(九):让 AI 查日志——找到异常,也保留上下文
java·大数据·运维·人工智能·spring ai·mcp
ai大模型-探索者10 小时前
Function Call与MCP(区别、联系与实战)
java·服务器·网络
略略略咯咯10 小时前
啊啊啊啊啊
java·服务器·数据库
雷一言说11 小时前
Spring AI 2.0 Tool Search:工具多了,只把相关的发给模型
spring