#!/usr/bin/env python # -*- coding: utf-8 -*- import math import random import time import json import base64 import sys import os import numpy as np from aiokafka.producer import AIOKafkaProducer import asyncio loop = asyncio.get_event_loop() import asyncio from multiprocessing import Process loop = asyncio.get_event_loop() localtime = int(time.time()) CALLBACK_INVALID = 0 class Logger(object): def __init__(self, file_name="Default.log", stream=sys.stdout): self.terminal = stream self.log = open(file_name, "a") def write(self, message): self.terminal.write(message) self.log.write(message) def flush(self): pass class MyEncoder(json.JSONEncoder): def default(self, obj): """ 只要检查到了是bytes类型的数据就把它转为str类型 :param obj: :return: """ if isinstance(obj, np.ndarray): return obj.tolist() elif i
kafka压测,生产者多进程异步批量 循环生产用户
最新推荐文章于 2024-08-01 08:09:48 发布
这是一个使用Python实现的Kafka压力测试脚本,通过多进程和AIOKafkaProducer进行异步批量消息生产。脚本中定义了选择主题的函数ChooseTopic,根据时间戳动态分配主题,并模拟生成包含多个字段的消息任务。
摘要由CSDN通过智能技术生成