日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

MOSS 代替Spring Boot Admin 的服务治理工具

發布時間:2023/11/30 javascript 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MOSS 代替Spring Boot Admin 的服务治理工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.1 什么是服務治理

服務治理,我也稱之為微服務治理,是指用來管理微服務的整個生命周期。包括應用的創建,服務名的規范,服務的上下線,服務的遷移,整個服務的生老病死等方方面面的治理。

1.2 Moss概述

Moss(莫斯)是服務治理平臺的代號,取名靈感來自電影《流浪地球》中的莫斯(Moss),Moss是電影《流浪地球》中領航員號空間站的人工智能機器人-負責管理空間站所有事務以及流浪地球的計劃,而Moss跟Boss一樣,是所有微服務的老板,所有微服務的生命周期將歸其統管。

為什么會出現Moss?因為基于Spring Cloud的微服務體系,缺乏統一的可視化的納管治理平臺。

Spring Cloud中國社區從2017年11月份,開始規劃Spring Cloud Admin的開發和設計,專注于研究這個領域。Moss將會選擇一個合適的時機開源,需要更多了解的可以加我微信Software_King。

1.2.1 競品分析

Moss的競品分析對比如下表所示:

對比選項Spring Boot AdminMoss
服務畫像??
服務實例畫像???
支持單Eureka集群???
支持單Consul集群???
支持單Nacos集群???
支持多Eureka集群,在線動態增加,刪除,切換???
前端技術VueAnt Design Pro
支持Spring Boot 1.5.X和Spring Boot 2.0.X???
服務調用拓撲??
在線查看Jar依賴??
服務歸屬(項目,Owner)??
服務和實例支持模糊查詢??
服務閃爍告警??
服務評分打星??
服務列表畫像??
服務實例列表畫像??
服務實例內部組件列表,使用哪些Spring Cloud組件??

其中????表示功能相對較弱???表示功能完整強大???表示功能缺失

1.2.1 Moss RoadMap

Roadmap 時間點:

??表示當前穩定可用版本

版本Milestone主要特性
??1.0.0.RELEASE2019.4.21穩定可用版本

1.2.2 Moss開發團隊

姓名角色github地址
SoftwareKingOwnerhttps://github.com/SoftwareKing
iShawnWang前端開發https://github.com/iShawnWang
homeant前后臺開發https://github.com/homeant
VancySavoki后端開發https://github.com/VancySavoki

1.3 Moss的功能

  • Moss的功能包括服務畫像,服務實例畫像,服務上下線事件記錄,服務上下線websocket消息通知,針對生產應用可配置多種服務上線通知工具,支持多種注冊中心,比如Eureka,Consul,Nacos.支持動態連接注冊中心進去切換進行服務治理操作。

1.3.1 服務畫像

  • 服務畫像:

    • 服務概要信息-包括服務實例數,UP數,DOWN數,OffLine數,服務歸屬的項目,歸屬的Owner等。
    • 服務健康指標-展示服務的健康信息
    • 服務請求映射-展示出服務對外提供的所有REST接口
    • 服務調用鏈-展示服務的依賴調用拓撲
    • 服務API監控-通過http trace和全鏈路監控對API進行監控
    • 服務內部組件狀態-內部組件的依賴,使用版本狀態
    • 服務性能指標-對服務進行QPS,性能指標收集打分
    • 服務評級-自動根據評級規則對服務進行跑批評分打星。

PS: Spring Boot Admin服務墻,如上圖所示,看完之后誰能告訴我,它的服務畫像能畫出什么來。 Moss的服務畫像列表如下所示,對比顯而易見!

1.3.2 服務實例畫像

  • 服務實例畫像
  • 實例調用拓撲-對接Skywalking,PinPoint等獲取實例調用拓撲?

  • 實例Build信息-實例構建信息?

  • 實例Git提交信息-最后一次提交人的Git詳細信息?

  • Spring Cloud使用功能列表

  • 實例的健康信息

  • 實例的上下線Event信息?

  • 服務日志級別-查看應用的日志級別,根據需要調整日志級別打印對應日志級別的信息?

  • 環境配置-查看當前應用的環境配置信息

  • 實例JMX信息-分類展示實例的JMX信息?

  • 查看JVM-實時展示應用實例的內存使用情況,GC次數,以及CPU和內存使用率?

  • 查看日志-增量實時獲取應用的info日志或Error日志?

  • 查看線程-查看當前實例的線程情況??

  • 查看實例內部依賴-查看實例的內部Jar依賴情況,統計分析展示依賴拓撲等?

  • HttpTrace-按時間展示http請求的軌跡信息,包括請求的路徑,Response的狀態,調用耗時等?

  • 支持GC Log日志查看?

1.3.3 服務納管

