激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 編程技術 - Skywalking分布式鏈路追蹤入門

Skywalking分布式鏈路追蹤入門

2020-12-16 22:27今日頭條低調的干貨君 編程技術

本文主要介紹 SkyWalking ,它是一款優秀的國產 APM 工具,并且已經成為了apache基金會的頂級項目,它包括了分布式追蹤、性能指標分析、應用和服務依賴分析等。

今天帶大家了解一款分布式鏈路追蹤軟件,為什么要介紹鏈路追蹤呢?

當前互聯網行業發展紅火,業務也越來越復雜、龐大,單機應用已經無法滿足日常需求,分布式、微服務架構應運而生。在微服務的環境中,存在日常系統的層層調用,會不停的在各個服務中進行,如果沒有一個調用鏈路的完整記錄,排查問題將會異常困難。

Skywalking分布式鏈路追蹤入門

APM(應用性能管理)

針對上面描述的情況,apm給大家帶來了解決方案,目前業界常見的一些 APM 工具主要有: Cat、Zipkin、Pinpoint、SkyWalking。

本文主要介紹 SkyWalking ,它是一款優秀的國產 APM 工具,并且已經成為了apache基金會的頂級項目,它包括了分布式追蹤、性能指標分析、應用和服務依賴分析等。

skywalking入門

軟件安裝不做描述,大家可以自行查閱資料。

官方地址:https://skywalking.apache.org/

先來看下軟件的運行界面,如下圖

Skywalking分布式鏈路追蹤入門
Skywalking分布式鏈路追蹤入門

Skywalking分布式鏈路追蹤入門

介紹下skywalking中重要的三個概念

  • 服務(Service):指服務集群
  • 端點(Endpoint):對外的接口
  • 實例(Instance):指集群中的實例

skywalking架構圖

Skywalking分布式鏈路追蹤入門

可以將skywalking看成三大塊,第一塊為數據采集,第二塊則是skywalking服務,第三塊是數據存儲。

如何將項目接入skywalking呢?

skywalking的接入非常簡單,只需要指定java啟動參數即可,如下圖

Skywalking分布式鏈路追蹤入門

// 指定運行的java agent 

-javaagent:D:\soft\apache-skywalking-apm-bin-es7\agent\skywalking-agent.jar 

// 設置該程序,在skywalking中的名字 

-Dskywalking.agent.service_name=stressTest 

// skywalking管理端口 

-Dskywalking.collector.backend_service=localhost:11800 

skywalking原理

大家看到上面的應用案例中,有下面的代碼

-javaagent:/path/to/skywalking-agent.jar 

如果對javaagent了解的話,就知道了,其實skywalking的原理就是使用java agent(java探針)。Java agent是java命令的一個參數。參數 javaagent 可以用于指定一個 jar 包。

  • 這個 jar 包的 MANIFEST.MF 文件必須指定 Premain-Class 項。
  • Premain-Class 指定的那個類必須實現 premain() 方法。

當Java 虛擬機啟動時,在執行 main 函數之前,JVM 會先運行 -javaagent 所指定 jar 包內 Premain Class 這個類的 premain 方法 。

自己實現Java agent

下面我們簡單寫一個java agent

agent代碼

public class MyAgent { 

/** 

* agentArgs 是 premain 函數得到的程序參數,隨同 “– javaagent”一起傳入。 

* Inst 是一個 java.lang.instrument.Instrumentation 的實例,由 JVM 自動傳入。 

*/ 

public static void premain(String agentArgs, Instrumentation inst) { 

System.out.println("=========premain方法執行1========"); 

System.out.println(agentArgs); } 

/** 

* 如果不存在 premain(String agentArgs, Instrumentation inst) 

* 則會執行 premain(String agentArgs) 

*/ 

public static void premain(String agentArgs) { 

  System.out.println("=========premain方法執行2========"); 

  System.out.println(agentArgs); 

  } 

為了不去手動寫MANIFREST.MF文件,我們引入maven插件

<plugin> 

<groupId>org.apache.maven.plugins</groupId> 

<artifactId>maven-jar-plugin</artifactId> 

<version>3.1.0</version> 

<configuration> 

<archive> 

<!--自動添加META-INF/MANIFEST.MF --> 

<manifest> 

<addClasspath>true</addClasspath> 

</manifest> 

<manifestEntries> 

<Premain-Class>com.example.agent.PreMainAgent</Premain-Class> 

</manifestEntries> 

</archive> 

</configuration> 

</plugin> 

執行mvn clean package打包程序,會得到myAgent.jar如下圖

Skywalking分布式鏈路追蹤入門

編寫主程序

public class Test { 

public static void main(String[] args) { 

System.out.println("主程序..."); 

idea啟動時指定agent,如下圖

Skywalking分布式鏈路追蹤入門

執行主程序結果如下:

=========premain方法執行1======== 

null 

主程序... 

主程序...

可以看到premain方法執行了,且沒有傳入參數,如果需要傳入參數javagent屬性如下設置即可:

-javaagent:/Users/ganhuojun/code/myagent/target/myAgent.jar=abc 

原文地址:https://www.toutiao.com/i6880274988621005315/

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 羞羞的视频免费在线观看 | 国产免费www| 欧美大穴 | 亚洲一区二区观看播放 | 亚洲欧美一区二区三区在线观看 | 在线a| 国产精品久久久乱弄 | 久久久精品视频国产 | 午夜伦情电午夜伦情电影 | 免费看一级片 | 国产成人高清在线观看 | 免费黄色在线电影 | 欧美一级黄 | 免费欧美精品 | 成人精品一区二区 | 成人免费av在线 | 黄色网址免费在线播放 | 136福利视频| 中文字幕www. | 欧产日产国产精品99 | 看免费5xxaaa毛片 | av成人在线免费观看 | 欧美性生交zzzzzxxxxx | 久久久久亚洲国产精品 | 国产成年人网站 | 国产精品久久久久久久久久妇女 | 国产精品1区2区在线观看 | 羞羞视频入口 | 国产一级免费在线视频 | 亚洲成人欧美在线 | 成人午夜在线免费 | 成人在线97 | 久久亚洲线观看视频 | 国产精品久久久久久久久久10秀 | 福利国产在线 | 毛片视频网址 | 亚洲成人播放 | 91麻豆精品国产91久久久更新资源速度超快 | 日本成人一区 | 国产视频软件在线 | 日本一区二区免费在线观看 |