librdkafka c++库有没有一个不需要启动kafka服务器就可以进行单元测试的模拟服务器?如果没有,那么有没有一个轻量级的kafka服务器可以简单易用呢?
librdkafka库中的示例和单元测试是否需要kafka服务器才能运行?如果不是,它使用的是什么?我看到它列出了localhost:9092,它会在启动时启动自己的模拟代理吗?
谢谢!
发布于 2018-03-05 14:55:39
librdkafka没有模拟代理,它依赖于连接到真正的Apache Kafka集群,该集群由至少3个代理组成。将一个test.conf配置文件传递给测试,以指出引导代理地址et.al。
为了简化这个过程,我编写了trivup工具,它可以在本地机器上自动设置一个代理集群,并针对SSL (普通、SCRAM、Kerberos)、SSL或任何需要测试的环境进行配置。还配置并启动了Zookeeper或Kerberos KDC等辅助组件。
测试完成后,集群将被拆卸并删除。
Install 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 发布于 2020-01-18 04:54:22
是的,从v1.3.0开始,librdkafka提供了mocking功能,但api是实验性的,可能会被移除。从发行说明中:
‘添加了实验性(可能会更改或删除)模拟代理,以使应用程序和librdkafka开发测试更容易。’
https://stackoverflow.com/questions/49056070
复制相似问题