項目對應多個應用,每個應用由多個實例組成提供具體的服務,服務的生命周期管理需要可控,可追溯,可監控,可規范。 由Spring Cloud體系構建的微服務體系,應用名即服務名。服務納管分為歷史應用納管和新應用納管。

  • 新應用納管: 新應用使用Moss-Client,啟動時連接Moss對應用名進行統一攔截check,從而規范應用名。
  • 舊應用納管: 舊應用引入對應的版本的Moss-Client,在Moss平臺對其手動接入管理,錄入應用名。

1.3.4 多注冊中心支持

Moss通過注冊中心接管Spring Cloud體系的微服務。支持動態連接注冊中心,填注冊中心的URL即可,快速接管服務。

轉存失敗重新上傳取消

1.3.5 服務報表數據

Moss通過注冊中心接管Spring Cloud體系的微服務。然后獲取每個服務使用Spring Boot的版本和Spring Cloud的版本,Moss的接入率以報表數據展示。

1.3.6 事件日志

1.3.7 元數據管理

1.3.9 Spring Cloud組件使用情況

2.Moss的架構設計

2.1 Moss的架構設計

Moss基于Spring Boot Admin 2.1.3版中的spring-boot-admin-server模塊二次開發,基于可擴展思想。前端采用Ant Design Pro,采用Spring Boot+shiro+JWT+LDAP實現整個權限認證管理。通過Moss-Cloud-Adapter模塊支持多注冊中心,應用啟動對應用名進行check是否規范。

實現細節后續補充

2.2 Moss的服務設計

Moss服務端主要自動探測EndPoint,代理EndPoint,對接各種注冊中心,提供可視化的管理。

2.3 Moss的客戶端設計

moss客戶端主要用于內置預設自研端點和管理配置信息,使接入方無感知接入。

實現細節后續補充

2.3.1 Moss-Client

Moss客戶端支持兩種Spring Boot版本,分別是Spring Boot 1.5.X和Spring Boot 2.X,使用只需引入 moss-client 即可。示例2.x的客戶端如下所示。

1.引入 moss-client

<dependency><groupId>org.xujin.moss</groupId><artifactId>moss-client-2.x</artifactId><version>1.0.0.RELEASE</version> </dependency>

2.在application.yml中增加配置如下

info.groupId: @project.groupId@ info.artifactId: @project.artifactId@ info.version: @project.version@

3.在pom中增加maven插件

<plugin><groupId>pl.project13.maven</groupId><artifactId>git-commit-id-plugin</artifactId><version>2.1.15</version><executions><execution><goals><goal>revision</goal></goals></execution></executions><configuration><dotGitDirectory>${project.basedir}/.git</dotGitDirectory></configuration> </plugin>

2.3.2 導入IDE運行

  • 為方便快速演示,默認內置了 h2 數據庫。
  • 導入 IDEA 運行主程序org.xujin.moss.MossApplication.java
  • 啟動之后訪問?http://localhost:8086/
    • 用戶名 - xujin
    • 密碼 - 123456
  • 如需修改后端數據庫,將 moss-web/src/main/resources/config/application.yml 中?spring.profiles.active?的 h2 改為 mysql,并修改 application-mysql 中的連接地址、username/password。
  • 2.3.3 docker鏡像運行

    1.根目錄安裝各個依賴?mvn install -Dmaven.test.skip=true

    2.根目錄進入moss-web目錄 docker鏡像打包:?cd moss-web && mvn package && mvn docker:build

    3.根目錄進入docker-compose啟動?cd docker-compose && docker-compose -f docker-compose.yml up

    3.Moss的實現細節

    關于Moss的實現細節,后續文章進行揭秘!敬請期待。

    • Moss Client如何內置預設Spring Boot的Management信息
    • Moss client如何兼容Spring Boot 1.5.X和Spring Boot 2.x的Metrics信息
    • Moss client如何解決運維訪問管理端口Health端點不需要前綴,而Moss治理需要帶/actuator前綴
    • Moss服務端的選型設計和擴展
    • Moss的動態連接注冊中心,支持多種注冊中心的
    • @RestControllerEndpoint與@Endpoint端點寫法引起的坑
    • 注冊到Eureka上的應用名為大寫,而注冊到Nacos上的應用名為小寫,Moss需要忽略大小寫匹配
    • 等等~~~~~~~~~~~~~

    4 GC日志路徑設置參考

    -Xloggc:${YOUR_WORK_DIR}/logs/${APP_NAME}/gc.log -verbose.gc -XX:+PrintGCDateStamps

    logging:registry:files:- name: gclogpath: logs/${spring.application.name}/gc.log

    4.1 切換支持注冊中心

    默認的注冊注冊中心是 eureka,如果希望切換到其他注冊中心,如 ZooKeeper, 可以通過激活 profile 切換注冊中心。在以下 pom 中已預設兩種注冊中心,使用時自行切換即可。

    • moss-web/pom.xml
    • moss-service/pom.xml
    • moss-client/moss-sample-2.1.x
    • moss-client/moss-sample-1.5.x

    總結

    以上是生活随笔為你收集整理的MOSS 代替Spring Boot Admin 的服务治理工具的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。