dependencyManagement的作用、nacos的學習

使用SpringCloudAlibaba注意各組件的版本適配

SpringCloudAlibaba已經包含了適配的各組件(nacos、MQ等)的版本號,也是一個版本仲裁者,但是可能已經有了父項目Spring-Boot-Starter-Parent這個版本仲裁者,又不能加多個父項目,可以使用,

可以使用dependencyManagement來添加版本仲裁者

下面是固定格式,只有版本號可以變

type和scope不能少

dependencyManagement只是添加了一個版本仲裁者,當前項目沒有添加SpringCloudAlibaba進來,子項目也并不會繼承這個依賴,子項目要添加依賴必須要顯示的聲明,添加SpringCloudAlibaba里面的組件nacos、MQ等,不用聲明版本號了

而dependencies中的依賴,子項目會直接繼承

Spring-Boot-Starter-Parent這個版本仲裁者也可以放到dependencyManagement當中

因為公司實際開發中都有自己的一個maven項目給我們繼承,這樣就留出了繼承父maven項目的地方


每一個微服務,會有一個定時任務,定時發送心跳到注冊中心

還會有一個定時任務,定時拉取其他服務列表,緩存到當前服務中(當前服務就可以看成一個客戶端,調用的另一個服務,可以看成服務器)。

每一個微服務也是一個客戶端


如何搭建nacos?

在windows上下載nacos可執行文件

或者在linux中用docker拉取nacos鏡像

并啟動。

可以在nacos的配置文件中設置訪問nacos的賬號、密碼、或者修改其他默認配置

然后在springboot項目中導入nacos的依賴


nacos集群,就是為了防止一個nacos服務壞了,所以會有多臺nacos服務,也叫nacos集群。

這種多臺服務的都會有一個主節點,多個從節點,主從架構

如何注冊到nacos服務中心

????????肯定要提供 服務名稱,而服務的ip和端口,不用提供,nacos能夠自己獲取到

命名空間可以根據不同的項目去劃分,也可以根據一個項目的不同開發環境去劃分,都可以,只是起到一個服務隔離的作用(分組的作用也是一樣的)

注冊到nacos服務中心的默認是 臨時實例


如何進行nacos服務調用

之前服務調用的方式(調用stock-service庫存服務,需要知道庫存服務的ip+端口號)

利用服務發現的方式后,將ip+端口號 改成 庫存服務的名稱即可(注冊到nacos服務中的名稱為stock-service)

因為要調用nacos服務的時候,中間必須要使用負載均衡器,所以在RestTepmlate上要加上@LoadBalanced注解

需要利用負載均衡器,去幫我們把 服務名稱 解析成 ip地址+端口號?

負載均衡器默認是采用輪詢的方式去調用服務 實例

nacos默認采用的就是ribbon的負載均衡技術

權重:結合負載均衡器ribbon使用,分配一個權重

訂閱者列表可以查看服務 的訪問記錄


nacos各個配置項的含義

配置服務名稱,通過上面配置了,下面也可以不寫了,默認采用上面的名稱



如何搭建nacos集群

準備工作

1. 在三臺服務器上安裝nacos,或者在本地安裝三次nacos

2.修改nacos中的配置文件

設置遠程(或者本地)mysql的訪問ip和賬號密碼

這里的ip是三臺服務器上nacos的實際訪問ip地址+端口

3.在mysql數據庫中,建一個名為nacos的數據庫,將這個文件里的sql建表語句執行一遍

4.修改啟動腳本中的參數(防止服務器內存不足,因為默認參數比較大)

5.在三臺服務器上分別啟動nacos。



搭建好了后,如何訪問nacos集群?

能直接改nacos服務地址嗎?不能,有多個nacos服務,如果改成其中一個nacos的地址,還是單節點nacos的模式。

如何設置集群的名稱,默認就DEFAULT

我們需要通過訪問nginx,然后通過nginx幫我們轉發

