微服務發現組件與配置管理組件NACOS環境快速體驗

  • 2019 年 12 月 10 日
  • 筆記

1.什麼是Nacos

官方介紹是這樣的:

Nacos 致力於幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您實現動態服務發現、服務配置管理、服務及流量管理。Nacos 幫助您更敏捷和容易地構建、交付和管理微服務平台。 Nacos 是構建以「服務」為中心的現代應用架構(例如微服務範式、雲原生範式)的服務基礎設施。

從上面可以知道Nacos可以作為微服務的服務發現組件,同時也可以作為配置中心使用。由阿里巴巴java中間件團隊開源。其生態目標覆蓋比較廣泛:

2.為什麼學Nacos

眾所周知,微服務一攬子解決方案 Spring Cloud 目前對Netflix OSS 依賴比較嚴重。但是去年年底Netflix宣布Spring Cloud Netflix系列技術棧進入維護模式(不再添加新特性)。受影響的有大名鼎鼎的Eureka、Feign、Zuul、Hystrix等。這讓Spring Cloud 很尷尬,逼迫Sping Cloud 的Netflix 體系也進入了一個維護模式。只能對現在的相關組件進行修修補補。

這時 Spring Cloud Alibaba 項目已經悄悄地出現在Spring Cloud 體系中發展。阿里也想在Spring Cloud生態中佔有一席之地。於是Spring Cloud Alibaba 順利進入 Spring Cloud 項目中進行孵化。經過近一年的考驗。已進入8月Spring Cloud Alibaba 就發佈重大消息,成功畢業。這意味着Spring Cloud Alibaba 得到Spring Cloud 官方認可,正式成為Spring Cloud 體系中的另一股新生力量。

相較於老的Netflix 體系更加有活力,更加有希望。阿里巴巴團隊也想借Spring Cloud 之力來構建自己的生態圈,所以該項目還是值得關注的。基於技術前瞻性的考量還是很有關注的必要的。作為微服務體系中的最重要的 服務發現組件當然首當其衝。而且不同於Eureka,Nacos 還可以作為配置中心。目前功能稍遜於攜程Apollo,但是還是可以用的。

3.快速入門Nacos

快速入門當然是基於docker了,目前win10具有 Hyper-V功能的版本的,MacOS都可以安裝Docker。這裡假設你已經有了Docker環境。

3.1 快速啟動Nacos Docker

從 https://github.com/nacos-group/nacos-docker.git 克隆項目到本地。在example文件夾下找到cluster-hostname.yaml 這個是集群模式,如果剛開始玩這個建議還是使用單機版的配置standalone-derby.yaml 或者standalone-mysql.yaml。這兩者就是使用的存儲不一樣而已。不過derby 版本就比較簡單,使用了內嵌數據庫。而mysql 版本相對複雜使用了主從庫配置。無論你使用哪一種,個人建議注釋掉以下配置:

如果你選擇mysql 版本 你想修改默認的mysql映射端口找到standalone-mysql.yaml 文件的services.mysql-master.ports值中冒號分割的前一個端口改成你想要的,比如 – "3308:3306"改為- "3308:3306"。

nacos-docker/build/conf/application.properties 下對應的db.url.0端口也要改成3308。

搞完上面,直接執行

docker-compose -f  <你選擇的yml> up  // 比如  docker-compose -f standalone-mysql.yaml up

注意你執行命令時和該文件的相對路徑。等鏡像文件下載完畢並執行後,通過http://127.0.0.1:8848/nacos/進入控制台。

默認賬戶:nacos 密碼:nacos

至此Nacos快速環境就搭建完畢了。預告一下,下一篇我將介紹Nacos如何作為Spring Boot和Spring Cloud的配置中心。讓我們逐步進入Nacos的世界。