激情久久久_欧美视频区_成人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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 五月婷婷第四色 | 久久福利小视频 | 成人免费一区二区三区 | 免费黄色在线电影 | 亚洲天堂成人在线 | 久久国产精品免费视频 | 亚洲第一色片 | 免费看一级毛片欧美 | 看个毛片 | av在线播放电影 | 可以看逼的视频 | 欧美成人免费电影 | hdbbwsexvideo| 日韩精品中文字幕在线播放 | 伊人午夜视频 | 91久久国产露脸精品国产护士 | 悠悠成人资源亚洲一区二区 | 插插操 | 免费a级片视频 | 综合毛片| 91 免费看片 | 欧美成人午夜精品久久久 | sesee99| 美女一级毛片 | 色呦呦一区二区三区 | 免费观看一区二区三区视频 | 国产精品久久久在线观看 | chinese中国真实乱对白 | 黄色大片在线免费观看 | 一区国产在线观看 | 亚洲欧美日韩久久精品第一区 | 911网站大全在线观看 | 久久99精品久久久久久236 | 国产精品一区二区三区99 | 日韩精品中文字幕一区 | 久久蜜臀一区二区三区av | 九九视频在线观看黄 | 神马久久精品综合 | 一级免费在线视频 | 国产成人午夜高潮毛片 | 亚洲午夜激情网 |