Nacos服务注册中心

1.引入依赖

xml 复制代码
  <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  </dependency>

2.application.properties中配置

typescript 复制代码
# 应用名称
spring.application.name=nacos-a

server.port=8080

# Nacos 服务发现与注册配置,其中子属性 server-addr 指定 Nacos 服务器主机和端口
spring.cloud.nacos.discovery.server-addr=localhost:8848
# 注册到 nacos 的指定 namespace,默认为 public
spring.cloud.nacos.discovery.namespace=public

更多配置:

3 启动应用

启动springboot应用,nacos管理端界面查看是否成功注册

4 调用其它服务

4.1新建应用nacos-b

java 复制代码
@RestController
public class HelloController {

    @GetMapping("hello")
    public String hello(){
        return  "hello world";
    }
}

4.2使用RestTemplate进行服务调用,可以使用微服务名称(spring.application.name

注意:需要添加@LoadBalanced注解

java 复制代码
@Configuration
public class RestConfig {

    @Bean
    @LoadBalanced 
    //注意:如果使用服务注册中心,需要添加@LoadBalanced注解
    //加上该注解之后,RestTemplate会把请求的一级目录最为服务名,去服务注册中心抓取对应的ip,然后再去调用对应的接口数据
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}
java 复制代码
@SpringBootApplication
public class NacosApplication {

    public static void main(String[] args) {
        
        ApplicationContext ctx = SpringApplication.run(NacosApplication.class, args);

        RestTemplate restTemplate = ctx.getBean(RestTemplate.class);
        String forObject = restTemplate.getForObject("http://nacos-b/hello", String.class);
        System.out.println(forObject);
        
    }

println(forObject);
        
    }

}

5.工作原理

相关推荐
RockHopper202535 分钟前
通用工业 AMR 的分布式状态控制系统设计原理
分布式·智能制造·具身智能·amr
资深web全栈开发40 分钟前
实现幂等性的常用方式
分布式·幂等
想用offer打牌1 小时前
一站式了解全局分布式生成ID方案
分布式·后端·面试·架构·系统架构·开源
资生算法程序员_畅想家_剑魔2 小时前
Java常见技术分享-分布式篇-SpringCloud-01-基础组件
java·分布式·spring cloud
C+++Python2 小时前
C++分布式语音识别
c++·分布式·语音识别
lbb 小魔仙2 小时前
【Java】基于 Java 的分布式系统实战:分布式锁 + 事务 + 一致性算法,干货满满
java·分布式·算法
大厂技术总监下海2 小时前
向量数据库“卷”向何方?从Milvus看“全功能、企业级”的未来
数据库·分布式·go·milvus·增强现实
Juicedata2 小时前
仅两台缓存节点,如何支撑 1.45TB/s 大吞吐业务
人工智能·分布式·缓存
stillaliveQEJ2 小时前
【项目实战】zookeeper+dubbo搭建分布式项目
spring boot·分布式·java-zookeeper
子非衣1 天前
CenOS7安装RabbitMQ(含延迟队列插件)
分布式·rabbitmq·ruby