# folkmq
**Repository Path**: cgb-lowcode/folkmq
## Basic Information
- **Project Name**: folkmq
- **Description**: 作一个最简单的消息中间件(单机可达 180K TPS),支持顺序、事务、延时、过期、请求等消息特性。
- **Primary Language**: Unknown
- **License**: LGPL-2.1
- **Default Branch**: main
- **Homepage**: https://folkmq.noear.org
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 67
- **Created**: 2024-03-05
- **Last Updated**: 2024-03-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
FolkMQ
The simplest message-oriented middleware. For simplicity, for the future!
https://folkmq.noear.org
##### Language: English | [中文](README_CN.md)
## Simplicity is the future
Source code is simple! Simple architecture! Easy to deploy! Easy to use!
## Function Introduction
| role | function |
|----------|---------------------------------------------------------------------------------------------|
| Producer | Publish messages, timed messages, sequential messages, expireable messages, transactional messages. Send Request (rpc) Qos0 and Qos1 are supported |
| | |
| Consumer | Subscribe, unsubscribe. Consumption -ACK (automatic, manual). Listening (rpc) |
| | |
| Server | Publish -Confirm, subscribe -Confirm, unsubscribe -Confirm, dispatch -Retry, dispatch -delay |
| Server | Single-threaded architecture, support for snapshot persistence (automatic, downtime, manual), Broker mode clustering, cluster hot-scaling |
## Features
* High throughput, low latency
The cluster mode can handle millions of messages per second with minimum latency of less than 1 millisecond.
* Extensibility
Cluster mode support hot expansion of service nodes . When the flow is high, it can be added at any time, and the flow can be reduced when it is low
* Durability, reliability
Messages are snapshot persisted (similar to redis) to local disk, and data backup is supported to prevent data loss
* Fast (standalone, ~ 180K TPS)
//Using MacBook pro 2020 + JDK8 native test, single client sending and receiving (running points inevitably have fluctuations, I chose the better one)
### Join a community exchange group
| QQ communication group:316697724 | Wechat communication group (input: FolkMQ when applying) |
|---------------------------|----------------------------------------|
| |
## Video recording of development process
* Development process video: [《DEV-RECORD.md》](DEV-RECORD.md)
* Quick start:[《FolkMQ - Helloworld 入门》](https://www.bilibili.com/video/BV1Yj411L7fB/)
### Official website
https://folkmq.noear.org
### Special thanks to JetBrains for supporting the open source project