最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nacos Server部署配置全過程

 更新時間:2025年10月16日 12:21:35   作者:匍匐前進(jìn)の程序猿  
本文介紹了Nacos的定義、核心功能(服務(wù)注冊、心跳、發(fā)現(xiàn)、健康檢查等)、單機(jī)和集群部署步驟,以及客戶端服務(wù)的搭建與配置,旨在幫助用戶快速了解和使用Nacos進(jìn)行服務(wù)治理和配置管理

1.什么是Nacos?

官方簡介:一個更易于構(gòu)建云原生應(yīng)用的動態(tài)服務(wù)發(fā)現(xiàn)(Nacos Discovery )、服務(wù)配置(Nacos Config)和服務(wù)管理平臺。

Nacos的關(guān)鍵特性包括

  • 服務(wù)發(fā)現(xiàn)和服務(wù)健康監(jiān)測
  • 動態(tài)配置服務(wù)
  • 動態(tài)DNS服務(wù)
  • 服務(wù)及其元數(shù)據(jù)管理

Nacos的核心功能

  • 服務(wù)注冊:Nacos Client會通過發(fā)送REST請求的方式向Nacos Server注冊自己的服務(wù),提供自身的元數(shù)據(jù),比如ip地址、端口等信息。Nacos Server接收到注冊請求后,就會把這些元數(shù)據(jù)信息存儲在一個雙層的內(nèi)存Map中。
  • 服務(wù)心跳:在服務(wù)注冊后,Nacos Client會維護(hù)一個定時心跳來持續(xù)通知Nacos Server,說明服務(wù)一直處于可用狀態(tài),防止被剔除。默認(rèn)5s發(fā)送一次心跳。
  • 服務(wù)同步:Nacos Server集群之間會互相同步服務(wù)實(shí)例,用來保證服務(wù)信息的一致性。
  • 服務(wù)發(fā)現(xiàn):服務(wù)消費(fèi)者(Nacos Client)在調(diào)用服務(wù)提供者的服務(wù)時,會發(fā)送一個REST請求給Nacos Server,獲取上面注冊的服務(wù)清單,并且緩存在Nacos Client本地,同時會在Nacos Client本地開啟一個定時任務(wù)定時拉取服務(wù)端最新的注冊表信息更新到本地緩存。
  • 服務(wù)健康檢查:Nacos Server會開啟一個定時任務(wù)用來檢查注冊服務(wù)實(shí)例的健康情況,對于超過15s沒有收到客戶端心跳的實(shí)例會將它的healthy屬性置為false(客戶端服務(wù)發(fā)現(xiàn)時不會發(fā)現(xiàn)),如果某個實(shí)例超過30秒沒有收到心跳,直接剔除該實(shí)例(被剔除的實(shí)例如果恢復(fù)發(fā)送心跳則會重新注冊)。

2.Nacos Server 單機(jī)部署配置

2.1. 相關(guān)文件

2.2. 配置流程

  • 修改bin/startup.cmd文件信息,默認(rèn)是集群模式,需修改為單機(jī)模式

  • 啟動成功頁面

  • 登錄頁面(默認(rèn)用戶名,密碼:nacos)

  • 可選操作:端口修改,數(shù)據(jù)源設(shè)置—>config/application.properties文件

  • sql文件位置

2.3. 搭建Nacos-client 服務(wù)

(1)引入依賴

