1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        如何以源碼形式運(yùn)行Nacos Server

        共 2532字,需瀏覽 6分鐘

         ·

        2020-09-23 19:26

        官方標(biāo)準(zhǔn)運(yùn)行方式

        下載解壓可運(yùn)行包

        curl?-O?https://github.com/alibaba/nacos/releases/download/1.3.2/nacos-server-1.3.2.tar.gz
        tar?-zxvf?nacos-server-1.3.2.tar.gz
        cd?nacos/bin

        執(zhí)行運(yùn)行

        #?Linux/Unix/Mac?啟動(dòng)命令(standalone代表著單機(jī)模式運(yùn)行,非集群模式):

        sh?startup.sh?-m?standalone

        #?如果您使用的是ubuntu系統(tǒng),或者運(yùn)行腳本報(bào)錯(cuò)提示[[符號(hào)找不到,可嘗試如下運(yùn)行:

        bash?startup.sh?-m?standalone

        #?Windows?啟動(dòng)命令(或者雙擊startup.cmd運(yùn)行文件)

        cmd?startup.cmd

        為什么要源碼化運(yùn)行

        1. 方便開發(fā)過程使用

        如果從 Spring Cloud Netflix 體系遷移到 Spring Cloud Alibaba 技術(shù)體系,明顯的感受是整個(gè)體系得到簡(jiǎn)化。Nacos 承擔(dān)整個(gè) Spring Cloud 的服務(wù)發(fā)現(xiàn)、配置管理部分的實(shí)現(xiàn)。是整個(gè)開發(fā)過程中強(qiáng)依賴,啟動(dòng)微服務(wù)業(yè)務(wù)要去檢查 Nacos Server 是否已經(jīng)啟動(dòng),解壓安裝的方式變的非常不便。

        如果把 Nacos Server 作為整個(gè)微服務(wù)框架的一部分直接 Main 啟動(dòng),是不是更加方便便利?

        2. UI 個(gè)性定制化

        • 若以解壓運(yùn)行方式,修改 UI 幾乎不可能??梢韵螺d Nacos 源碼繼續(xù)修改 然后重新打包運(yùn)行。非常的不方便
        git?clone?https://github.com/alibaba/nacos.git

        cd?nacos/

        mvn?-Prelease-nacos?-Dmaven.test.skip=true?clean?install?-U
        ls?-al?distribution/target/

        //?change?the?$version?to?your?actual?path
        cd?distribution/target/nacos-server-$version/nacos/bin
        • 若以源碼方式運(yùn)行,可以試試的調(diào)整 UI 然后 build 看到效果。

        3. 保證 Server & Client 保持一致

        • pig 作為微服務(wù)開源項(xiàng)目,更新迭代速度非???。每個(gè)版本依賴的 Nacos Client 版本都可能發(fā)生變化,這就意味著對(duì)應(yīng)的 Nacos Server 版本也要對(duì)應(yīng)升級(jí),這需要用戶自行下載升級(jí)成本很高

        • Nacos 具有良好小版本向下兼容性,但是大版本功能變化挺大,比如 1.2 、1.3 權(quán)限的變更。所以建議大家在實(shí)際開發(fā)過程中保持版本一致。

        • 若以源碼運(yùn)行的方式,可以很好的解決此問題。

        如何實(shí)現(xiàn)

        1. 下載 Nacos 源碼

        只需保留 nacos console 模塊,其他模塊均可刪除

        056054d08671c06fa2359448bba8006d.webp???

        2.??Nacos?源碼結(jié)構(gòu)說明

        ├──?pom.xml
        └──?src
        ????├──?main
        ????│???├──?java
        ????│???│???└──?com
        ????│???│???????└──?alibaba
        ????│???│???????????└──?nacos
        ????│???│???????????????├──?Nacos.java??#?main?啟動(dòng)類
        ????│???│???????????????└──?console????#?控制臺(tái)相關(guān)源碼
        ????│???└──?resources
        ????│???????├──?application.properties??#?nacos?配置文件
        ????│???????└──?static????#?靜態(tài)頁(yè)面目錄
        ????└──?test????#?單元測(cè)試部分

        3. 修改 Nacos.java 類

        • 主要在 main 方法中增加 兩個(gè)參數(shù),是否是單機(jī)啟動(dòng) & 是否關(guān)閉權(quán)限校驗(yàn)
        @SpringBootApplication(scanBasePackages?=?"com.alibaba.nacos")
        @ServletComponentScan
        @EnableScheduling
        public?class?Nacos?{

        ????public?static?void?main(String[]?args)?{
        ????????#?通過環(huán)境變量的形式?設(shè)置?單機(jī)啟動(dòng)
        ??????System.setProperty(ConfigConstants.STANDALONE_MODE,?"true");

        ????????#?通過環(huán)境變量的形式?設(shè)置?關(guān)閉權(quán)限校驗(yàn)
        ??????System.setProperty(ConfigConstants.AUTH_ENABLED,?"false");
        ????????SpringApplication.run(Nacos.class,?args);
        ????}
        }

        4. 修改 console/pom.xml

        • 由于不在使用 nacos bom 管理,需要給所有依賴坐標(biāo)增加版本號(hào)

        • 由于 nacos-config /nacos-naming 等包沒有上傳至中央?yún)⒖?無法下載到,groupId 變更為 com.pig4cloud.nacos 即可下載

        • 變更后參考如下

        <dependency>
        ??<groupId>com.pig4cloud.nacosgroupId>
        ??<artifactId>nacos-configartifactId>
        ??<version>1.3.2version>
        dependency>
        <dependency>
        ??<groupId>org.apache.tomcat.embedgroupId>
        ??<artifactId>tomcat-embed-jasperartifactId>
        ??<version>7.0.59version>
        dependency>
        <dependency>
        ??<groupId>com.pig4cloud.nacosgroupId>
        ??<artifactId>nacos-namingartifactId>
        ??<version>1.3.2version>
        dependency>
        ...

        總結(jié)

        1. 1. 以上修改后源碼參考:
        https://gitee.com/log4j/pig[1]2. 是否以源碼形式運(yùn)行,此問題仁者見仁智者見智 根據(jù)你們實(shí)際情況來。

        參考資料

        [1]

        https://gitee.com/log4j/pig: https://gitee.com/log4j/pig/blob/master/pig-register/pom.xml


        瀏覽 48
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            人人妻人人澡人人爽人人欧美一区 | 成人无码区免费视频网站入口 | 91无码人妻精品一区二区三区蜜桃 | 久久精品视频在线播放 | 国产精品中文字幕在线播放 | 免费 无码 国产精品 | AV偷拍 | 女人下部隐私扒开图片无遮挡 | 成人网中文字幕 | 中文字幕A片 |