首页 > 其他分享 >SpringCloud应用集成Nacos服务注册与发现

SpringCloud应用集成Nacos服务注册与发现

时间:2023-11-19 15:37:37浏览次数:37  
标签:集成 spring SpringCloud Nacos springframework org import public cloud

SpringCloud应用集成Nacos服务注册与发现

官方文档

第一步:引入依赖

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

		<!-- 引入nacos用于服务注册与发现 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

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

        <!-- 引入openfeign用于服务消费测试 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>

第二步:配置 application.yml 文件

(1)服务提供者

server:
  port: 8083
spring:
  application:
    name: spring-cloud-alibaba-nacos-provider
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

(2)服务消费者

server:
  port: 8082
spring:
  application:
    name: spring-cloud-alibaba-nacos-consumer
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

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

(1)服务提供者

package com.anhaoyang.test.naocs.provider;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient //开启服务发现
public class BootNacosDiscoveryProviderApplication {

    public static void main(String[] args) {
        SpringApplication.run(BootNacosDiscoveryProviderApplication.class, args);
    }

}
package com.anhaoyang.test.naocs.provider;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

/**
 * 服务提供测试类
 **/
@RestController
public class ProviderController {
    @GetMapping("/echo/{string}")
    public String echo(@PathVariable String string) {
        return "Provider received: " + string;
    }
}

(2)服务消费者

package com.anhaoyang.test.naocs.consumer;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
@EnableDiscoveryClient //开启服务发现
public class BootNacosDiscoveryConsumerApplication {

    /**
     *  创建RestTemplate用于测试
     * @return
     */
    @LoadBalanced
    @Bean
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

    public static void main(String[] args) {
        SpringApplication.run(BootNacosDiscoveryConsumerApplication.class, args);
    }

}
package com.anhaoyang.test.naocs.consumer;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

/**
 * 服务消费测试
 **/
@RestController
public class ConsumerController {

    private final RestTemplate restTemplate;

    @Autowired
    public ConsumerController(RestTemplate restTemplate) {
        this.restTemplate = restTemplate;
    }

    @GetMapping("/get")
    public String get() {
        return restTemplate.getForObject("http://spring-cloud-alibaba-nacos-provider/echo/" + "ConsumerRequestBody", String.class);
    }
}

第四步:验证

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

image

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

http://127.0.0.1:8082/get

image

标签:集成,spring,SpringCloud,Nacos,springframework,org,import,public,cloud
From: https://www.cnblogs.com/anhaoyang/p/springcloud-application-integrates-nacos-service-regis

相关文章

  • SpringCloud应用集成Nacos和Dubbo
    SpringCloud应用集成Nacos和Dubbo官网教程官方demo第一步:引入依赖版本见=>附录:根pom文件=>版本控制片段www.cnblogs.com/anhaoyan... <!--SpringBoot依赖--><dependency><groupId>org.springframework.boot</groupId><artifa......
  • SpringCloudAlibaba
    SpringCloudAlibaba官网地址什么是SpringCloudAlibabaSpringCloudAlibaba致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过SpringCloud编程模型轻松使用这些组件来开发分布式应用服务。依托SpringCloudAlibaba,您只需要......
  • SpringCloudAlibaba版本关系
    SpringCloudAlibaba版本关系官方云原生应用脚手架由于SpringBoot3.0,SpringBoot2.7~2.4和2.4以下版本之间变化较大,目前企业级客户老项目相关SpringBoot版本仍停留在SpringBoot2.4以下,为了同时满足存量用户和新用户不同需求,社区以SpringBoot3.0和2.4分别为......
  • 启动Nacos服务
    启动Nacos服务官网地址:https://nacos.io/zh-cn/docs/v2/quickstart/quick-start-docker.html使用Docker启动​docker-compose-fstandalone-derby.yaml-pnacos-standalone-derbyup​​version:"2"services:nacos:image:nacos/nacos-server:${NACOS_VERSION}......
  • SpringCloud应用集成Nacos配置中心
    SpringCloud应用集成Nacos配置中心官方文档第一步:引入依赖版本见=>附录:根pom文件=>版本控制片段www.cnblogs.com/anhaoyan...<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-con......
  • SpringCloud应用集成Nacos服务注册与发现
    SpringCloud应用集成Nacos服务注册与发现官方文档第一步:引入依赖版本见=>附录:根pom文件=>版本控制片段www.cnblogs.com/anhaoyan... <!--引入nacos用于服务注册与发现--><dependency><groupId>com.alibaba.cloud</groupId><artifact......
  • SpringCloud应用集成Nacos和Dubbo
    SpringCloud应用集成Nacos和Dubbo官网教程官方demo第一步:引入依赖版本见=>附录:根pom文件=>版本控制片段www.cnblogs.com/anhaoyan... <!--SpringBoot依赖--><dependency><groupId>org.springframework.boot</groupId><artifa......
  • 企业集成模式:第八章
    八、消息转换8.1引言元数据管理要把消息从一种格式转换为另一种格式,则需要解决好元数据问题,所谓元数据是指用于描述实际数据格式的数据。如果从一个应用向另一个应用发送了一个消息,告诉我们ID号为123的客户从加利福尼亚的SanFrancisco搬到了北卡罗来纳州的Raleigh,相关的元数......
  • 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......
  • 系统集成项目管理工程师-第四章 项目管理一般知识
    1.项目的定义项目是为了达到特定的目的,使用一定资源,在确定的期间内,为特定发起人提供独特的产品、服务或成果而进行的一系列相互关系的活动的集合。资源指完成项目的人、财、物等;期间指项目由明确的开始日期和结束日期。项目是为创造独特的产品、服务或成果而进行的临时性工作。......