自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Asp.Net Core使用Skywalking實現分布式鏈路追蹤,你學會了嗎?

云計算 分布式
Skywalking 是 Apache 基金會下面的一個開源 APM 項目,是一套(APM)分布式追蹤系統(tǒng),提供了很多數據存儲列如:Mysql,H2,Elasticsearch7 等。其中APM 全稱是應用性能監(jiān)測軟件,主要是用來處理以及追蹤分布式系統(tǒng)中的應用程序的性能問題,從而快速找出問題的根源,進而可以讓開發(fā)者定位問題從而提升應用程序性能。

介紹

Skywalking 是 Apache 基金會下面的一個開源 APM 項目,是一套(APM)分布式追蹤系統(tǒng),提供了很多數據存儲列如:Mysql,H2,Elasticsearch7 等。其中APM 全稱是應用性能監(jiān)測軟件,主要是用來處理以及追蹤分布式系統(tǒng)中的應用程序的性能問題,從而快速找出問題的根源,進而可以讓開發(fā)者定位問題從而提升應用程序性能。

當我們用很多服務相互調用時,各個服務單調用的順序\時間性能怎么樣?這些問題我們怎么監(jiān)測,以前的方式是各個系統(tǒng)自己單獨做日志,出了問題在一個一個服務的排查,有點刀耕火種的感覺。好在現在有Skywalking鏈路追蹤系統(tǒng),可以不用寫任何代碼,就追蹤到各個服務間的調用關系和性能狀態(tài)等。

ASP.NET Core 集成

1、安裝Skywalking,搭建好后的Skywalking服務器地址為:127.0.0.1:11800

2、新建項目SkyWalkingA,為項目添加NuGet程序包SkyAPM.Agent.AspNetCore的引用

3、在項目根目錄添加skyapm.json文件

{
  "SkyWalking": {
    "ServiceName": "WebApplication4",
    "Namespace": "",
    "HeaderVersions": [
      "sw6"
    ],
    "Sampling": {
      "SamplePer3Secs": -1,
      "Percentage": -1.0
    },
    "Logging": {
      "Level": "Debug",
      "FilePath": "logs/skyapm-{Date}.log"
    },
    "Transport": {
      "Interval": 3000,
      "ProtocolVersion": "v6",
      "QueueSize": 30000,
      "BatchSize": 3000,
      "gRPC": {
        "Servers": "127.0.0.1:11800",
        "Timeout": 10000,
        "ConnectTimeout": 10000,
        "ReportTimeout": 600000
      }
    }
  }
}


4、打開launchSettings.json文件,在其中的環(huán)境變量中加入 "SKYWALKING__SERVICENAME"

{
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:20467",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "api/values",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "SKYWALKING__SERVICENAME": "WebApplication4",
        "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore"
      }
    },
    "WebApplication4": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "api/values",
      "applicationUrl": "http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "SKYWALKING__SERVICENAME": "WebApplication4",
        "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore"
      }
    }
  }
}

5、新建項目SkyWalkingB,重復上面步驟2、3、4

在A項目訪問B項目

// GET api/values
        [HttpGet]
        public async Task<ActionResult<IEnumerable<string>>> Get()
        {
            var client = new HttpClient();
            await client.GetStringAsync("http://localhost:20467/api/values/1");
            await client.GetStringAsync("http://localhost:20467/api/values");


            return new string[] { "value1", "value2" };
        }

跑起來,可以看到對應的鏈路調用關系。

圖片圖片

圖片圖片

源碼地址:https://github.com/conanl5566/mydemo/tree/master/SkyWalking

責任編輯:武曉燕 來源: 程序員編程日記
相關推薦

2024-11-28 08:57:21

分布式鏈路Skywalking

2020-12-16 09:24:18

Skywalking分布式鏈路追蹤

2025-01-07 08:37:35

2024-02-28 09:07:58

鏈路聚合模式

2024-05-20 08:06:42

ASP接口服務

2024-10-09 07:40:43

2024-06-07 13:04:31

2024-08-21 08:09:17

2024-01-26 07:49:49

Go分布式鏈路

2022-06-21 07:51:15

云原生應用鏈路

2021-02-22 07:58:51

分布式鏈路追蹤

2025-03-11 14:16:09

2020-09-11 09:44:04

微服務分布式鏈路

2022-06-16 07:50:35

數據結構鏈表

2024-06-26 00:20:42

2024-02-02 11:03:11

React數據Ref

2024-12-06 10:54:17

國產分布式數據庫

2024-03-28 12:20:17

2023-11-21 08:25:09

2024-07-09 08:11:56

點贊
收藏

51CTO技術棧公眾號