我有一个码头工人,撰写文件STAT旋转起来单节点卡夫卡,动物园管理员和架构注册表栈测试我的应用程序。目前,它需要一两分钟来获取堆栈可用;是否有任何设置,以加快启动时间?
我使用(除了SSL)的配置如下:
kafka:
image: confluentinc/cp-kafka:3.3.1
depends_on:
- zookeeper
hostname: kafka
ports:
- 9092:9092
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: SSL://kafka:9092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
KAFKA_LOG4J_ROOT_LOGLEVEL: WARN
KAFKA_JMX_PORT: 9585
KAFKA_JMX_HOSTNAME: kafka
KAFKA_JMX_OPTS: "-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.rmi.port=9585"
volumes:
- ../../txs-data/kafka-data:/var/lib/kafka/data
除了使用较新的容器版本,还没有一个方法,使之更快。
动物园管理员开始还算quickyl,但卡夫卡依靠动物园管理员和需要协调的额外任务,以选出一个领袖,加载一些其他元数据等。
如果您要添加最重要的是架构注册表,它需要卡夫卡开始,然后创建它的_schemas
话题,这需要往返动物园管理员。
所有功能于一切,有很多的预初始化步骤发生,其中全部是必需的,不能被跳过,以减少启动时间。
假设你正在运行此作为的JVM测试框架的一部分,“更快”的方式是使用的每一项服务的嵌入式版本。