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

相关推荐
明达技术24 分钟前
物联优化汽车齿轮锻造
分布式·物联网
龙哥·三年风水3 小时前
群控系统服务端开发模式-应用开发-前端框架
分布式·vue·群控系统
Wx-bishekaifayuan11 小时前
django电商易购系统-计算机设计毕业源码61059
java·spring boot·spring·spring cloud·django·sqlite·guava
customer0811 小时前
【开源免费】基于SpringBoot+Vue.JS周边产品销售网站(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·java-ee·开源
WX1870211287312 小时前
在分布式光伏电站如何进行电能质量的治理?
分布式
Stringzhua13 小时前
【SpringCloud】Kafka消息中间件
spring·spring cloud·kafka
不能再留遗憾了15 小时前
RabbitMQ 高级特性——消息分发
分布式·rabbitmq·ruby
茶馆大橘15 小时前
微服务系列六:分布式事务与seata
分布式·docker·微服务·nacos·seata·springcloud
材料苦逼不会梦到计算机白富美18 小时前
golang分布式缓存项目 Day 1
分布式·缓存·golang
想进大厂的小王18 小时前
项目架构介绍以及Spring cloud、redis、mq 等组件的基本认识
redis·分布式·后端·spring cloud·微服务·架构