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

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

时间:2023-11-19 15:22:51浏览次数:38  
标签:集成 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......
  • 企业集成模式:第八章
    八、消息转换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.项目的定义项目是为了达到特定的目的,使用一定资源,在确定的期间内,为特定发起人提供独特的产品、服务或成果而进行的一系列相互关系的活动的集合。资源指完成项目的人、财、物等;期间指项目由明确的开始日期和结束日期。项目是为创造独特的产品、服务或成果而进行的临时性工作。......
  • 系统集成项目管理工程师 第五章-项目立项管理
    1.项目建议222选择4分案例偶尔考项目立项管理分别是项目建议、项目可行性分析、项目审批、项目招投标以及项目合同谈判与签订。系统集成供应商再实际工作中更多的参加项目招投标以及项目合同谈判与签订方面的工作,而对项目建议、项目可行性分析以及项目审批等方面的工作则参与......
  • springboot 集成jwt 登录 拦截器获取token 解析token放入holder中
    一、依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency>......
  • 微服务 Nacos 多环境配置共享
       ......
  • 微服务 Nacos 配置热更新
       ......
  • 恒驰喜讯 | 荣获2023项目管理论坛“最佳集成服务伙伴”、“卓越合作伙伴项目经理”双
    2023年11月7日~8日,以“价值交付·共创未来”为主题的2023年项目管理论坛在深圳坂田成功举办。论坛上,来自海内外交付领域的200多名专家围绕项目管理实践、交付案例与项目优化等主题展开了深入交流,并就各区域项目管理案例做了经验分享,为全球范围内的项目管理优化及交付升级提供了宝贵......
  • nacos简解
     Nacos是什么DynamicNamingandConfigurationService一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台可以简化服务发现,配置管理,服务治理及管理。**Nacos=Eureka(服务注册中心)+Config(服务配置中心)+Bus(消息总栈)**基本原理 作为注册中心分为se......