ITPub博客

首页 > 数据库 > > jaeger 使用scylladb作为后端存储

jaeger 使用scylladb作为后端存储

作者:飘絮絮絮丶 时间:2022-04-19 10:41:26 0 删除 编辑

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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946831/viewspace-3158529/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-09-09

  • 博文量
    2646
  • 访问量
    42202