国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring Cloud EureKa Ribbon 服務注冊發現與調用

Spring Cloud EureKa Ribbon 服務注冊發現與調用

2021-04-06 13:16Sam哥哥 Java教程

這篇文章主要介紹了Spring Cloud EureKa Ribbon 服務注冊發現與調用,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

概述

用一個簡單的例子演示spring cloud中eureka和ribbon的基本用法。

版本和環境

  1. idea
  2. spring boot 1.5.·0
  3. jdk 1.8
  4. maven 3

構建eureka server

在spring cloud,可以使用eureka來管理微服務,微服務可以注冊到eureka中。

首先可以用idea的spring initialzr 來創建eureka server注冊中心。

Spring Cloud EureKa Ribbon 服務注冊發現與調用

Spring Cloud EureKa Ribbon 服務注冊發現與調用

Spring Cloud EureKa Ribbon 服務注冊發現與調用

Spring Cloud EureKa Ribbon 服務注冊發現與調用

修改application.properties文件,添加如下內容

?
1
2
3
4
5
spring.application.name=eureka-server
eureka.instance.hostname=localhost
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
server.port=8881

在spring boot為我們生成的啟動類serverapplication 中加入@enableeurekaserver 注解

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.springcloud.eureka;
 
import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;
import org.springframework.cloud.netflix.eureka.server.enableeurekaserver;
 
@enableeurekaserver
@springbootapplication
public class serverapplication {
 
  public static void main(string[] args) {
    springapplication.run(serverapplication.class, args);
  }
}

在瀏覽器中輸入http://localhost:8881/

可以看到如下界面:

Spring Cloud EureKa Ribbon 服務注冊發現與調用

可以看到暫時還沒有服務注冊上來。到此,一個簡單的微服務注冊中心就構建完了。

編寫微服務userservice

接下來用rest構建一個微服務接口,并注冊到注冊中心上去。依然使用spring initialzr 來構建一個新的工程。使用方式跟上面的一樣。

Spring Cloud EureKa Ribbon 服務注冊發現與調用

Spring Cloud EureKa Ribbon 服務注冊發現與調用

注意這次要勾選eureka discovery 組件。而不是eureka server

修改application.properties文件,添加如下內容:

?
1
2
3
spring.application.name=user
server.port=8882
eureka.client.service-url.defaultzone=http://localhost:8881/eureka/

spring boot 為我們生成的userapplication 類中使用@enablediscoveryclient 注解。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.springcloud;
 
import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;
import org.springframework.cloud.client.discovery.enablediscoveryclient;
 
@enablediscoveryclient
@springbootapplication
public class userapplication {
 
  public static void main(string[] args) {
    springapplication.run(userapplication.class, args);
  }
}

創建一個rest full的微服務接口。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
package com.springcloud;
 
import org.springframework.web.bind.annotation.getmapping;
import org.springframework.web.bind.annotation.restcontroller;
 
@restcontroller
public class usercontroller {
 
  @getmapping("/getuser")
  public string getuser() {
    return "i am user list.";
  }
}

運行userapplication后,再次訪問http://localhost:8881/

會發現user這個服務已經注冊上來了。

Spring Cloud EureKa Ribbon 服務注冊發現與調用

編寫微服務order

接下來,我們再構建一個訂單的微服務,并訪問user這個微服務中的接口。

依然使用spring initialzr 來構建一個新工程。user這個微服務是可以部署到多臺機器上的。客戶端在訪問這個服務的時候,請求可以路由到任何一臺部署了user服務的機器。因此客戶端需要使用一個路由算法來調度user這個服務。在spring cloud中,可以使用ribbon組件來做客戶端路由。ribbon內部會去服務注冊中心獲取服務列表的,以便調用對應的服務。

Spring Cloud EureKa Ribbon 服務注冊發現與調用

這次除了勾選eureka discovery 組件。還需要勾選ribbon

修改application.properties文件,添加如下內容:

?
1
2
3
spring.application.name=order
server.port=8883
eureka.client.service-url.defaultzone=http://localhost:8881/eureka/

spring boot 為我們生成的orderapplication類中增加如下配置。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com.springboot;
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 orderapplication {
 
  @bean
  @loadbalanced
  resttemplate resttemplate() {
    return new resttemplate();
  }
 
  public static void main(string[] args) {
    springapplication.run(orderapplication.class, args);
  }
}

由于使用了ribbon,這里需要使用@loadbalanced注解。

編寫ordercontroller

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.springboot;
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 ordercontroller {
  @autowired
  private resttemplate resttemplate;
 
  @getmapping("/getorderuser")
  public string getorderuser() {
    return resttemplate.getforentity("http://user/getuser",string.class).getbody();
  }
}

運行orderapplication后,訪問http://localhost:8881/

會發現order這個服務也被注冊到注冊中心了。

Spring Cloud EureKa Ribbon 服務注冊發現與調用

接下來我們訪問ordercontroller中的getorderuser 方法,觸發調用usercontrollergetuser方法。
在瀏覽器中輸入:http://localhost:8883/getorderuser

可以看到返回了:i am user list.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/linsongbin1/article/details/79361268

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品久久久久久久9999 | 亚洲人免费 | 欧美日韩一区二区三区不卡视频 | 国产视频一区在线 | 日韩在线电影 | 欧美成年网站 | 国产精品二区三区 | 日本不卡高字幕在线2019 | 黄色一区二区三区 | 黄视频网站免费观看 | 午夜影院在线观看 | 国产第一夜 | 国产午夜久久 | 色乱码一区二区三区网站 | 久久成人一区 | 欧美精品自拍 | 日本免费在线 | 亚洲视频观看 | 国产高清视频一区 | 久久综合久久综合久久综合 | 国产精品二区一区二区aⅴ污介绍 | 都市激情 亚洲 | 91社区福利 | 国产成人精品久久二区二区 | 亚洲久久久 | 免费电影av | 黄视频免费观看 | 91免费在线视频 | 黄色片网址在线观看 | 日韩中文字幕一区二区高清99 | 色视频在线免费观看 | 久久国产99 | 国产福利在线播放 | 亚洲一区二区三 | 欧美精品日韩 | 小视频在线| 日韩一区二区精品视频 | 日韩精品一区二区三区中文在线 | 日本在线视频免费观看 | 欧美自拍一区 | 中文字幕最新在线 |