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

6-启动程序

上一篇下一篇

猜你喜欢

热点阅读