日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

實現Eureka服務注冊和服務發現,你學會了嗎?

來源: 責編: 時間:2023-11-28 09:36:36 248觀看
導讀分布式在大型開發項目中通常使用分布式服務來根據項目中不同的功能劃分為幾個不通的模塊。比如在一個商城系統中,通常會把用戶服務、下單服務、商品推薦服務分散到幾個模塊中,如果在下單服務中需要獲取用戶的信息,這時候

分布式

在大型開發項目中通常使用分布式服務來根據項目中不同的功能劃分為幾個不通的模塊。9tD28資訊網——每日最新資訊28at.com

比如在一個商城系統中,通常會把用戶服務、下單服務、商品推薦服務分散到幾個模塊中,如果在下單服務中需要獲取用戶的信息,這時候就在代碼內部調用用戶服務的接口即可。這樣一個過程就是分布式的基本概念。9tD28資訊網——每日最新資訊28at.com

Spring Cloud

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用Spring Boot的開發風格做到一鍵啟動和部署。Spring Cloud并沒有重復制造輪子,它只是將各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,通過Spring Boot風格進行再封裝屏蔽掉了復雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分布式系統開發工具包。9tD28資訊網——每日最新資訊28at.com

--以上內容來自百度百科。9tD28資訊網——每日最新資訊28at.com

圖片圖片9tD28資訊網——每日最新資訊28at.com

來自官網列舉的主要項目9tD28資訊網——每日最新資訊28at.com

所以,Spring Cloud是一款主流的分布式服務框架,提供了服務注冊與調用,統一配置管理,統一網關路由,服務鏈路監控等功能。并且在遠程調用是支持Feign(HTTP)協議。9tD28資訊網——每日最新資訊28at.com

服務遠程調用

3.1 創建兩個項目

創建兩個項目模擬分布式的場景,分別是userService和orderService,這兩個服務對應的數據庫不在同一個庫中,在userService項目中有一個接口是根據user表的ID查詢user對象;9tD28資訊網——每日最新資訊28at.com

同樣的,orderService項目中有一個接口是根據order表的ID查詢order信息,在一條信息中包含了單價,數量,總價和用戶的ID。9tD28資訊網——每日最新資訊28at.com

這兩個個項目布在了同一個大的項目中。現在有一個功能需求是通過使用orderService的接口查詢order信息并同時獲得這個訂單對應的用戶信息。9tD28資訊網——每日最新資訊28at.com

圖片圖片9tD28資訊網——每日最新資訊28at.com

3.2 遠程調用

首先需要創建一個RestTemplate對象,這個對象功能能簡單,就是用來發送HTTP請求,所以可以在項目的配置類中創建這么一個對象,然后在Controller層中注入。9tD28資訊網——每日最新資訊28at.com

圖片圖片9tD28資訊網——每日最新資訊28at.com

圖片圖片9tD28資訊網——每日最新資訊28at.com

這樣就完成了一次遠程調用了。9tD28資訊網——每日最新資訊28at.com

使用Postman測試一下,理論上是要返回一個response對象,response對象包含了user對象和order對象。9tD28資訊網——每日最新資訊28at.com

圖片圖片9tD28資訊網——每日最新資訊28at.com

Eureka服務搭建

在上面的遠程調用的例子中,有許多的不足,比如訪問的url信息是寫死在代碼中的,后期部署的時候要再專門修改這樣是不現實的。9tD28資訊網——每日最新資訊28at.com

Eureka服務發現就相當于是一個專門獲取項目中所有接口的程序。所以需要先創建一個Spring boot項目,然后把這個項目當作Eureka的server。9tD28資訊網——每日最新資訊28at.com

4.1 首先在Eureka_Server的Maven中導入依賴

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency>

4.2 接著在啟動類添加@EnableEurekaServer注解

圖片圖片9tD28資訊網——每日最新資訊28at.com

4.3 在配置文件中配置Eureka服務的端口和應用名稱

圖片圖片9tD28資訊網——每日最新資訊28at.com

驗證是否成功只需要在瀏覽器上輸入設置的網址,看能否進入頁面即可。9tD28資訊網——每日最新資訊28at.com

圖片圖片9tD28資訊網——每日最新資訊28at.com

Eureka服務注冊

5.1 在orderservice和userservice項目中分別引入Eureka依賴信息

注:這里導入的是client依賴。9tD28資訊網——每日最新資訊28at.com

圖片圖片9tD28資訊網——每日最新資訊28at.com

5.2 在userservice和orderservice配置Eureka的配置信息

注:與4.3的樣式一致。9tD28資訊網——每日最新資訊28at.com

圖片圖片9tD28資訊網——每日最新資訊28at.com

5.3 訪問eureka地址查看這倆個新注冊的服務9tD28資訊網——每日最新資訊28at.com

圖片圖片9tD28資訊網——每日最新資訊28at.com

可以發現服務都注冊在eureka上了。9tD28資訊網——每日最新資訊28at.com

Eureka服務發現

6.1 把消費者的調用鏈接中的ip和端口信息換成注冊在Eureka的服務名

圖片圖片9tD28資訊網——每日最新資訊28at.com

6.2 在消費者的配置類的RestTemplate上添加@LoadBalanced注解

注:這里的消費者當然是orderservice。9tD28資訊網——每日最新資訊28at.com

圖片圖片9tD28資訊網——每日最新資訊28at.com

6.3 再測試一次程序

圖片圖片9tD28資訊網——每日最新資訊28at.com

可見是成功調用了userservice的接口。9tD28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-34659-0.html實現Eureka服務注冊和服務發現,你學會了嗎?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 100行代碼實現審計日志中間件

下一篇: Display和Visibility的區別,你了解了嗎?

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 凌源市| 澎湖县| 河源市| 东平县| 阿图什市| 简阳市| 勃利县| 绥中县| 鄂温| 宁陵县| 巴彦县| 康定县| 武川县| 揭西县| 灌云县| 论坛| 航空| 鄂州市| 东乌珠穆沁旗| 吉安市| 镇康县| 信丰县| 华安县| 邵阳市| 清镇市| 大化| 襄汾县| 木兰县| 疏勒县| 扎鲁特旗| 汉沽区| 荔浦县| 泰顺县| 邯郸县| 武强县| 布拖县| 东乡县| 儋州市| 普洱| 康平县| 乐平市|