JVM微服务调用非JVM微服务

一 新建项目microservice-sidecar-client-ribbon,添加依赖
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>
  </dependencies>
二 编写启动类
package com.itmuch.cloud.study;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@EnableDiscoveryClient
@SpringBootApplication
public class SidecarClientApplication {
  @Bean
  @LoadBalanced
  public RestTemplate restTemplate() {
    return new RestTemplate();
  }

  public static void main(String[] args) {
    SpringApplication.run(SidecarClientApplication.class, args);
  }
}
三 编写控制器
package com.itmuch.cloud.study.sidecar.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

@RestController
public class SidecarClientController {
  @Autowired
  private RestTemplate restTemplate;

  @GetMapping("/test")
  public String findById() {
    // 将会请求到:http://localhost:8060/,返回结果:{"index":"欢迎来到首页"}
    return this.restTemplate.getForObject("http://microservice-sidecar-node-service/", String.class);
  }
}
四 编写配置文件
server:
  port: 8071
spring:
  application:
    name: microservice-consumer-movie
eureka:
  client:
    serviceUrl:
      defaultZone:http://localhost:8761/eureka/
  instance:
    prefer-ip-address: true
五 测试
1 启动eureka
2 启动项目microservice-sidecar-client-ribbon
3 启动node-service
4 启动sidecar微服务
5 浏览器访问 http://localhost:8071/test

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/80847729