零代碼從Eureka遷移到Nacos

關(guān)于Eureka和Nacos的優(yōu)劣比較這里就不談了,我選擇從Eurake遷移到Nacos,主要是為了用Nacos 的配置中心溪王,所以重點講如何遷移毕箍。

具體改動

因為之前項目Springboot版本比較舊弛房,所以為了迎合Springboot,SpringCloud和Nacos不能用太高的版本

  • Spring Cloud 從 Dalston.RELEASE 升級到了Edgware.RELEASE而柑,代碼幾乎不用改動
  • 刪除了Eurake的starter 依賴文捶,引入了nacos的依賴
  • 刪除現(xiàn)有全部配置,新加 bootstrap.properties

1. 引入nacos依賴

如果是單體工程媒咳,直接將下面所有配置都放到一個 pom.xml 里即可

父工程引入依賴

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Edgware.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

             <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
                <version>0.1.2.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
                <version>0.1.2.RELEASE</version>
            </dependency>

            <!-- 解決啟動報 Error creating bean with name 'nacosAutoServiceRegistration -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-commons</artifactId>
                <version>1.3.5.RELEASE</version>
            </dependency>

        </dependencies>

    </dependencyManagement>

公共工程引入依賴

        <!-- Nacos -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

2. 刪除eurake依賴

 <dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-eureka</artifactId>
 </dependency>

3. 添加新配置文件

每個工程中添加引導(dǎo)配置文件 : bootstrap.properties粹排,這個里面配置和本項目相關(guān)的屬性,如工程名稱涩澡、端口號顽耳、配置中心地址等。
其他數(shù)據(jù)庫妙同、Redis射富、ES等屬于公共配置,都放在配置中心上粥帚,按照不同環(huán)境把配置分為:

  • 公共配置 public.properties
  • 開發(fā)環(huán)境 public-dev.properties
  • 測試環(huán)境 public-test.properties
  • 預(yù)發(fā)布環(huán)境 public-pre.properties
  • 生產(chǎn)環(huán)境 public-prod.properties

如需修改配置辉浦,請訪問: http://192.168.x.x:8848/nacos/

spring.application.name=api-gateway
spring.profiles.active=dev
server.port=8085

# 注冊中心地址,最好在本地hosts文件中配置成映射地址
spring.cloud.nacos.config.server-addr=nacos:8848


# 命名空間默認是 public
# 1. 可以添加 dev prod test 相當于 第一層 互相隔離 每個命名空間下面有自己的組
# 2. java -Dspring.cloud.nacos.config.namespace=ns_dev ....

# 組默認是DEFAULT_GROUP
# 1. 相當于多個項目組,每個分組下有xxx-dev.yaml茎辐、xxx-prod.yaml
# 2. java -Dspring.profiles.active=dev -Dspring.cloud.nacos.config.group=TEST_GROUP

# dataid 相當于文件名 默認下是服務(wù)名宪郊,文件格式:${spring.cloud.nacos.config.prefix}-${spring.profiles.active}.${file-extension:properties}
#\u30001. 默認prefix等于${spring.application.name},假設(shè)項目名為xxx
# 2. 在每個分組下面互相隔離
# 3. java -Dspring.profiles.active=dev ..掂恕,命令將查找xxx-dev.yaml的配置文件
spring.cloud.nacos.config.prefix=public

# 指定配置的后綴,支持 properties弛槐、yaml懊亡、yml,默認為 properties
spring.cloud.nacos.config.file-extension=properties


########################################################
跟本項目相關(guān)的其他配置

4. 接入自動化部署平臺

  1. 先到 http://192.168.x.x:9090 注冊新用戶乎串,創(chuàng)建工程店枣,工程創(chuàng)建好后,需要把token記錄下叹誉,接入自動化部署平臺填入到Gitlab Token里
    image.png
  1. 請訪問: http://192.168.x.x:8888/index.html 申請自動化部署配置文件鸯两,申請成功后放到工程根目錄
    image.png

springboot、微服務(wù)項目注意事項

  • 必須保證工程目錄名长豁、artifactId钧唐、finalName一致

  • 項目名稱必須是小寫(k8s要求),例如上面樣例中artifactId叫apigeteway匠襟,那么工程也必須叫apigeteway钝侠,這樣打包后會生成一個 apigeteway.jar

    apigeteway
    ├─src
    │  ├─main
    │  │  ├─java
    │  │  │  └─com
    │  │  └─resources
    │  └─test
    │      └─java
    └─pom.xml
    
  • 項目必須以 jar 形式 打包,不支持war包

  • 配置中心以域名方式配置酸舍,不要用IP帅韧,如果本地調(diào)試在hosts文件中映射一下

spring.cloud.nacos.config.server-addr=nacos:8848

自動化部署平臺目前支持 SpringBoot、SpringCloud啃勉、Vue項目忽舟,理論上支持任何語言。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末淮阐,一起剝皮案震驚了整個濱河市叮阅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌枝嘶,老刑警劉巖帘饶,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異群扶,居然都是意外死亡及刻,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進店門竞阐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缴饭,“玉大人,你說我怎么就攤上這事骆莹】怕В” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵幕垦,是天一觀的道長丢氢。 經(jīng)常有香客問我傅联,道長,這世上最難降的妖魔是什么疚察? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任蒸走,我火速辦了婚禮,結(jié)果婚禮上貌嫡,老公的妹妹穿的比我還像新娘比驻。我一直安慰自己,他們只是感情好岛抄,可當我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布别惦。 她就那樣靜靜地躺著,像睡著了一般夫椭。 火紅的嫁衣襯著肌膚如雪掸掸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天益楼,我揣著相機與錄音猾漫,去河邊找鬼点晴。 笑死感凤,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的粒督。 我是一名探鬼主播陪竿,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼屠橄!你這毒婦竟也來了族跛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤锐墙,失蹤者是張志新(化名)和其女友劉穎礁哄,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體溪北,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡桐绒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了之拨。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片茉继。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蚀乔,靈堂內(nèi)的尸體忽然破棺而出烁竭,到底是詐尸還是另有隱情,我是刑警寧澤吉挣,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布派撕,位于F島的核電站婉弹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏终吼。R本人自食惡果不足惜马胧,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望衔峰。 院中可真熱鬧佩脊,春花似錦、人聲如沸垫卤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽穴肘。三九已至歇盼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間评抚,已是汗流浹背豹缀。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留慨代,地道東北人邢笙。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像侍匙,于是被迫代替她去往敵國和親氮惯。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內(nèi)容