【微服务部署】07-调用链追踪

文章目录

集成SkyWalking实现调用链追踪

1. SkyWalking架构图

Receiver是SkyWalking的入口,支持gRPC和HTTP协议。

SkyWalking内部有分析和查询两个部分

存储方面SkyWalking支持Elasticsearch和MySql,H2等数据库

2. 代码集成SkyWalking

  • 包引用:SkyAPM.Agent.AspNetCore/SkyAPM.Transport.Grpc/SkyAPM.Transport.Grpc.Protocol
  • 应用程序根目录放置skyapm.json文件
  • 程序环境变量中添加如下代码,

"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore"

  • 部署文件添加环境变量,服务地址

skywalking_hostingStartup=SkyAPM.Agent.AspNetCore

skywalking_servers=172.16.190.168:11800

  • deployment.yaml中定义环境变量,读取上述环境标量的值

skyapm.json

复制代码
{
  "SkyWalking": {
    "ServiceName": "ordering-api",
    "Namespace": "",
    "HeaderVersions": [
      "sw6"
    ],
    "Sampling": {
      "SamplePer3Secs": -1,
      "Percentage": -1.0
    },
    "Logging": {
      "Level": "Information",
      "FilePath": "logs\\skyapm-{Date}.log"
    },
    "Transport": {
      "Interval": 3000,
      "ProtocolVersion": "v6",
      "QueueSize": 30000,
      "BatchSize": 3000,
      "gRPC": {
        "Servers": "localhost:11800",
        "Timeout": 10000,
        "ConnectTimeout": 10000,
        "ReportTimeout": 600000
      }
    }
  }
}

默认情况下SkyWalking使用的是本地内存数据库,重启会丢失数据,线上环境建议使用Elasticsearch存储

相关推荐
禅思院8 小时前
POST请求发两次?一次讲透CORS预检机制,面试不再翻车
前端·架构·前端框架
DO_Community8 小时前
AI 创新先锋 Probably 携手 DigitalOcean 打造“本地优先”可验证智能体架构
人工智能·架构
Peter(阿斯拉)9 小时前
[Android]_[中级]_[如何创建MVVM架构原型]
android·java·架构·mvvm·viewmodel
地瓜伯伯9 小时前
从MESI缓存一致性协议讲透synchronized的底层
java·spring boot·spring·spring cloud·微服务·springcloud
hz567899 小时前
基于音视频 PaaS 的实时音视频解决方案:技术架构与落地实践
安全·架构·音视频·实时音视频·信息与通信·paas
Devin~Y9 小时前
大厂 Java 面试实录:从音视频内容社区到 AI RAG 的全链路技术设计
java·spring boot·redis·spring cloud·微服务·kafka·音视频
云飞云共享云桌面17 小时前
传统工作站 vs 云飞云共享云桌面:制造业设计云桌面选型深度对比
运维·服务器·前端·网络·3d·架构·制造
就改了20 小时前
Windows 环境 SkyWalking 完整实操教程
windows·微服务·skywalking
IT新视界1 天前
星环科技ArgoDB:基于一体化架构构建数据全生命周期安全底座
数据库·科技·安全·架构
Java面试题总结1 天前
多区域架构:边缘节点、核心节点与跨区域写冲突
架构