在 IntelliJ IDEA 中啟動多個注冊到 Nacos 的服務

使用場景:邊改代碼,邊和前端聯調。

在微服務架構中,服務注冊與發現是核心功能之一。Nacos 作為一款流行的開源服務注冊與配置管理工具,被廣泛應用于微服務架構中。本文將介紹如何在 IntelliJ IDEA 中配置并啟動多個注冊到 Nacos 的服務,同時確保這些服務使用隨機端口啟動,且不影響前端聯調。

1. 為什么要使用隨機端口?

在開發環境中,我們通常需要同時啟動多個服務實例。如果每個服務都固定使用同一個端口,那么在啟動多個實例時會發生端口沖突。為了避免這種情況,我們可以讓每個服務實例使用隨機端口啟動。Nacos 在注冊服務時只關注服務名稱,而不關注具體端口,因此使用隨機端口不會影響服務的注冊與發現。

2. 配置 IntelliJ IDEA 啟動多個服務

在 IntelliJ IDEA 中,我們可以通過配置多個運行/調試配置(Run/Debug Configurations)來啟動多個服務實例。以下是具體步驟:

2.1 創建運行/調試配置
  1. 打開 IntelliJ IDEA,進入 Run 菜單,選擇 Edit Configurations...
  2. 點擊左上角的 + 按鈕,選擇 Application,創建一個新的運行配置。
  3. Name 字段中輸入一個有意義的名稱,例如 ContractApplication_0
  4. Main class 字段中輸入你的主類,例如 xxxxContractApplication
  5. VM options 字段中添加以下參數:
    -Dserver.port=0
    
    這個參數會告訴 Spring Boot 使用隨機端口啟動服務。
  6. 確保 Use classpath of module 字段選擇的是你的項目模塊,例如 contract-server
  7. 點擊 OK 保存配置。
2.2 復制運行配置

為了啟動多個服務實例,我們可以復制剛才創建的運行配置:

  1. Run/Debug Configurations 窗口中,右鍵點擊剛剛創建的配置(例如 ContractApplication_0),選擇 Copy
  2. 在復制的配置中,修改 Name 字段為 ContractApplication_1
  3. 重復上述步驟,創建更多運行配置,例如 ContractApplication_2ContractApplication_3 等。
2.3 啟動多個服務
  1. Run 菜單中,選擇 Run...
  2. 在彈出的窗口中,選擇你創建的運行配置(例如 ContractApplication_0),然后點擊 OK
  3. 重復上述步驟,依次啟動其他運行配置(例如 ContractApplication_1ContractApplication_2 等)。

3. 驗證服務是否注冊到 Nacos

啟動多個服務實例后,我們可以通過 Nacos 控制臺驗證這些服務是否成功注冊:

  1. 打開 Nacos 控制臺,進入 服務管理 頁面。
  2. 在服務列表中找到你的服務名稱(例如 contract-server)。
  3. 點擊服務名稱,進入服務詳情頁面,查看注冊的服務實例列表。
  4. 你應該能看到多個服務實例,每個實例的 IP 和端口可能不同。

4. 前端聯調

由于 Nacos 只關注服務名稱,而不關注具體端口,前端在聯調時只需要通過服務名稱訪問服務即可。Nacos 會自動將請求路由到可用的服務實例,因此前端不需要關心具體的服務端口。

5. 總結

通過在 IntelliJ IDEA 中配置多個運行/調試配置,并使用 -Dserver.port=0 參數讓服務使用隨機端口啟動,我們可以輕松地在本地環境中啟動多個注冊到 Nacos 的服務實例。這種方法不僅避免了端口沖突,還確保了服務的正常注冊與發現,同時不會影響前端的聯調工作。

希望本文對你有所幫助!如果有任何問題,歡迎在評論區留言。

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

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

相關文章

DeepSeek開源周Day2:DeepEP - 專為 MoE 模型設計的超高效 GPU 通信庫

項目地址:https://github.com/deepseek-ai/DeepEP 開源日歷:2025-02-24起 每日9AM(北京時間)更新,持續五天 (2/5)! ? ? 引言 在大模型訓練中,混合專家模型(Mixture-of-Experts, MoE)因其動…

HTTP學習——————(四)TLS等加密算法

前文學習: 一、二、三 學習來源網站 : 極客時間 TLS 目的:身份驗證、保密性、完整性 解決問題: Record記錄協議——對稱加密 Handshake握手協議———1.驗證通訊雙方身份 2.交換加解密安全套件 3.協商加密參數 有密鑰交換算法…

FastExcel vs EasyExcel vs Apache POI:三者的全面對比分析

一、核心定位與歷史沿革 Apache POI(1990s-) 作為Java生態中最古老的Excel處理庫,提供對.xls/.xlsx文件的全功能支持。其核心價值在于對Excel規范的完整實現,包括單元格樣式、公式計算、圖表操作等深度功能。但存在內存消耗大&…

辛格迪客戶案例 | 鼎康生物電子合約系統(eSign)項目

01 案例企業 鼎康(武漢)生物醫藥有限公司于2013年06月19日成立 ,是一家總部位于湖北武漢的CDMO公司,堅持以客戶為中心,以及時、經濟和高質量為服務導向。鼎康生物擁有先進的150,000平方英尺的生產廠房,生產設施位于中國武漢的Bio…

multer 依賴詳解

multer 是一個用于處理 multipart/form-data 類型表單數據的 Node.js 中間件,主要用于文件上傳。它基于 busboy 構建,使用起來非常方便。 一、安裝 npm install multer 二、基本使用 const express require("express");const multer req…

點云配準技術的演進與前沿探索:從傳統算法到深度學習融合(4)

