librdkafka c ++库是否有一个用于单元测试的模拟服务器,它不需要你启动kafka服务器?如果没有,那么是否有一个简单易用的轻量级kafka服务器?
librdkafka库中的示例和单元测试是否需要运行kafka服务器?如果不是它使用的是什么?我看到它列出了localhost:9092,启动时是否会启动自己的模拟代理?
谢谢!
librdkafka没有模拟代理,它依赖于连接到由至少3个代理组成的真正的Apache Kafka集群。将test.conf配置文件传递给测试以指出引导代理地址,et.al。
为了简化这个过程,我编写了trivup工具,它自动在本地机器上设置一个代理集群,配置为SASL(PLAIN,SCRAM,Kerberos),SSL或任何需要测试的环境。还配置并启动了诸如Zookeeper或Kerberos KDC等辅助组件。
测试完成后,群集将被拆除并移除。
安装trivup
$ virtualenv ~/yourPythonVirtualEnv/bin/activate
$ source ~/yourPythonVirtualEnv/bin/activate
$ git clone https://github.com/edenhill/trivup.git
$ cd trivup
$ python setup.py install
启动集群并运行shell
$ cd ~/librdkafka/tests
$ ./interactive_broker_version.py 1.0.0
(trivup-shell)$ echo $BROKERS
(trivup-shell)$ make # to run tests
...
(trivup-shell)$ exit # stop cluster