通過(guò)Nacos實(shí)現(xiàn)多環(huán)境部署

最近看到Nacos出了Pre-GA版本0.8.0,新增了login/namespace等一些實(shí)用的功能,新增功能如下

  • Support Login (default user and password is nacos/nacos)
  • Support prometheus
  • Naming service support namespace
  • Add users/roles tables

恰好最近寫(xiě)畢設(shè)最讓我頭疼的就是如何切換本地環(huán)境和線上環(huán)境,因?yàn)槲业姆?wù)間調(diào)用都是走的 Feign 通過(guò)服務(wù)名來(lái)調(diào)用,這樣當(dāng)我本地起服務(wù)進(jìn)行調(diào)試時(shí)就可能會(huì)調(diào)用到線上的服務(wù),而 namespace 的出現(xiàn)解決了我這個(gè)問(wèn)題。

下面簡(jiǎn)單介紹下多環(huán)境部署的一些操作

  1. 從 Nacos 新建一個(gè) namespace


    namespace
  2. 配置項(xiàng)目
    用過(guò) Nacos 做配置中心的都會(huì)知道,服務(wù)配置要寫(xiě)在 bootstrap.yml 中,所以我們新建 bootstrap-dev.yml 和 bootstrap-prod.yml 兩個(gè)文件,同時(shí)在 bootstrap.yml 做好配置

#  bootstrap.yml
spring:
  cloud:
    nacos:
      config:
        server-addr: localhost:8848/nacos
        file-extension: yml
        shared-dataids: mysql.yml,redis.yml,printlog.yml,es.yml
        refreshable-dataids: mysql.yml,redis.yml,es.yml
  profiles:
    active: prod // 默認(rèn)使用prod線上環(huán)境
  application:
    name: pf-user
#  bootstrap-dev.yml
spring:
  cloud:
    nacos:
      config:
        namespace: c248e1c9-f10e-40 # 填寫(xiě)剛才我們新建 namespace 時(shí)生成的 id
      discovery:
        namespace: c248e1c9-f10e-40

線上環(huán)境因?yàn)槲沂褂玫哪J(rèn) namespace ,所以不需要配置,這里需要注意一個(gè)小問(wèn)題,如果我們使用 0.2.1.RELEASE 的 spring-cloud-starter-alibaba-nacos-discovery 會(huì)發(fā)現(xiàn),discovery的namespace不生效,我從 issue 中發(fā)現(xiàn)了作者提供的解決辦法,引入 0.8.0 的 nacos-client 進(jìn)行覆蓋。

        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-client</artifactId>
            <version>0.8.0</version>
        </dependency>
  1. 在 Nacos 中創(chuàng)建配置文件(不要忘記點(diǎn)左上角進(jìn)行 namespace 切換)


    config
  2. 本地啟動(dòng)項(xiàng)目(啟動(dòng)前將 Active profiles 設(shè)置為dev)


    idea

這時(shí)我們就已經(jīng)完成了多環(huán)境部署的所有步驟,使用起來(lái)還是比較方便的。

夢(mèng)想提供著不竭的動(dòng)力,而現(xiàn)實(shí)卻如沉重大山,但我們?nèi)砸?fù)重前行。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容