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.工作原理

相关推荐
weixin_4241836111 分钟前
开放—封闭原则实战(下):基于策略的流程编排与编译期多态
c++·分布式·系统架构
frjc5 小时前
分布式事务:场景与选型决策表
分布式
GISMagic5 小时前
5.《Designing Data-Intensive Applications》:系统设计与分布式能力提炼
分布式·ai coding
需要8268 小时前
分布式 ID 生成:雪花算法、号段模式与时钟回拨
分布式·算法
灯澜忆梦12 小时前
【RabbitMQ #11】 | 消费者可靠性
分布式·rabbitmq·ruby
仍然.12 小时前
RabbitMQ---事务和消息分发
分布式·rabbitmq
灯澜忆梦14 小时前
【RabbitMQ #9】 | 生产者可靠性
分布式·rabbitmq
银河技术15 小时前
TB级文本去重实战:从单机 OOM 到 Spark / Ray 分布式架构的工程演进
分布式·微服务·重构·架构·spark·llm·rag
deepdata_cn16 小时前
从集中式到分布式:Data Mesh颠覆传统数据架构的底层逻辑
分布式·data mesh
5008417 小时前
React Native for OpenHarmony 实战:三方库 react-native-device-uptime 的鸿蒙化适配指南
javascript·分布式·react native·react.js·harmonyos