Spring Cloud Alibaba初步學習

github地址:

https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md

Spring Cloud Alibaba 致力於提供微服務開發的一站式解決方案。此項目包含開發分佈式應用微服務的必需組件,方便開發者通過 Spring Cloud 編程模型輕鬆使用這些組件來開發分佈式應用服務。

依託 Spring Cloud Alibaba,您只需要添加一些註解和少量配置,就可以將 Spring Cloud 應用接入阿里微服務解決方案,通過阿里中間件來迅速搭建分佈式應用系統。

主要功能

  • 服務限流降級:默認支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降級功能的接入,可以在運行時通過控制檯實時修改限流降級規則,還支持查看限流降級 Metrics 監控。
  • 服務註冊與發現:適配 Spring Cloud 服務註冊與發現標準,默認集成了 Ribbon 的支持。
  • 分佈式配置管理:支持分佈式系統中的外部化配置,配置更改時自動刷新。
  • 消息驅動能力:基於 Spring Cloud Stream 爲微服務應用構建消息驅動能力。
  • 分佈式事務:使用 @GlobalTransactional 註解, 高效並且對業務零侵入地解決分佈式事務問題。。
  • 阿里雲對象存儲:阿里雲提供的海量、安全、低成本、高可靠的雲存儲服務。支持在任何應用、任何時間、任何地點存儲和訪問任意類型的數據。
  • 分佈式任務調度:提供秒級、精準、高可靠、高可用的定時(基於 Cron 表達式)任務調度服務。同時提供分佈式的任務執行模型,如網格任務。網格任務支持海量子任務均勻分配到所有 Worker(schedulerx-client)上執行。
  • 阿里雲短信服務:覆蓋全球的短信服務,友好、高效、智能的互聯化通訊能力,幫助企業迅速搭建客戶觸達通道。

組件

Sentinel:把流量作爲切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。

Nacos:一個更易於構建雲原生應用的動態服務發現、配置管理和服務管理平臺。

RocketMQ:一款開源的分佈式消息系統,基於高可用分佈式集羣技術,提供低延時的、高可靠的消息發佈與訂閱服務。

Dubbo:Apache Dubbo™ 是一款高性能 Java RPC 框架。

Seata:阿里巴巴開源產品,一個易於使用的高性能微服務分佈式事務解決方案。

Alibaba Cloud ACM:一款在分佈式架構環境中對應用配置進行集中管理和推送的應用配置中心產品。

Alibaba Cloud OSS: 阿里雲對象存儲服務(Object Storage Service,簡稱 OSS),是阿里雲提供的海量、安全、低成本、高可靠的雲存儲服務。您可以在任何應用、任何時間、任何地點存儲和訪問任意類型的數據。

Alibaba Cloud SchedulerX: 阿里中間件團隊開發的一款分佈式任務調度產品,提供秒級、精準、高可靠、高可用的定時(基於 Cron 表達式)任務調度服務。

Alibaba Cloud SMS: 覆蓋全球的短信服務,友好、高效、智能的互聯化通訊能力,幫助企業迅速搭建客戶觸達通道。

Nacos(官方網站:http//nacos.io)是一個易於使用的平臺,旨在用於動態服務發現,配置和服務管理。它可以幫助您輕鬆構建雲本機應用程序和微服務平臺。

服務是Nacos的頭等公民。Nacos支持幾乎所有類型的服務,例如Dubbo / gRPC服務Spring Cloud RESTFul服務Kubernetes服務

Nacos提供四個主要功能。

  • 服務發現和服務運行狀況檢查

    Nacos使服務易於註冊並通過DNS或HTTP接口發現其他服務。Nacos還提供服務的實時運行狀況檢查,以防止向不正常的主機或服務實例發送請求。

  • 動態配置管理

    動態配置服務使您可以在所有環境中以集中和動態的方式管理所有服務的配置。Nacos消除了在更新配置時重新部署應用程序和服務的需求,這使配置更改更加有效和敏捷。

  • 動態DNS服務

    Nacos支持加權路由,使您可以更輕鬆地在數據中心內的生產環境中實施中間層負載平衡,靈活的路由策略,流控制和簡單的DNS解析服務。它可以幫助您輕鬆實現基於DNS的服務發現,並防止應用程序耦合到特定於供應商的服務發現API。

  • 服務和元數據管理

    Nacos提供了一個易於使用的服務儀表板,可幫助您管理服務元數據,配置,kubernetes DNS,服務運行狀況和指標統計信息。

由於是一個獨立的服務,不像eureka,所以需要單獨下載下來,下載地址:

https://github.com/alibaba/Nacos

官網地址

https://nacos.io/en-us/docs/quick-start.html

1.先決條件

開始之前,請安裝以下組件:

  1. 64位操作系統:支持Linux / Unix / Mac / Windows,建議使用Linux / Unix / Mac。
  2. 64位JDK 1.8+:下載JAVA_HOME設置
  3. Maven 3.2.x +:下載設置

2.從發行版下載並構建

有兩種方法可以獲取Nacos。

1)從Github下載源代碼

unzip nacos-source.zip
cd nacos/
mvn -Prelease-nacos clean install -U  
cd nacos/distribution/target/nacos-server-0.8.0/nacos/bin

2)下載運行包

壓縮包下載

tar.gz包下載

  unzip nacos-server-0.9.0.zip  OR tar -xvf nacos-server-0.9.0.tar.gz
  cd nacos/bin

3.啓動服務器

Linux / Unix / Mac

運行以下命令以進行銷售(獨立意味着非集羣模式):

sh startup.sh -m standalone

如果您使用的是ubuntu系統,或遇到此錯誤消息[[找不到符號,請嘗試按以下方式運行:

bash startup.sh -m standalone

視窗

運行以下命令以啓動:

cmd startup.cmd

或雙擊startup.cmd運行文件。

4.服務與配置管理

服務註冊

curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'

服務發現

curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName'

發佈配置

curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"

獲取配置

curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"

5,關機服務器

Linux / Unix / Mac

sh shutdown.sh

視窗

cmd shutdown.cmd

或單擊shutdown.cmd文件操作。

windows下進入 

D:\git\nacos-develop\distribution\target\nacos-server-1.1.4\nacos\bin

 

Windows下啓動

瀏覽器訪問http://localhost:8848/nacos/

用戶名:nacos

密碼:nacos

 

 

 服務提供者註冊成功

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章