下載在某臺服務器上下載nginx后,修改里面的配置文件,通過nginx反向代理的方式,去訪問nacos集群

如果訪問了這臺電腦(公網ip192.168.56.220)的8847端口,并且后面加了/nacos/,例如地址是http://192.168.56.220:8847/nacos,

就會反向代理 到上面三個ip地址+端口號中的其中一個(默認是輪詢)

把上面三個ip地址+端口中的一個,拿下來 代替?nacoscluster 這個字符串 的位置

注意:因為nginx和上面三個nacos(集群)都部署在了遠程服務器192.168.56.220上,所以對于

nginx監聽的地址就是本地ip 127.0.0.1,對于反向代理,轉發到的地址也是本地ip 127.0.0.1

使用docker部署nacos集群,上面的有些步驟更加簡單。具體步驟搜索網上教程

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42376.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42376.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42376.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

什么是獨立服務器?

獨立服務器是指一個單獨的物理服務器,整體的硬件設施都是獨立存在的,有著強大的性能,只需要運行用戶個人的數據信息,并且可以享受到獨立服務器的硬件與軟件,當網站有著大量的用戶進行訪問或者是需要運行大型的軟件時&a…

leetcode熱題100.零錢兌換(動態規劃)

今天給大家分享一道動態規劃的常考題,零錢兌換,很有趣的動態規劃題目,希望可以對大家找工作過程中起到幫助,幫助大家拓展下思維 給你一個整數數組 coins ,表示不同面額的硬幣;以及一個整數 amount &#xf…

6、Redis系統-數據結構-06-跳表

六、跳表(Skiplist) 跳表是一種高效的動態數據結構,可以用于實現有序集合(Sorted Set,Zset)。與平衡樹相比,跳表具有實現簡單、效率高的優點,因此被 Redis 選用作為有序集合的底層數…

階段三:項目開發---搭建項目前后端系統基礎架構:任務13:實現基本的登錄功能

任務描述 任務名稱: 實現基本的登錄功能 知識點: 了解前端Vue項目的基本執行過程 重 點: 構建項目的基本登陸功能 內 容: 通過實現項目的基本登錄功能,來了解前端Vue項目的基本執行過程,并完成基…

如何讓代碼兼容 Python 2 和 Python 3?Future 庫助你一臂之力

目錄 01Future 是什么? 為什么選擇 Future? 安裝與配置 02Future 的基本用法 1、兼容 print 函數 2、兼容整數除法 3、兼容 Unicode 字符串 03Future 的高級功能 1. 處理字符串與字節 2. 統一異常處理…

linux kthread任務管理

目錄 一、linux 創建內核線程1.1 kthread_create1.2 kthread_create_worker kthread_queue_work 二、設置線程優先級和調度策略2.1 sched_setscheduler2.2 調度策略 一、linux 創建內核線程 1.1 kthread_create 在 linux 中,可以使用 kthread_create 接口創建內核…

移動校園(7)ii:uniapp路由響應攔截器處理token,以及微信小程序報錯當前頁面正在處于跳轉狀態,請稍后再進行跳轉....

依據昨天的寫完,在token過期之后,再次調用接口,會觸發后端攔截,扔進全局錯誤處理中間件 前端說明提示都沒有,只有一個這個,現在優化一下,再寫一個類似全局后置守衛,當狀態碼是401的時…

MySQL——數據連接池

數據庫連接 --- 執行完畢 --- 釋放(連接到釋放的過程十分浪費系統資源) 池化技術:準備一些預先的資源,過來就連接預先準備好的 編寫連接池,實現一個接口 DataSource 開源數據源實現(拿來即用)…

增強安全防護,解讀智慧校園系統的登錄日志功能

在構建智慧校園系統時,登錄日志功能扮演著不可或缺的角色,它不僅是系統安全的守護者,也是提升管理效率和確保合規性的有力工具。這一機制詳細記錄每次登錄嘗試的方方面面,涵蓋了時間戳、用戶身份、登錄來源的IP地址乃至使用的設備…

