jaeger 使用scylladb作为后端存储
scylladb 是一个不错的apache Cassandra 替代,而且兼容很不错,今天在尝试过yugabyte 之后放弃了,因为在进行jaeger 创建
Cassandra schema 的时候碰到各种问题(可能兼容还是少有问题),试用之后发现很不错,没有碰到错误,以下是一个演示环境
使用了docker-compose 运行
环境准备
- docker-compose 文件
version: "3"
services:
scylladb:
image: scylladb/scylla
ports:
- "9042:9042"
scylladb2:
image: scylladb/scylla
command: --seeds=scylladb
ports:
- "9043:9042"
scylladb3:
image: scylladb/scylla
command: --seeds=scylladb
ports:
- "9044:9042"
jaeger:
image: jaegertracing/all-in-one:1.13
environment:
- COLLECTOR_ZIPKIN_HTTP_PORT=9411
- CASSANDRA_SERVERS=scylladb,scylladb2,scylladb3
- SPAN_STORAGE_TYPE=cassandra
ports:
- "9411:9411"
- "5775:5775/udp"
- "6831:6831/udp"
- "6832:6832/udp"
- "16686:16686"
- 简单说明
以上是一个简单的scylladb 集群环境,三个节点,同时使用了jaeger 的all-in-one,对于大规模的请求依赖处理的方式还是
推荐基于spark 等大数据的方式,会加快数据的生成
测试项目
- nodejs 项目
从github clone 了一个简单的nodejs 项目,尽管有点问题,但是不影响测试
git clone https://github.com/luoyjx/opentracing-demos.git
- 启动docker-compose
docker-compose up -d
- 创建schema
需要clone jaeger 项目,同时需要配置本地cqlsh 工具
git clone https://github.com/jaegertracing/jaeger.git
cd jaeger
MODE=test sh ./plugin/storage/cassandra/schema/create.sh | cqlsh
- 重启jaeger
docker-compose restart jaeger
- nodejs 启动
方式很简单,进入服务目录 yarn 以及node <startscript>
效果
- jaeger ui
- 注册的service
nodejs 应用
- 一个简单的请求链路
- 服务依赖
说明
以上是一个简单的测试集成,实际生产使用还有好多事情需要做
参考资料
https://docs.scylladb.com/
https://www.jaegertracing.io/docs/1.13/architecture/
https://github.com/rongfengliang/scylladb-jaeger
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2018-07-18 hydra nodejs 微服务框架简单试用
2018-07-18 Rotor envoy control plane 简单试用
2018-07-18 hasura graphql 引擎基本试用
2014-07-18 时间戳转换