1. 程式人生 > >簡單微服務建立和微服務間的呼叫

簡單微服務建立和微服務間的呼叫

建立簡單的微服務並實現微服務相互呼叫

  1. 建立專案
    a、建立專案
    在這裡插入圖片描述
    b、 配置檔案簡單配置
    server.port=8771
    spring.cloud.client.ipAddress =client1
    //註冊中心ip
    eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
    //註冊名
    spring.application.name=product-server
    //使用真實ip
    eureka.instance.prefer-ip-address=true
    //註冊中心顯示名字
    eureka.instance.instance-id= s
    p r i n g . c l o
    u d . c l i e n t
    . i p A d d r e s s : {spring.cloud.client.ipAddress}:
    {server.port}
  2. 微服務的呼叫方式
    a、RestTemplate類
    1)啟動類新增方法返回一個RestTemplate
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
    return new RestTemplate();
    }
    2)呼叫:
    注入:@Autowired
    private RestTemplate restTemplate;
    呼叫:Map map= restTemplate.getForObject(“http://orderservice/getById?id=”+123(拼接訪問的URL),Map.class(指定返回型別));
    b、LoadBalancerClient類
    1)注入
    @Autowired
    private LoadBalancerClient loadBalancerClient;
    2)呼叫:
    //通過被呼叫服務註冊的名字獲取被呼叫方的資訊
    ServiceInstance serviceInstance =loadBalancerClient.choose(“product-server”(呼叫服務註冊的名字));
    //拼接url
    String url =“http://”+serviceInstance.getHost()+":"+serviceInstance.getPort()+"/findById?id="+Id;
    :有時候用注入的RestTemplate類呼叫會報錯No instances available for 192.168.1.123 ,自己建立一個 RestTemplate 在呼叫就好了