以下是使用Nacos作为服务注册中心的快速入门示例:
安装Nacos:
下载并解压Nacos的最新稳定版本,然后运行Nacos Server。
创建服务提供者:
以Maven项目为例,在pom.xml
中添加依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
在application.properties
或application.yml
中配置Nacos Server的地址:
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
创建一个服务提供者类:
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, Nacos Discovery!";
}
}
启动类添加@EnableDiscoveryClient
注解:
@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {
public static void main(String[] args) {
SpringApplication.run(ProviderApplication.class, args);
}
}
启动服务提供者,它将自动注册到Nacos Server。
创建服务消费者:
类似于服务提供者,在pom.xml
中添加依赖,配置Nacos Server地址。
服务消费者可以通过@LoadBalanced
注解的RestTemplate
进行远程调用:
@RestController
public class ConsumerController {
private final RestTemplate restTemplate;
@Autowired
public ConsumerController(RestTemplate restTemplate) {
this.restTemplate = restTemplate;
}
@GetMapping("/consumer")
public String consumer() {
return restTemplate.getForObject("http://provider-service/hello", String.class);
}
}
启动类和服务消费者的application.properties/yml
配置同服务提供者。
启动服务消费者,它也会注册到Nacos,并通过Nacos服务列表找到服务提供者进行调用。
以上示例展示了如何使用Nacos作为服务注册中心,在Spring Cloud应用中实现服务的注册与发现。