欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nacos簡介最新收藏版

 更新時(shí)間:2023年08月08日 10:56:11   作者:shenlbang  
Nacos?是阿里巴巴推出來的一個(gè)新開源項(xiàng)目,這是一個(gè)更易于構(gòu)建云原生應(yīng)用的動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺(tái),Nacos?幫助您更敏捷和容易地構(gòu)建、交付和管理微服務(wù)平臺(tái),對(duì)Nacos相關(guān)基本知識(shí)感興趣的朋友一起看看吧

Nacos簡介

背景:當(dāng)在微服務(wù)項(xiàng)目中不同模塊之間需要實(shí)現(xiàn)服務(wù)調(diào)用時(shí),如何實(shí)現(xiàn)服務(wù)注冊(cè)與發(fā)現(xiàn)?

1、Nacos概述

1.1 什么是Nacos

Nacos 是阿里巴巴推出來的一個(gè)新開源項(xiàng)目,這是一個(gè)更易于構(gòu)建云原生應(yīng)用的動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺(tái)。

Nacos 致力于幫助您發(fā)現(xiàn)、配置和管理微服務(wù)。Nacos 提供了一組簡單易用的特性集,幫助您快速實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置、服務(wù)元數(shù)據(jù)及流量管理。

Nacos 幫助您更敏捷和容易地構(gòu)建、交付和管理微服務(wù)平臺(tái)。 Nacos 是構(gòu)建以“服務(wù)”為中心的現(xiàn)代應(yīng)用架構(gòu) (例如微服務(wù)范式、云原生范式) 的服務(wù)基礎(chǔ)設(shè)施

Nacos 支持如下核心特性:

  • 1)服務(wù)發(fā)現(xiàn): 支持 DNS 與 RPC 服務(wù)發(fā)現(xiàn),也提供原生 SDK 、OpenAPI 等多種服務(wù)注冊(cè)方式和 DNS、HTTP 與 API 等多種服務(wù)發(fā)現(xiàn)方式。
  • 2)服務(wù)健康監(jiān)測: Nacos 提供對(duì)服務(wù)的實(shí)時(shí)的健康檢查,阻止向不健康的主機(jī)或服務(wù)實(shí)例發(fā)送請(qǐng)求。
  • 3)動(dòng)態(tài)配置服務(wù): Nacos 提供配置統(tǒng)一管理功能,能夠幫助我們將配置以中心化、外部化和動(dòng)態(tài)化的方式管理所有環(huán)境的應(yīng)用配置和服務(wù)配置。
  • 4)動(dòng)態(tài) DNS 服務(wù): Nacos 支持動(dòng)態(tài) DNS 服務(wù)權(quán)重路由,能夠讓我們很容易地實(shí)現(xiàn)中間層負(fù)載均衡、更靈活的路由策略、流量控制以及數(shù)據(jù)中心內(nèi)網(wǎng)的簡單 DNS 解析服務(wù)。
  • 5)服務(wù)及其元數(shù)據(jù)管理: Nacos 支持從微服務(wù)平臺(tái)建設(shè)的視角管理數(shù)據(jù)中心的所有服務(wù)及元數(shù)據(jù),包括管理服務(wù)的描述、生命周期、服務(wù)的靜態(tài)依賴分析、服務(wù)的健康狀態(tài)、服務(wù)的流量管理、路由及安全策略、服務(wù)的 SLA 以及最首要的 metrics 統(tǒng)計(jì)數(shù)據(jù)。

1.2 常見的注冊(cè)中心

  1. Eureka(原生,2.0遇到瓶頸,停止維護(hù))
  2. Zookeeper(支持,專業(yè)的獨(dú)立產(chǎn)品。例如:dubbo)
  3. Consul(原生,GO語言開發(fā))
  4. Nacos

相對(duì)于 Spring Cloud Eureka 來說,Nacos 更強(qiáng)大。

Nacos = Spring Cloud Eureka + Spring Cloud Config

Nacos 可以與 Spring, Spring Boot, Spring Cloud 集成,并能代替 Spring Cloud Eureka, Spring Cloud Config。

  • 通過 Nacos Server 和 spring-cloud-starter-alibaba-nacos-config 實(shí)現(xiàn)配置的動(dòng)態(tài)變更
  • 通過 Nacos Server 和 spring-cloud-starter-alibaba-nacos-discovery 實(shí)現(xiàn)服務(wù)的注冊(cè)與發(fā)現(xiàn)。

