• Stars
    star
    129
  • Rank 279,262 (Top 6 %)
  • Language
    Go
  • Created about 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

go jaeger 链路追踪,实现了5个服务调用的链路,支持 gRPC 和 HTTP。

项目介绍

这是一个 Jaeger 链路追踪的 Demo,里面包括 5 个 Service 端,如图所示:

API 端为: go-gin-api

5 个 Service 端 Demo 分别是:

听(listen)

  • 端口:9901
  • 通讯:gRPC

说(speak)

  • 端口:9902
  • 通讯:gRPC

读(read)

  • 端口:9903
  • 通讯:gRPC

写(write)

  • 端口:9904
  • 通讯:gRPC

唱(sing)

  • 端口:9905
  • 通讯:HTTP

其中服务之间又相互调用:

  • Speak 服务,又调用了 Listen 服务 和 Sing 服务。
  • Read 服务,又调用了 Listen 服务 和 Sing 服务。
  • Write 服务,又调用了 Listen 服务 和 Sing 服务。

咱们要实现就是 API 调用 5 个服务的链路,以及服务与服务之间相互调用的链路。

运行

1、部署 jaeger 服务

下载地址:https://www.jaegertracing.io/download/

我的电脑是 macOS 选择 -> Binaries -> macOS

下载后并解压,会发现以下文件:

  • example-hotrod
  • jaeger-agent
  • jaeger-all-in-one
  • jaeger-collector
  • jaeger-ingester
  • jaeger-query

进入到解压后的目录执行:

./jaeger-all-in-one

目测启动后,访问地址:http://localhost:16686/

看到下图,表示启动成功。

2、启动 Service 服务

// 启动 Listen 服务
cd listen && go run main.go

// 启动 Speak 服务
cd speak && go run main.go

// 启动 Read 服务
cd read && go run main.go

// 启动 Write 服务
cd write && go run main.go

// 启动 Sing 服务
cd sing && go run main.go

3、启动 API 服务

// 启用 go-gin-api 服务
cd go-gin-api && go run main.go

4、访问路由

访问 API 项目:http://127.0.0.1:9999/jaeger_test

效果

学习交流

🌟 关注微信公众号「新亮笔记」

More Repositories

1

go-gin-api

基于 Gin 进行模块化设计的 API 框架,封装了常用功能,使用简单,致力于进行快速的业务研发。比如,支持 cors 跨域、jwt 签名验证、zap 日志收集、panic 异常捕获、trace 链路追踪、prometheus 监控指标、swagger 文档生成、viper 配置文件解析、gorm 数据库组件、gormgen 代码生成工具、graphql 查询语言、errno 统一定义错误码、gRPC 的使用、cron 定时任务 等等。
Go
4,846
star
2

Go

【Go 从入门到实战】学习笔记,从零开始学 Go、Gin 框架,基本语法包括 26 个Demo,Gin 框架包括:Gin 自定义路由配置、Gin 使用 Logrus 进行日志记录、Gin 数据绑定和验证、Gin 自定义错误处理、Go gRPC Hello World... 持续更新中...
Go
3,607
star
3

Swoole

【Swoole 从入门到实战】学习笔记,从零开始学 Swoole,包括 Swoole Task,Swoole WebSocket,Swoole HTTP 服务,Swoole RPC 服务,Swoole MySQL 连接池,Swoole Redis 连接池,Swoole 压测等,其中 7 个源码分享,11 篇总结文章分享。
PHP
232
star
4

go-util

Go 工具包,包含常用方法:aes,base64,json,mail,math,md5,rsa,time,uuid,validator...
Go
100
star
5

PHP

PHP 文章集锦,浮点数搞定度运算、签名验证、单点登录、安全防御、缓存技术、RPC、Composer ...
87
star
6

Encrypt

常用 Api 接口签名 加密/解密 类库。PHP AES(AES-128-CBC)、Go AES(AES-128-CBC)、PHP RSA(密钥长度 2048)、JS RSA(密钥长度 2048)、Go RSA(密钥长度 2048) ...
JavaScript
56
star
7

go-fsm-order

使用 golang 实现的订单状态机。
Go
34
star
8

vv

基于grpc-gateway的综合业务开发框架
Go
3
star