父Pom中支持spring cloud&spring cloud alibaba, 引入依賴

	<!--項(xiàng)目依賴管理,父項(xiàng)目只是聲明依賴,子項(xiàng)目需要寫明需要的依賴(可以省略版本信息)-->
    <dependencyManagement>
        <dependencies>
            <!--spring cloud alibaba 版本管理器-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring.cloud.alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--spring cloud 版本管理器-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--springboot 版本管理器-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>${spring.boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

子Pom中引入依賴

		<!--nacos 服務(wù)注冊與發(fā)現(xiàn)-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <!--負(fù)載均衡器-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
            <version>3.1.1</version>
        </dependency>

(2) application.yml中配置

server:
  port: 8020

# 應(yīng)用名稱 (nacos會將該名稱當(dāng)做服務(wù)名稱)
spring:
  application:
    name: order-service
  cloud:
    nacos:
      server-addr: 172.16.10.132:8848 # 服務(wù)地址
      discovery:
        username: nacos
        password: nacos
#        namespace: public
#        ephemeral: false # 永久實(shí)例 哪怕宕機(jī)了也不會刪除該實(shí)例?

#        service: # 默認(rèn)取${spring.application.name}的值,也可以通過該選項(xiàng)配置 服務(wù)名稱
#        group: #默認(rèn)DEFAULT_GROUP  分組管理

更多Nacos相關(guān)配置: https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-discovery

(3) 啟動springboot應(yīng)用,nacos管理端界面查看是否成功注冊

(4)代碼

@RestController
@RequestMapping("/order")
public class OrderController {

    @Autowired
    RestTemplate restTemplate;

    @RequestMapping("/add")
    public String add() {
        System.out.println("下單成功");
        String msg = restTemplate.getForObject("http://stock-service/stock/reduct", String.class);
        return "Hello World" + msg;
    }
}

注意!!! 需要加上@LoadBalanced

	@Bean
    @LoadBalanced
    public RestTemplate restTemplate(RestTemplateBuilder builder){
        RestTemplate restTemplate = builder.build();
        return restTemplate;
    }

(5) 測試

3.Nacos Server 集群部署配置(Windows環(huán)境)

3.1.環(huán)境準(zhǔn)備

(1) jdk1.8+

(2) maven 3.3+

(3) nginx 作為負(fù)載均衡

(4) mysql

  • 集群部署架構(gòu)圖

3.2. 配置流程

(1) 復(fù)制 Nacos安裝包,修改為 nacos8840、nacos8850、nacos8860

(2) 以nacos8840為例,進(jìn)入nacos8840目錄

(2.1) 修改conf\application.properties的配置,使用外置數(shù)據(jù)源 要使用mysql5.7+(包括)

(2.2) 將conf\cluster.conf.example復(fù)制一份,并改名為cluster.conf,添加節(jié)點(diǎn)配置

nacos8850,nacos8860 按同樣的方式配置。

(3) 創(chuàng)建mysql數(shù)據(jù)庫,sql文件位置:conf\nacos mysql.sql

(4)如果出現(xiàn)內(nèi)存不足:修改啟動腳本(bin\startup.sh)的jvm參數(shù)

5) 分別啟動nacos8840,nacos8850,nacos8860

(6) 測試,出現(xiàn)以下界面,則表示Nacos集群已創(chuàng)建成功

登錄 http://172.16.10.132:8840/nacos/index.html ,用戶名和密碼都是nacos

(7) 使用Nginx實(shí)現(xiàn)負(fù)載均衡

3.3. 搭建Nacos-client 服務(wù)

(1) 配置同上。

(2) application.yml中配置

server:
  port: 8020

# 應(yīng)用名稱 (nacos會將該名稱當(dāng)做服務(wù)名稱)
spring:
  application:
    name: order-service
  cloud:
    nacos:
      server-addr: 172.16.10.132:8848 # nginx 服務(wù)地址
      discovery:
        username: nacos
        password: nacos
#        namespace: public
#        ephemeral: false # 永久實(shí)例 哪怕宕機(jī)了也不會刪除該實(shí)例?

