{"id":19885261,"url":"https://github.com/dinstone/kafka-assistant","last_synced_at":"2025-05-02T16:31:41.406Z","repository":{"id":68551317,"uuid":"62291649","full_name":"dinstone/kafka-assistant","owner":"dinstone","description":"kafka assistant toolkit","archived":false,"fork":false,"pushed_at":"2022-09-06T01:51:34.000Z","size":75,"stargazers_count":7,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-07T03:34:36.917Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dinstone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license/ApacheV2.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-06-30T07:57:43.000Z","updated_at":"2024-09-24T06:28:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"f8c71f54-014d-46b1-a3cd-fb22d2f3230a","html_url":"https://github.com/dinstone/kafka-assistant","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinstone%2Fkafka-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinstone%2Fkafka-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinstone%2Fkafka-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinstone%2Fkafka-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dinstone","download_url":"https://codeload.github.com/dinstone/kafka-assistant/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252071815,"owners_count":21690096,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T17:33:45.317Z","updated_at":"2025-05-02T16:31:41.388Z","avatar_url":"https://github.com/dinstone.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kafka assistant\n\n# 1.Install kafka\n\n## with a docker compose file\n\n```\n\u003e cd kafka-docker\n\u003e docker-compose up -d\n```\n\n## produce test\n\n```\n\u003e docker exec -it kafka_kafkaNode_1 sh\n\u003e kafka-console-producer.sh --broker-list localhost:9092 --topic kafeidou\n\u003e\u003e hello world\n```\n\n## consume test\n\n```\n\u003e docker exec -it kafka_kafkaNode_1 sh\n\u003e kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic kafeidou --from-beginning\n```\n\n# 2.API access kafka\n\n## produce message to kafka topic\n\n```\npublic class TopicProducerTest {\n\n    public static void main(String[] args) {\n        ProducerKafkaConfig config = new ProducerKafkaConfig(\"config-producer-test.xml\");\n        TopicProducer\u003cString, String\u003e producer = new TopicProducer\u003cString, String\u003e(config);\n\n        long st = System.currentTimeMillis();\n        int count = 100;\n        for (int i = 0; i \u003c count; i++) {\n            producer.send(\"\" + i, \"a\" + i);\n        }\n\n        producer.flush();\n        long et = System.currentTimeMillis();\n\n        System.out.println(\"ok,\" + count + \" take's \" + (et - st) + \", \" + count * 1000 / (et - st) + \"tps\");\n\n        try {\n            Thread.sleep(1000);\n        } catch (InterruptedException e) {\n        }\n\n        producer.destroy();\n    }\n\n}\n```\n\n## parallel consume message from kafka topic\n\n```\npublic class TopicConsumerTest {\n\n    private static final Logger LOG = LoggerFactory.getLogger(TopicConsumerTest.class);\n\n    public static void main(String[] args) {\n        MessageHandler\u003cString, String\u003e handleService = new MessageHandler\u003cString, String\u003e() {\n\n            @Override\n            public void handle(ConsumerRecord\u003cString, String\u003e consumerRecord) throws Exception {\n                Thread.sleep(new Random().nextInt(10) * 1000);\n                LOG.error(\"{}-{} record: {}\", consumerRecord.topic(), consumerRecord.partition(), consumerRecord.key());\n            }\n\n        };\n\n        ConsumerKafkaConfig consumeConfig = new ConsumerKafkaConfig(\"config-consumer-test.xml\");\n        // consumeConfig.setParallelConsumerSize(1);\n        // consumeConfig.setMessageQueueSize(3);\n        TopicConsumer\u003cString, String\u003e process = new TopicConsumer\u003cString, String\u003e(consumeConfig, handleService);\n        process.start();\n\n        try {\n            System.in.read();\n        } catch (IOException e) {\n        }\n\n        process.stop();\n    }\n\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdinstone%2Fkafka-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdinstone%2Fkafka-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdinstone%2Fkafka-assistant/lists"}