前情提要
Spring Cloud Alibaba Github
安装Nacos服务器
Docker安装
docker search nacosdocker pull nacos/nacos-serverdocker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server
访问http://localhost:8848/nacos即可
生产者/消费者
添加依赖
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.10.BUILD-SNAPSHOT</version><relativePath/> <!-- lookup parent from repository --></parent><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>
修改配置文件
# application.ymlserver:port: 8001spring:application:name: nacos-providercloud:nacos:discovery:server-addr: localhost:8848 # nacos注册中心
消费者调用生产者
nacos内置了ribbon,因此调用方式与ribbon相同,下面是nacos提供的调用模板:
@SpringBootApplication@EnableDiscoveryClientpublic class NacosConsumerApplication {@LoadBalanced@Beanpublic RestTemplate restTemplate() {return new RestTemplate();}public static void main(String[] args) {SpringApplication.run(NacosConsumerApplication.class, args);}@RestControllerpublic class TestController {private final RestTemplate restTemplate;@Autowiredpublic TestController(RestTemplate restTemplate) {this.restTemplate = restTemplate;}@RequestMapping(value = "/echo/{str}", method = RequestMethod.GET)public String echo(@PathVariable String str) {return restTemplate.getForObject("http://service-provider/echo/" + str, String.class);}}}