注:nacos與eureka的區(qū)別(簡單介紹)1)nacos和eureka的范圍不同,Nacos的閾值是針對(duì)某個(gè)具體Service的,而不是針對(duì)所有服務(wù)的;但Eureka的自我保護(hù)閾值是針對(duì)所有服務(wù)的。nacos支持CP和AP兩種;eureka只支持AP。nacos使用netty,是長連接; eureka是短連接,定時(shí)發(fā)送。2)Eureka保護(hù)方式:當(dāng)在短時(shí)間內(nèi),統(tǒng)計(jì)續(xù)約失敗的比例,如果達(dá)到一定閾值,則會(huì)觸發(fā)自我保護(hù)的機(jī)制,在該機(jī)制下,Eureka Server不會(huì)剔除任何的微服務(wù),等到正常后,再退出自我保護(hù)機(jī)制。自我保護(hù)開關(guān)(eureka.server. enab1e-self-preservation:false)Nacos保護(hù)方式:當(dāng)域名健康實(shí)例(Instance)占總服務(wù)實(shí)例(Instance)的比例小于閾值時(shí),無論實(shí)例(Instance)是否健康,都會(huì)將這個(gè)實(shí)例(Instance)返回給客戶端。這樣做雖然損失了一部分流量,但是保證了集群的剩余健康實(shí)例(Instance)能正常工作。

1.3 Nacos結(jié)構(gòu)圖

1.4 Nacos下載和安裝

1)軟件環(huán)境

Nacos 版本:2.0.4mysql版本:5.7

2)安轉(zhuǎn)步驟

此處使用docker安轉(zhuǎn)nacos(單節(jié)點(diǎn))

注: 注意啟動(dòng)時(shí)需要配置這個(gè)環(huán)境配置 -e MODE=standalone 否則默認(rèn)啟動(dòng)為占用內(nèi)存為1G,

1、先拉取鏡像
命令:docker pull nacos/nacos-server:v2.0.4
2、運(yùn)行容器
命令: docker run --name nacos(容器名稱) -d -p 8848(外部訪問端口):8848(容器內(nèi)端口) -p 9848:9848
-p 9849:9849 --privileged=true --restart=always -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -e PREFER_HOST_MODE=hostname -v /home/nacos/logs(數(shù)據(jù)卷主機(jī)地址):/home/nacos/logs(數(shù)據(jù)卷容器內(nèi)部地址) -v /home/nacos/conf:/home/nacos/conf ea54f31c46e4(容器id)

3)查看容器是否啟動(dòng)

命令:docker ps

4)查看容器相關(guān)日志

命令:docker logs --since 10m nacos的容器id #查看指定容器的輸出日志

注意:如果查看日志發(fā)現(xiàn)報(bào)錯(cuò)如下截圖

證明缺少日志文件,我們可以在宿主機(jī)配置文件目錄下添加如下內(nèi)容

1)新建文件nacos-logback.xml,在我們宿主機(jī)掛載的對(duì)應(yīng)的保存配置文件的目錄下,并在下方添加如下配置;

2)注意log.path 中的value配置要和日志數(shù)據(jù)卷掛載的目錄一致

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1 seconds">
    <contextName>logback</contextName>
    <property name="log.path" value="/home/nacos/logs/logback.log" />
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- <filter class="com.example.logback.filter.MyFilter" /> -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
              <level>ERROR</level>
        </filter>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
            </pattern>
        </encoder>
    </appender>
    <appender name="file"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.path}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
            </pattern>
        </encoder>
    </appender>
    <root level="debug">
        <appender-ref ref="console" />
        <appender-ref ref="file" />
    </root>
    <logger name="com.example.logback" level="warn" />
</configuration>

5)進(jìn)行訪問本機(jī)IP地址:8848/nacos

:記得開放對(duì)應(yīng)端口登錄賬號(hào) 登錄密碼nacos nacos

2、注冊(cè)服務(wù)

2.1整合nacos

引入依賴

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

在對(duì)應(yīng)模塊的配置文件中添加nacos配置

#服務(wù)名(該服務(wù)名,會(huì)在nacos上顯示)
spring.application.name=服務(wù)名稱
# nacos服務(wù)地址
spring.cloud.nacos.discovery.server-addr=ip:端口

