您好,登錄后才能下訂單哦!
這篇文章主要介紹分布式鏈路追蹤SkyWalking如何配置管理,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
SkyWalking 是一個開源 APM 系統,包括針對 Cloud Native 體系結構中的分布式系統的監視,跟蹤,診斷功能。核心功能如下:
- 服務、服務實例、端點指標分析
- 根本原因分析,在運行時分析代碼
- 服務拓撲圖分析
- 服務,服務實例和端點依賴性分析
- 檢測到慢速服務和端點
- 性能優化
- 分布式跟蹤和上下文傳播
- 數據庫訪問指標。檢測慢速數據庫訪問語句(包括 SQL 語句)
- 報警
SkyWalking 目前是 Apache 頂級項目,作為這么優秀的開源項目,它的架構設計理念肯定會有很多值得我們借鑒。
### 分布式配置生態方法論
分布式配置是一個老生常談的分布式話題,但凡具備分布式能力的系統都要考慮分布式配置,主流比較成熟的分布式配置系統有哪些?如果要講生態方法論,肯定是要考慮這些問題的。
#### Apollo
做過分布式開發的人應該都知道攜程的這一套非常流行的分布式配置框架,非常成熟 ,并且有很多公司都是直接使用開源的 Apollo,可以說充分信任這套框架。
Apollo 能夠集中化管理應用不同環境、不同集群的配置,配置修改后能夠實時推送到應用端,并且具備規范的權限、流程治理等特性,適用于微服務配置管理場景。服務端基于 Spring Boot 和 Spring Cloud 開發,打包后可以直接運行,不需要額外安裝 Tomcat 等應用容器。Java 客戶端不依賴任何框架,能夠運行于所有 Java 運行時環境,同時對 Spring/Spring Boot 環境也有較好的支持。
應用從集中式的單體架構到微服務化架構,服務越來越多,原有的基于單體的配置越來越難管理,不能滿足快速發布和交付的業務場景。對程序配置的期望值也越來越高:配置修改后實時生效,灰度發布,分環境、分集群管理配置,完善的權限、審核機制……
在這樣的大環境下,傳統的通過配置文件、數據庫等方式已經越來越無法滿足開發人員對配置管理的需求。
這樣像 Apollo 這樣的分不死配置框架產生了,其實主要是為業務提效,因為依托它可以構建應用配置管理的生態。
關于 Apollo 的詳細介紹可以參考官方的文檔,這里只列舉它的幾個核心的概念:
- application(應用):這個就是類比應用中的 `spring.application.name=api-alarm`,這個從應用層次隔離配置。
- environment(環境):配置對應的環境,Apollo 客戶端在運行時需要知道當前應用處于哪個環境,從而可以去獲取應用的配置
- cluster(集群):一個應用下不同實例的分組,比如典型的可以按照數據中心分,把杭州機房的應用實例分為一個集群,把蘇州機房的應用實例分為另一個集群。
- namespace(命名空間):一個應用下不同配置的分組,可以簡單地把 namespace 類比為文件,不同類型的配置存放在不同的文件中,如數據庫配置文件,RPC 配置文件,應用自身的配置文件等。比如還可以根據命名空間來做一個集群內部的租戶隔離等。
#### Nacos
Nacos 是開箱即使用的服務治理和配置平臺,為動態服務發現、配置和服務管理而設計。它幫助您輕松構建云本地應用程序和微服務平臺。服務是 Nacos 的服務治理維度,這點不同于 Dubbo。Nacos 支持幾乎所有類型的服務,例如 Dubbo/gRPC 服務、Spring Cloud RESTFul 服務或 Kubernetes 服務。
Nacos 提供如下四個主要功能。
- 服務發現和服務運行狀況檢查:Nacos 簡化了服務的注冊和通過 DNS 或 HTTP 接口發現其他服務。Nacos 還提供服務的實時健康檢查,以防止向不健康的主機或服務實例發送請求。
- 動態配置管理:動態配置服務允許您以集中和動態的方式跨所有環境管理所有服務的配置。Nacos 消除了在更新配置時重新部署應用程序和服務的需要,這使得配置更改更加高效和敏捷。
- 動態域名服務:Nacos 支持加權路由,使您更容易在數據中心的生產環境中實現中間層負載平衡、靈活的路由策略、流控制和簡單的 DNS 解析服務。它幫助您輕松實現基于 DNS 的服務發現,并防止應用程序與特定于供應商的服務發現 API 耦合。
- 服務和元數據管理:Nacos 提供了一個易于使用的服務儀表板,可以幫助您管理服務元數據、配置、Kubernetes DNS、服務運行狀況和指標統計數據。
這里作者只是列舉了兩個當下比較流行的分布式配置框架,當然還有其他的,比如 Disconf 和 Spring Cloud Config 等,但是基本使用頻率沒有 Apollo 和 Nacos 高。
因為筆者的公司目前是全面使用 Nacos 來完成微服務的服務治理和配置管理,所以作者是優先推薦是用 Nacos,主要四基于如下考慮:
- 開箱即用
- 功能簡單高效,上手容易
- 全面支持 K8s
- 全面支持云原生
- 全面支持 Spring Cloud Alibaba
- 社區活躍度非常高
- 匯集了阿里內部大流量業務場景驗證的服務治理和軟負載的功能
- 一個服務就可以完成服務治理和配置管理,節約機器資源。
以上是“分布式鏈路追蹤SkyWalking如何配置管理”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。