librdkafka c++库是否有模拟服务器或代理?

sxpgvts3  于 2021-06-07  发布在  Kafka
关注(0)|答案(2)|浏览(406)

librdkafka c++库是否有用于单元测试的模拟服务器,而不需要您启动kafka服务器?如果没有,那么是否有一个简单易用的轻量级kafka服务器?
librdkafka库中的示例和单元测试是否需要kafka服务器来运行?如果不是,它用什么?我看到了localhost:9092,它是否在启动时启动了自己的模拟代理?
谢谢您!

oxf4rvwz

oxf4rvwz1#

是的,从v1.3.0开始,librdkafka有模拟工具,但是api是实验性的,可能会被删除。从发行说明中:
'添加了实验性(可能会更改或删除)模拟代理,使应用程序和librdkafka开发测试更容易'

13z8s7eq

13z8s7eq2#

librdkafka没有模拟代理,它依赖于连接到一个真正的apachekafka集群,该集群至少由3个代理组成。一个test.conf配置文件被传递给测试,以指出引导代理地址等。
为了简化这个过程,我编写了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

相关问题