在啟動(dòng)類上添加注解

2.2重啟服務(wù),查看

重新啟動(dòng)服務(wù),登錄nacos頁面查看(下圖發(fā)現(xiàn)服務(wù)成功注冊(cè)上nacos中)

3、整合外部的mysql(單節(jié)點(diǎn))

3.1建庫建表

可以直接根據(jù)里面的內(nèi)容創(chuàng)建建表鏈接

:對(duì)應(yīng)nacos版本建表可能出現(xiàn)的問題

3.2修改數(shù)據(jù)卷掛載出來的nacos配置

進(jìn)入數(shù)據(jù)卷保存路面

此處我們nacos配置保存在宿主機(jī)的/home/nacos/conf中

修改下面內(nèi)容即可

重啟 Nacos 即可,驗(yàn)證。再次創(chuàng)建相關(guān)信息、重啟服務(wù)之后依然存在。

4、Nacos集群化部署

之前我們搭建的nacos是standalone(單節(jié)點(diǎn)模式),nacos是支持集群化部署的,最好使用單數(shù)節(jié)點(diǎn)進(jìn)行集群化部署(因?yàn)榇颂帟?huì)有投票機(jī)制),此處因?yàn)橹挥袃膳_(tái)機(jī)器,所以只演示兩臺(tái)機(jī)器如何部署

1、使用docker,分別在不同的服務(wù)器上運(yùn)行兩臺(tái)nacos容器

注意:2.x版本的nacos需要開放9848 和 9849 端口的映射端口

下面為示例命令:

docker run -d \
#  hostname
-e PREFER_HOST_MODE=nacos \
# 單例/集群模式
-e MODE=cluster \
# nacos cluster地址,節(jié)點(diǎn)地址
-e NACOS_SERVERS="124.223.xx.xx:8848 106.52.xx.xx:8848" \
# 開啟mysql
-e SPRING_DATASOURCE_PLATFORM=mysql \
# mysql主節(jié)點(diǎn)host
-e MYSQL_SERVICE_HOST=106.52.xx.xx \
# mysql主節(jié)點(diǎn)端口
-e MYSQL_SERVICE_PORT=3306 \
# 數(shù)據(jù)庫用戶名
-e MYSQL_SERVICE_USER=root \
# 數(shù)據(jù)庫密碼
-e MYSQL_SERVICE_PASSWORD=123456 \
#數(shù)據(jù)庫名稱
-e MYSQL_SERVICE_DB_NAME=nacos_config_cluster \
# 自定義nacos服務(wù)器IP(當(dāng)前)
-e NACOS_SERVER_IP=106.52.xx.xx \
# 指定映射端口 8848容器多映射9848 9849 端口
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
# 容器名
--name nacos-8848 \
--restart=always 
# 掛載
-v /home/nacos/logs:/home/nacos/logs -v /home/nacos/conf:/home/nacos/conf  \
容器id

2、查看nacos控制臺(tái)(通過每個(gè)節(jié)點(diǎn)都可以看到對(duì)應(yīng)信息)

3、集群簡介

  • leader節(jié)點(diǎn):負(fù)責(zé)事務(wù)型請(qǐng)求(事務(wù)型:創(chuàng)建配置、修改配置、刪除配置)
  • follow節(jié)點(diǎn):負(fù)責(zé)讀(查詢請(qǐng)求)
  • 宕機(jī)情況:當(dāng)leader節(jié)點(diǎn)宕機(jī)時(shí),follow節(jié)點(diǎn)進(jìn)行投票選舉出新的leader節(jié)點(diǎn)(與傳統(tǒng)的redis等不同的是,follow會(huì)自動(dòng)進(jìn)行重新選舉,不需要借助類似于哨兵機(jī)制這種機(jī)制進(jìn)行選舉)

5、可能遇到的問題

1、conf無法掛載出來

在使用docker運(yùn)行時(shí),將容器內(nèi)的conf掛載出來時(shí),發(fā)現(xiàn)并沒有對(duì)應(yīng)的配置文件

1)先運(yùn)行一個(gè)測試nacos容器

 docker run -p 8848:8848 --name nacostest -d 容器id

2)將容器內(nèi)的文件復(fù)制出來

