# loc-kafka **Repository Path**: Tigege/loc-kafka ## Basic Information - **Project Name**: loc-kafka - **Description**: 一个基于本地文件存储的消息队列,可用于同一进程或者同一机器上 - **Primary Language**: Java - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 1 - **Created**: 2021-07-28 - **Last Updated**: 2022-07-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README _ _ __ _ | | | | / _| | | | ___ ___ ______| | ____ _| |_| | ____ _ | |/ _ \ / __|______| |/ / _` | _| |/ / _` | | | (_) | (__ | < (_| | | | < (_| | |_|\___/ \___| |_|\_\__,_|_| |_|\_\__,_ ### loc-Kafka 基于文件存储的队列 - 用于同一进程或者同一机器上的消息队列 - 纯JAVA实现,可以内置到JAVA进程内使用,使用简单 #### 一、快速开始 - 1、新建实体类 初始化一个名为queue的,单个存储文件最大为4GB的队列 ```java LocKafkaQueue queue = new LocKafkaQueue("queue", 4 * 1024 * 1024); ``` - 2、生产消息 向队列中生产一个 message 的字符串 ```java queue.offer(String.valueOf("message").getBytes()); ``` - 3、消息消息 基于消费者ID,消费一个消息(每个消费者ID维护不同的readIndex) ```java byte[] peek = queue.poll("test"); ``` - 4、一个栗子 ```java LocKafkaQueue queue = new LocKafkaQueue("test", 4 * 1024 * 1024); queue.offer("message".getBytes()); byte[] peek = queue.poll("test"); System.out.println(new String(peek)); ```