phpcms 升級php8.3.8

windows 2008 server 不支持php8.3.8,需升級為windows 2012 1.下載php8.3.8 PHP8.3.9 For Windows: Binaries and sources Releases 2.配置php.ini (1.)在php目錄下找到php.ini-development文件,把它復制一份,改名為php.ini (2.)修改php安裝目錄 根…

《昇思 25 天學習打卡營第 10 天 | ResNet50 遷移學習 》

《昇思 25 天學習打卡營第 10 天 | ResNet50 遷移學習 》 活動地址:https://xihe.mindspore.cn/events/mindspore-training-camp 簽名:Sam9029 使用遷移學習進行狼狗圖像分類 簡介 在機器學習和深度學習中,我們經常面臨數據不足的問題。 遷…

python【文件操作】

文件操作 一、創建文件夾二、文件操作模式1.覆蓋寫入2.讀取3.追加 三、 Python腳本在文件中查找和替換文本四、 python清空文件夾 一、創建文件夾 判斷文件或者文件夾是否存在 import ospathrD://測試文件夾 if not os.path.exists(path):os.mkdir(path)print(os.path.exists…

C++模板元編程(二)——完美轉發

完美轉發指的是函數模板可以將自己的參數“完美”地轉發給內部調用的其它函數。所謂完美,即不僅能準確地轉發參數的值,還能保證被轉發參數的左、右值屬性不變。 文章目錄 場景舊的方法新的方法內部實現參考文獻 場景 思考下面的代碼: templ…

高防服務器的重要性

在數字化時代,網絡安全已成為企業和個人最為關注的問題之一。隨著網絡攻擊的日益頻繁和復雜,傳統的服務器租用服務已難以滿足高安全需求的市場。高防服務器租用應運而生,成為保護網絡安全的重要解決方案。本文將探討高防服務器租用的概念、重…

專業140+總分420+天津大學815信號與系統考研經驗天大電子信息與通信工程,真題,大綱,參考書。

順利上岸天津大學,專業課815信號與系統140,總分420,總結一些自己的復習經歷,希望對于報考天大的同學有些許幫助,少走彎路,順利上岸。專業課: 815信號與系統:指定教材吳大正&#xf…

2-26 基于matlab開發的制冷循環模型

基于matlab開發的制冷循環模型。Simscape兩相流域中的制冷循環模型,在simulink中完成多循環溫度控制。程序已調通,可直接運行。 2-26 制冷循環模型 Simscape兩相流域 - 小紅書 (xiaohongshu.com)

Arduino ESP8266 開發環境搭建

Arduino ESP8266 開發環境搭建 很久之前學嵌入式時,用過Arduino8266進行開發,開發成本低、難度小,體驗很不錯。 近期,又突然要用,遂再次搭建環境,但變動挺多,有些小波折,開貼記錄。…

生成式AI應用實列和價值鏈

生成式AI應用實列和價值鏈 生成式AI應用實列ChatGPTGeminiGitHub CopilotSynthesia 價值鏈 生成式AI應用實列 ChatGPT ChatGPT 并不是生成式 AI 行業中唯一的公司。 Stability AI 的 Stable Diffusion 可以根據文本描述生成圖像,發布后 90 天內,在 Git…

vue是如何進行監聽數據變化的?vue2和vue3分別是什么,vue3為什么要更換

在 Vue 中,數據變化的監聽是通過響應式系統來實現的。Vue 2.x 和 Vue 3 在這方面有一些區別。 Vue 2.x 的數據監聽 Vue 2.x 使用的是 Object.defineProperty() 方法來實現數據的響應式。當你聲明一個 Vue 實例的數據對象時,Vue 將遍歷這個對象的屬性&a…

清除屏幕上信息的命令clear

清除屏幕上信息的命令clear There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about being cheated should leave quickly. 清…