#配置文件復(fù)制 
#第一個(gè)目錄為容器內(nèi)目錄  第二個(gè)為宿主機(jī)目錄
docker cp nacostest(容器名):/home/nacos/logs/ /home/nacos/logs
docker cp nacostest(容器名):/home/nacos/conf/ /home/nacos/conf

3)強(qiáng)制關(guān)閉容器

docker rm -f 容器id

4)然后在重新運(yùn)行,包含數(shù)據(jù)卷掛載命令的啟動(dòng)命令

docker運(yùn)行命令介紹

名稱描述
MODE系統(tǒng)啟動(dòng)方式: 集群/單機(jī) cluster/standalone默認(rèn) cluster
NACOS_SERVERS集群地址p1:port1空格ip2:port2 空格ip3:port3
PREFER_HOST_MODE支持IP還是域名模式hostname/ip 默認(rèn) ip
NACOS_SERVER_PORTNacos 運(yùn)行端口默認(rèn) 8848
NACOS_SERVER_IP多網(wǎng)卡模式下可以指定IP
SPRING_DATASOURCE_PLATFORM單機(jī)模式下支持MYSQL數(shù)據(jù)庫mysql / 空 默認(rèn):空
MYSQL_SERVICE_HOST數(shù)據(jù)庫 連接地址
MYSQL_SERVICE_PORT數(shù)據(jù)庫端口默認(rèn) : 3306
MYSQL_SERVICE_DB_NAME數(shù)據(jù)庫庫名
MYSQL_SERVICE_USER數(shù)據(jù)庫用戶名
MYSQL_SERVICE_PASSWORD數(shù)據(jù)庫用戶密碼
MYSQL_SERVICE_DB_PARAM數(shù)據(jù)庫連接參數(shù)default :
MYSQL_DATABASE_NUM數(shù)據(jù)庫編號(hào)默認(rèn) :1
JVM_XMS-Xms默認(rèn) :1g
JVM_XMX-Xmx默認(rèn) :1g
JVM_XMN-Xmn默認(rèn) :512m
JVM_MS-XX:MetaspaceSize默認(rèn) :128m
JVM_MMS-XX:MaxMetaspaceSize默認(rèn) :320m
NACOS_DEBUG是否開啟遠(yuǎn)程DEBUG y/n默認(rèn) :n
TOMCAT_ACCESSLOG_ENABLEDserver.tomcat.accesslog.enabled默認(rèn) :false
NACOS_AUTH_SYSTEM_TYPE權(quán)限系統(tǒng)類型選擇,目前只支持nacos類型默認(rèn) :nacos
NACOS_AUTH_ENABLE是否開啟權(quán)限系統(tǒng)默認(rèn) :false
NACOS_AUTH_TOKEN_EXPIRE_SECONDStoken 失效時(shí)間默認(rèn) :18000
NACOS_AUTH_TOKENtoken默認(rèn) :SecretKey012345678901234567890123456789012345678901234567890123456789
NACOS_AUTH_CACHE_ENABLE權(quán)限緩存開關(guān) ,開啟后權(quán)限緩存的更新默認(rèn)有15秒的延遲默認(rèn) : false
MEMBER_LIST通過環(huán)境變量的方式設(shè)置集群地址例子:192.168.16.101:8847?raft_port=8807,192.168.16.101?raft_port=8808,192.168.16.101:8849?raft_port=8809
EMBEDDED_STORAGE是否開啟集群嵌入式存儲(chǔ)模式 embedded默認(rèn) : none
NACOS_AUTH_CACHE_ENABLEnacos.core.auth.caching.enableddefault : false
NACOS_AUTH_USER_AGENT_AUTH_WHITE_ENABLEnacos.core.auth.enable.userAgentAuthWhitedefault : false
NACOS_AUTH_IDENTITY_KEYnacos.core.auth.server.identity.keydefault : serverIdentity
NACOS_AUTH_IDENTITY_VALUEnacos.core.auth.server.identity.valuedefault : security
NACOS_SECURITY_IGNORE_URLSnacos.security.ignore.urlsdefault : /,/error,//*.css,//.js,/**/.html,//*.map,//.svg,/**/.png,//*.ico,/console-fe/public/,/v1/auth/,/v1/console/health/,/actuator/,/v1/console/server/

到此這篇關(guān)于Nacos簡介最新收藏版的文章就介紹到這了,更多相關(guān)Nacos簡介內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論