#        service: # 默認(rèn)取${spring.application.name}的值,也可以通過該選項(xiàng)配置 服務(wù)名稱
#        group: #默認(rèn)DEFAULT_GROUP  分組管理

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java平臺調(diào)試體系原理分析和實(shí)踐整理 遠(yuǎn)程Debug

    Java平臺調(diào)試體系原理分析和實(shí)踐整理 遠(yuǎn)程Debug

    這篇文章主要介紹了Java平臺調(diào)試體系原理分析和實(shí)踐整理 遠(yuǎn)程Debug,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • java處理解析帶有反斜杠的json

    java處理解析帶有反斜杠的json

    在Java中操作JSON數(shù)據(jù)是一項(xiàng)常見的任務(wù),其中一個常見的問題是如何在JSON字符串中包含反斜杠,本文主要介紹了java處理解析帶有反斜杠的json,感興趣的可以了解一下
    2024-01-01
  • java連連看游戲菜單設(shè)計(jì)

    java連連看游戲菜單設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了java連連看游戲菜單部分的設(shè)計(jì)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 關(guān)于Spring中@Transactional事務(wù)回滾的注意事項(xiàng)

    關(guān)于Spring中@Transactional事務(wù)回滾的注意事項(xiàng)

    這篇文章主要介紹了關(guān)于Spring中@Transactional事務(wù)回滾的注意事項(xiàng),回滾(Rollback)指的是程序或數(shù)據(jù)處理錯誤,將程序或數(shù)據(jù)恢復(fù)到上一次正確狀態(tài)的行為?;貪L包括程序回滾和數(shù)據(jù)回滾等類型,需要的朋友可以參考下
    2023-05-05
  • Android中Handler引起的內(nèi)存泄露問題解決辦法

    Android中Handler引起的內(nèi)存泄露問題解決辦法

    這篇文章主要介紹了Android中Handler引起的內(nèi)存泄露問題解決辦法,本文講解了導(dǎo)致內(nèi)存泄露的情景,并給出了修改后的代碼,需要的朋友可以參考下
    2015-01-01
  • SpringBoot 實(shí)戰(zhàn) 之 優(yōu)雅終止服務(wù)的方法

    SpringBoot 實(shí)戰(zhàn) 之 優(yōu)雅終止服務(wù)的方法

    本篇文章主要介紹了SpringBoot 實(shí)戰(zhàn) 之 優(yōu)雅終止服務(wù)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • SpringBoot四大神器之Actuator的使用小結(jié)

    SpringBoot四大神器之Actuator的使用小結(jié)

    這篇文章主要介紹了SpringBoot四大神器之Actuator的使用小結(jié),詳細(xì)的介紹了Actuator的使用和端點(diǎn)的使用,有興趣的可以了解一下
    2017-11-11
  • 使用BindingResult 自定義錯誤信息

    使用BindingResult 自定義錯誤信息

    這篇文章主要介紹了使用BindingResult 自定義錯誤信息,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • SpringBoot項(xiàng)目啟動后自動加載系統(tǒng)配置的多種實(shí)現(xiàn)方式

    SpringBoot項(xiàng)目啟動后自動加載系統(tǒng)配置的多種實(shí)現(xiàn)方式

    這篇文章主要介紹了SpringBoot項(xiàng)目啟動后自動加載系統(tǒng)配置的多種實(shí)現(xiàn)方式,并通過代碼示例講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2025-01-01
  • Java實(shí)現(xiàn)簡單連連看游戲

    Java實(shí)現(xiàn)簡單連連看游戲

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡單連連看游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評論

惠来县| 马尔康县| 兴城市| 隆尧县| 宁化县| 平泉县| 荥经县| 涪陵区| 葫芦岛市| 巨鹿县| 东乡| 开化县| 饶平县| 阿拉善盟| 林甸县| 余干县| 余干县| 墨玉县| 西吉县| 措美县| 澄迈县| 福建省| 三门县| 古丈县| 清徐县| 旺苍县| 靖宇县| 陕西省| 阳山县| 孟连| 台州市| 崇仁县| 林西县| 防城港市| 方山县| 福州市| 汾阳市| 泗洪县| 松阳县| 利川市| 广汉市|