Nacos+生产者+消费者
2019-08-14 本文已影响0人
ChadJ
Nacos搭建与启动
1-Download
地址:https://github.com/alibaba/nacos/releases
2-Startup
Linux/Unix/Mac:sh startup.sh -m standalone
Windows:cmd startup.cmd -m standalone
3-访问
http://127.0.0.1:8848/nacos/
账户:nacos
密码:nacos
服务生产者
1-创建SpringBoot项目
命名:nacos-producer
2-引入依赖
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>0.2.1.RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
3-通过应用主类开启服务注册与发现
@EnableDiscoveryClient
4-创建测试Controller
@RestController
@Slf4j
@RequestMapping("hello")
public class HelloController {
public String hello(String name) {
log.info("invoked name = " + name);
return "hello " + name;
}
}
5-配置服务名称和Nacos地址
spring.application.name=nacos-producer
server.port=8001
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
6-启动程序
服务消费者
1-创建SpringBoot项目
命名:nacos-consumer
2-引入依赖
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>0.2.1.RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
3-通过应用主类开启服务注册与发现
@EnableDiscoveryClient
4-创建测试Controller
@Slf4j
@RestController
@RequestMapping()
public class SayHelloController {
@Autowired
LoadBalancerClient loadBalancerClient;
@GetMapping("/say")
public String sayHello() {
// 负载均衡选取
ServiceInstance serviceInstance = loadBalancerClient.choose("nacos-producer");
String url = serviceInstance.getUri() + "/hello?name=" + "ChadJ";
RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(url, String.class);
return "Invoke : " + url + ", return : " + result;
}
}
5-配置服务名称和Nacos地址
spring.application.name=nacos-consumer
server.port=9001
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848