<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Nacos 1.3.0 發(fā)布,一個修煉內(nèi)功的版本:全新內(nèi)核構(gòu)建!

          共 4412字,需瀏覽 9分鐘

           ·

          2020-06-10 23:39


          Na點(diǎn)擊上方藍(lán)色“程序猿DD”,選擇“設(shè)為星標(biāo)”

          回復(fù)“資源”獲取獨(dú)家整理的學(xué)習(xí)資料!

          9b076caf9dc1335875aef39504f6e369.webp

          作者 |?

          來源 |?

          ec2296df814c79683d8dea469d59d661.webp

          1.3.0版本開始修煉內(nèi)功,聚焦“簡單”、“性能”、“高可用”這核心的三個點(diǎn)進(jìn)一步提升Nacos核心競爭力。

          • 內(nèi)嵌關(guān)系型分布式數(shù)據(jù)庫,簡化集群部署模式
          • 集群管理下沉統(tǒng)一,提供全新集群管理能力
          • 一致性協(xié)議抽象升級,提供更高的性能
          • 安全升級,解決Fastjson和越權(quán)風(fēng)險

          內(nèi)嵌關(guān)系型分布式數(shù)據(jù)庫

          集群部署可以不依賴Mysql,以便降低中小用戶的集群運(yùn)維部署成本(大客戶,生產(chǎn)環(huán)境依然建議依賴Mysql,以便有更高的性能),其開啟命令為./startup.sh -p embedded

          然后查看啟動日志是否有出現(xiàn)以下信息:Nacos started successfully in cluster mode. use embedded storage

          同時,為了方便用戶查詢本機(jī)節(jié)點(diǎn)的數(shù)據(jù)同步情況,Nacos 1.3.0 配置模塊開放了新的運(yùn)維 Open-API,供其查詢當(dāng)前節(jié)點(diǎn)本地數(shù)據(jù)存儲情況,其使用方式如下

          GET?/nacos/v1/cs/ops/derby?sql=select?*?from?config_info

          使用該命令時,最好加上分頁查詢,避免一次查處大量的數(shù)據(jù)影響Nacos的正常對外業(yè)務(wù)工作,如果沒有加上分頁查詢,則會自動添加分頁查詢語句,默認(rèn)查詢最開始的1k條數(shù)據(jù)。其分頁查詢的SQL的例子如下。

          select?*?from?config_info?OFFSET?0?ROWS?FETCH?NEXT?1000?ROWS?ONLY

          其數(shù)據(jù)返回結(jié)果如下

          {
          ????"code":200,
          ????"message":null,
          ????"data":[
          ????????{
          ????????????"ID":242149783664332800,
          ????????????"DATA_ID":"application.properties",
          ????????????"GROUP_ID":"DEFAULT_GROUP",
          ????????????"TENANT_ID":"",
          ????????????"APP_NAME":"",
          ????????????"CONTENT":"this.is.test=liaochuntao",
          ????????????"MD5":"bedbfd7069e999edf2adf9d8a1af3083",
          ????????????"GMT_CREATE":"2020-06-03T05:30:47.345+0000",
          ????????????"GMT_MODIFIED":"2020-06-03T05:30:47.345+0000",
          ????????????"SRC_USER":null,
          ????????????"SRC_IP":"127.0.0.1",
          ????????????"C_DESC":null,
          ????????????"C_USE":null,
          ????????????"EFFECT":null,
          ????????????"TYPE":"properties",
          ????????????"C_SCHEMA":null
          ????????}
          ????]
          }

          注意事項

          分布式ID——Snowflake

          Nacos 1.3.0的分布式存儲,其數(shù)據(jù)的主鍵依賴雪花ID算法進(jìn)行生成,雪花算法ID需要?DataCenterId、WorkerId,默認(rèn)情況下,WorkerId不需要進(jìn)行設(shè)置,會根據(jù)InetAddress.getLocalHost()進(jìn)行計算生成。如果需要自己指定,則在application.properties進(jìn)行如下配置設(shè)置

          ###?set?the?dataCenterID?manually
          nacos.core.snowflake.data-center=
          ###?set?the?WorkerID?manually
          nacos.core.snowflake.worker-id=

          數(shù)據(jù)遷移

          由于Nacos 1.3.0新增的內(nèi)嵌存儲模式是全新的數(shù)據(jù)存儲模式,因此在進(jìn)行Nacos-Server升級時,如果是需要使用這種新能力,需要另外部署一個Nacos 1.3.0集群,然后進(jìn)行數(shù)據(jù)遷移,由于Nacos 1.3.0 新增的內(nèi)嵌存儲模式,還無法自動的將原本MySQL的數(shù)據(jù)直接一鍵進(jìn)行數(shù)據(jù)遷移,因此只能用戶使用數(shù)據(jù)導(dǎo)出導(dǎo)入的方式進(jìn)行。

          全新的集群管理

          提供全新集群管理頁面

          d110e1dc6bd47bb685806293e5b88075.webp

          Nacos 1.3.0版本開始,對集群節(jié)點(diǎn)管理進(jìn)行了統(tǒng)一,將原有配置模塊以及服務(wù)模塊的集群節(jié)點(diǎn)管理統(tǒng)一下沉到內(nèi)核模塊,并且優(yōu)化了集群節(jié)點(diǎn)信息展示,使得其更貼近Nacos集群模式的數(shù)據(jù)信息顯示,其顯示的內(nèi)容包括如下幾個方面

          1. 服務(wù)發(fā)現(xiàn)模塊舊的Raft協(xié)議的元數(shù)據(jù)數(shù)據(jù)

          2. 配置管理模塊使用新Raft協(xié)議的元數(shù)據(jù)

          • a. 新Raft協(xié)議的RPC端口
          • b. 節(jié)點(diǎn)的版本信息
          • c. 節(jié)點(diǎn)的權(quán)重信息(該權(quán)重的功能暫未提供,以后服務(wù)端節(jié)點(diǎn)的負(fù)載均衡使用)
          • d. 節(jié)點(diǎn)元數(shù)據(jù)信息上次刷新時間
          1. Nacos節(jié)點(diǎn)自身的元數(shù)據(jù)信息

          新的集群尋址模式設(shè)置

          Nacos 1.3.0版本開始,對集群節(jié)點(diǎn)的尋址模式做了統(tǒng)一,用戶可以通過如下設(shè)置自己選擇需要使用哪一種尋址模式作為集群節(jié)點(diǎn)的管理

          • 文件尋址模式

          nacos.core.member.lookup.type=file(默認(rèn)值)

          • 地址服務(wù)尋址模式

          nacos.core.member.lookup.type=address-server

          全新的一致性協(xié)議

          Nacos 1.3.0版本開始,將對現(xiàn)有的一致性協(xié)議層進(jìn)行統(tǒng)一抽象以及下沉,在Nacos 1.3.0,我們實現(xiàn)了Raft協(xié)議的下沉,并且將其與配置管理模塊進(jìn)行了對接。用戶可以通過調(diào)整下面的參數(shù)對Raft協(xié)議進(jìn)行調(diào)整。

          #?Sets?the?Raft?cluster?election?timeout,?default?value?is?5?second
          #?設(shè)置Raft群集選舉超時,默認(rèn)值為5秒
          nacos.core.protocol.raft.data.election_timeout_ms=5000
          #?Sets?the?amount?of?time?the?Raft?snapshot?will?execute?periodically,?default?is?30?minute
          #?設(shè)置Raft快照定期執(zhí)行的時間,默認(rèn)值為30分鐘
          nacos.core.protocol.raft.data.snapshot_interval_secs=30
          #?Raft?internal?worker?threads
          #?Raft?內(nèi)部工作線程數(shù)量
          nacos.core.protocol.raft.data.core_thread_num=8
          #?Number?of?threads?required?for?raft?business?request?processing
          #?Raft?業(yè)務(wù)請求處理所需的線程數(shù)
          nacos.core.protocol.raft.data.cli_service_thread_num=4
          #?raft?線性讀取策略,默認(rèn)為ReadOnlySafe,可以選擇ReadOnlyLeaseBased
          nacos.core.protocol.raft.data.read_index_type=ReadOnlySafe
          ###?rpc請求超時,默認(rèn)5秒
          nacos.core.protocol.raft.data.rpc_request_timeout_ms=5000`

          同時,為了方便運(yùn)維對新的Raft協(xié)議能夠進(jìn)行一些簡單的運(yùn)維操作,Nacos 1.3.0 內(nèi)核模塊開放了相關(guān)一致性協(xié)議運(yùn)維的 Open-API,供其對Raft進(jìn)行一些運(yùn)維操作,其相關(guān)的運(yùn)維操作如下

          切換某一個Raft Group的Leader節(jié)點(diǎn)

          POST?/nacos/v1/core/ops/raft
          {
          ????"groupId":?"xxx",
          ????"command":?"transferLeader"
          ????"value":?"ip:{raft_port}?or?ip:{raft_port},ip:{raft_port},ip:{raft_port}"
          }

          重置某一個Raft Group的集群成員

          POST?/nacos/v1/core/ops/raft
          {
          ????"groupId":?"xxx",
          ????"command":?"resetRaftCluster",
          ????"value":?"ip:{raft_port},ip:{raft_port},ip:{raft_port},ip:{raft_port}"
          }

          注意,該操作是一個高危操作,僅僅當(dāng)Raft集群的 n/2 + 1節(jié)點(diǎn)crash之后無法滿足過半投票的要求才可以使用該運(yùn)維命令,用于快速讓當(dāng)前剩余的節(jié)點(diǎn)重組Raft集群,對外提供服務(wù)

          觸發(fā)某一個Raft Group執(zhí)行快照操作

          POST?/nacos/v1/core/ops/raft
          {
          ????"groupId":?"xxx",
          ????"command":?"doSnapshot",
          ????"value":?"ip:{raft_port}"
          }

          移除某一個Raft Group中的某一成員

          POST?/nacos/v1/core/ops/raft
          {
          ????"groupId":?"xxx",
          ????"command":?"removePeer",
          ????"value":?"ip:{raft_port}"
          }

          批量移除某一個Raft Group中的多個成員

          POST?/nacos/v1/core/ops/raft
          {
          ????"groupId":?"xxx",
          ????"command":?"removePeers",
          ????"value":?"ip:{raft_port},ip:{raft_port},ip:{raft_port},..."
          }

          安全升級

          1. 修復(fù)fastjson安全漏洞
          2. 修復(fù)tenant越權(quán)漏洞


          往期推薦

          微軟 WinGet 抄襲 AppGet 始末,個人開源的困境該如何破?

          技術(shù)硬核還不夠?互聯(lián)網(wǎng)企業(yè)出海指南來了!

          萬字超強(qiáng)圖文講解 AQS 以及 ReentrantLock 應(yīng)用

          架構(gòu)師究竟要不要寫代碼?

          代碼優(yōu)化的 5 大原則,第 1 條相信你一開始就沒想到!


          前段時間組織過一波,關(guān)于面試內(nèi)容的學(xué)習(xí)與討論,效果還不錯。有兄弟提議可以考慮把大家一起分享或者讀到的干貨內(nèi)容都整理起來,除了我們自己查閱方便,可能也對其他人也會很有幫助。所以,我們決定一起弄個以「后端面試」為主題的公眾號,平日主要推送一些面試中常見的技術(shù)點(diǎn)干貨,以幫助大家學(xué)習(xí)和備戰(zhàn)面試!



          一起進(jìn)大廠,每日學(xué)干貨

          關(guān)注我,不迷路

          瀏覽 31
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩一级无码破解 | 欧美操逼123 | 青娱乐免费在线 | 国产片精品一区在线播放 | 91久久久精品视频 |