4、點云配準面臨的挑戰與應對策略 4.1 點云配準面臨的主要挑戰 在點云配準的實際應用中,盡管已經取得了顯著的研究成果,但仍然面臨著諸多復雜而嚴峻的挑戰,這些挑戰嚴重制約了點云配準技術在更多領域的廣泛應用和深入發展。 在自動駕駛場景…

PostgreSQL10 物理流復制實戰:構建高可用數據庫架構!

背景 PostgreSQL 10 在高可用架構中提供了物理復制,也稱為流復制(Streaming Replication),用于實現實例級別的數據同步。PostgreSQL 復制機制主要包括物理復制和邏輯復制:物理復制依賴 WAL 日志進行物理塊級別的同步&…

?算法OJ?位操作實戰【計數】(C++ 實現)

191. Number of 1 Bits Given a positive integer n, write a function that returns the number of set bits in its binary representation (also known as the Hamming weight). int hammingWeight(uint32_t n) {int count 0;while (n) {count n & 1; // 檢查最低位…

從二維隨機變量到多維隨機變量

二維隨機變量 設 X X X和 Y Y Y是定義在同一樣本空間 Ω \varOmega Ω上的兩個隨機變量,稱由它們組成的向量 ( X , Y ) (X, Y) (X,Y)為二維隨機變量,亦稱為二維隨機向量,其中稱 X X X和 Y Y Y是二維隨機變量的分量。 采用多個隨機變量去描述…

RabbitMQ系列(一)架構解析

RabbitMQ 架構解析 RabbitMQ 是一個基于 AMQP 協議的開源消息中間件,其核心架構通過多組件協作實現高效、可靠的消息傳遞。以下是其核心組件與協作流程的詳細說明: 一、核心組件與功能 Broker(消息代理服務器) RabbitMQ 服務端核…

Ubuntu 下 nginx-1.24.0 源碼分析 - ngx_list_init

ngx_list_init 定義在 src\core\ngx_list.h static ngx_inline ngx_int_t ngx_list_init(ngx_list_t *list, ngx_pool_t *pool, ngx_uint_t n, size_t size) {list->part.elts ngx_palloc(pool, n * size);if (list->part.elts NULL) {return NGX_ERROR;}list->par…

Linux切換Python版本

1、更新apt sudo apt update2、查詢python安裝路徑 which python 或者which python33、查詢安裝版本 # 查看所有以 "python" 開頭的命令(包括版本號) ls -l 安裝路徑* 例如 ls -l /usr/bin/python*4、修改軟連接 udo unlink /usr/bin/pyt…

Spring Cloud之注冊中心之Nacos的使用

目錄 Naacos 服務注冊/服務發現 引?Spring Cloud Alibaba依賴 引入Nacos依賴 引入Load Balance依賴 配置Nacos地址 服務端調用 啟動服務 Naacos Nacos是Spring Cloud Alibaba的組件, Spring Cloud Alibaba遵循Spring Cloud中定義的服務注冊, 服務發現規范. 因此使?Na…

使用通義萬相Wan2.1進行視頻生成

使用通義萬相Wan2.1進行視頻生成 源代碼準備運行環境準備創建Python虛擬環境并激活安裝依賴包 模型下載生成視頻官網的視頻生成例子簡單描述場景視頻生成示例詳細描述場景視頻生成示例 最近通義萬相開源了其視頻生成模型。模型有兩個版本,一個是1.3B的,一…

鴻蒙HarmonyOS 開發簡介

鴻蒙開發入門教程 一、技術簡介 鴻蒙操作系統(HarmonyOS)是面向萬物互聯時代的全場景分布式操作系統,具備分布式軟總線、分布式數據管理、分布式任務調度等核心能力,能讓設備間實現無縫連接與協同,為用戶提供統一、流…

docker和containerd從TLS harbor拉取鏡像

私有鏡像倉庫配置了自簽名證書,https訪問,好處是不需要處理免費證書和付費證書帶來的證書文件變更,證書文件變更后需要重啟服務,自簽名證書需要將一套客戶端證書存放在/etc/docker/cert.d目錄下,或者/etc/containerd/c…

linux ununtu通過nginx-1.6.2.tar.gz安裝nginx并安裝在自定義目錄XXX下 的步驟

Ubuntu 下通過源碼安裝 Nginx 1.6.2 到自定義目錄 /home/aot/nginx 的步驟 以下是將 Nginx 1.6.2 源碼包離線安裝到自定義目錄的詳細流程,包含依賴管理、編譯配置和服務管理: 一、準備工作 1. 下載源碼包和依賴(需聯網環境準備)…

C++ 變量的輸入輸出教程

一、變量的基本概念 在 C 中,變量是用于存儲數據的命名內存位置。在使用變量之前,需要先聲明它的類型和名稱,這樣編譯器才能為其分配適當大小的內存空間。例如: int age; // 聲明一個整型變量 age double salary; // 聲明一個…

React底層常見的設計模式

在React中,常見的設計模式為開發者提供了結構化和可重用的解決方案,有助于提高代碼的可維護性和可擴展性。以下是對React中幾種常見設計模式的詳細解析,并附上示例代碼和注釋: 1. 容器組件與展示組件模式(Container/P…

【MATLAB例程】三維下的IMM(交互式多模型),模型使用CV(勻速)和CA(勻加速)

給出三維下的交互式多模型(IMM)matlab例程,模型使用勻速運動CV和勻加速運動CA,濾波使用EKF(擴展卡爾曼濾波) 文章目錄 代碼運行結果程序結構 代碼講解模型定義:軌跡生成:IMM核心流程…