LightQ:一个开源的高性能代理消息队列

n6xb 10年前

LightQ是一个基于MIT协议开源的高性能代理消息队列,它支持瞬态(每秒1M的性能)和持久化(每秒300k左右的性能)两种队列。LightQ的持久化队列类似于Kafka,即首先数据写入到文件,而由消费者再从文件中读取数据。LightQ的主要特征包括:

  • 支持瞬态和持久化两种队列,这就类似于Kafka,生产者(Producer)将数据保存到文件中,消费者从文件中再读取数据;
  • 较高的安全性,每个话题(Topic)都必须通过用户ID和密码认证;
  • 支持嵌入到Header Only工程;
  • 消费者(Consumer)支持负载均衡环境,在轮询过程中,消费者就可以获得消息;
  • 消费者即订阅者(Subscriber),每个消费者都能获得消息的一个拷贝;
  • 单个话题能够支持发布者(Publisher)/订阅者模型和管道模型;
  • 单个话题可以拥有多个生产者或消费者;
  • 支持以JSON协议的数据格式创建话题和连接话题;
  • 支持C++11、日志记录;
  • 能够为话题、消费者、生产者动态分配端口;
  • 支持集群环境;
  • Client API支持C、Go、Java、Rust、Lua、Ruby等语言。

GitHub上还提供了LightQ协议的示例代码,如创建话题、消费者连接到话题、生产者连接到话题以及获得话题的统计信息(如状态、订阅者数、队列大小等信息)。

请读者注意,目前,LightQ只是一个初始版本,且还不能用于生产环境。LightQ的作者还做了一些性能测试,如有关100M消息数据的性能测试。更多关于LightQ信息,请登录其官网查看。

来自:http://www.infoq.com/cn/news/2015/04/lightq-agent-message-queue