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

相关推荐
invicinble21 分钟前
对于分布式的原子能力
分布式
心态还需努力呀10 小时前
CANN仓库通信库:分布式训练的梯度压缩技术
分布式·cann
Coder_Boy_13 小时前
基于SpringAI的在线考试系统-相关技术栈(分布式场景下事件机制)
java·spring boot·分布式·ddd
程序员泠零澪回家种桔子16 小时前
分布式事务核心解析与实战方案
分布式
凯子坚持 c16 小时前
CANN 生态中的分布式训练利器:深入 `collective-ops` 项目实现高效多卡协同
分布式
vx_Biye_Design18 小时前
【关注可免费领取源码】房屋出租系统的设计与实现--毕设附源码40805
java·spring boot·spring·spring cloud·servlet·eclipse·课程设计
惊讶的猫18 小时前
rabbitmq实践小案例
分布式·rabbitmq
禁默19 小时前
打破集群通信“内存墙”:手把手教你用 CANN SHMEM 重构 AIGC 分布式算子
分布式·重构·aigc
惊讶的猫20 小时前
rabbitmq初步介绍
分布式·rabbitmq