Cherami-Server 开源项目教程
1. 项目介绍
Cherami 是一个分布式、可扩展、持久且高度可用的消息队列系统,由 Uber Engineering 开发,用于传输异步任务。该项目已被 Uber 归档,不再维护。Cherami 服务器、跨区域复制服务器以及多个工具的源代码都包含在这个仓库中。
2. 项目快速启动
2.1 环境准备
在开始之前,请确保你已经安装了以下工具:
- Git
- Go (Golang)
- Glide (用于管理 Go 依赖)
2.2 克隆项目
首先,克隆 Cherami-Server 项目到本地:
git clone git@github.com:uber-archive/cherami-server.git $GOPATH/src/github.com/uber/cherami-server
2.3 构建项目
进入项目目录并使用 make
命令构建项目:
cd $GOPATH/src/github.com/uber/cherami-server
make bins
2.4 本地测试
在本地运行 Cherami 之前,需要确保本地已经运行了一个 Cassandra 实例。然后运行以下命令进行测试:
make test
2.5 启动 Cherami 服务
设置 Cherami 的元数据键空间并启动服务:
RF=1 ./scripts/cherami-setup-schema
CHERAMI_ENVIRONMENT=local ./cherami-server start all
2.6 验证服务
使用 CLI 工具验证 Cherami 是否正常运行:
./cherami-cli --env=prod --hostport=127.0.0.1:4922 create destination /test/cherami
3. 应用案例和最佳实践
Cherami 主要用于 Uber 内部的大规模异步任务处理,例如订单处理、通知推送等。由于项目已被归档,建议在生产环境中使用其他活跃维护的消息队列系统,如 Kafka、RabbitMQ 等。
4. 典型生态项目
Cherami 作为一个消息队列系统,通常与其他分布式系统一起使用,例如:
- Cassandra: 作为持久化存储后端。
- Kafka: 用于实时数据流处理。
- Zookeeper: 用于服务发现和配置管理。
以上是 Cherami-Server 开源项目的简要教程,希望对你有所帮助。