librdkafka c++库是否有用于单元测试的模拟服务器,而不需要您启动kafka服务器?如果没有,那么是否有一个简单易用的轻量级kafka服务器?librdkafka库中的示例和单元测试是否需要kafka服务器来运行?如果不是,它用什么?我看到了localhost:9092,它是否在启动时启动了自己的模拟代理?谢谢您!
oxf4rvwz1#
是的,从v1.3.0开始,librdkafka有模拟工具,但是api是实验性的,可能会被删除。从发行说明中:'添加了实验性(可能会更改或删除)模拟代理,使应用程序和librdkafka开发测试更容易'
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
2条答案
按热度按时间oxf4rvwz1#
是的,从v1.3.0开始,librdkafka有模拟工具,但是api是实验性的,可能会被删除。从发行说明中:
'添加了实验性(可能会更改或删除)模拟代理,使应用程序和librdkafka开发测试更容易'
13z8s7eq2#
librdkafka没有模拟代理,它依赖于连接到一个真正的apachekafka集群,该集群至少由3个代理组成。一个test.conf配置文件被传递给测试,以指出引导代理地址等。
为了简化这个过程,我编写了trivup工具,它可以在本地机器上自动设置一个代理集群,配置为sasl(plain、scram、kerberos)、ssl或任何需要测试的环境。辅助组件(如zookeeper或kerberos kdc)也被配置和启动。
测试完成后,集群将被拆掉并移除。
安装trivup
启动集群并运行shell