谁还需要 Kafka 啊?我用两个 UNIX 信号手捏了一个消息队列!
💡
原文中文,约1000字,阅读约需3分钟。
📝
内容提要
该程序是一个消费者,监听UNIX信号SIGUSR1和SIGUSR2,通过接收信号将其转换为字节并拼接成消息,直到收到全为0的字节表示消息结束。
🎯
关键要点
- 该程序是一个消费者,监听UNIX信号SIGUSR1和SIGUSR2。
- 通过接收信号将其转换为字节并拼接成消息。
- 收到全为0的字节表示消息结束。
- 程序启动时打印进程PID,以便发送端知道目标进程。
- 注册通道以截获SIGUSR1和SIGUSR2信号。
- 根据接收到的信号拼接字节,使用累加器和位置变量。
- 当累加器收集满8个比特时,检查是否为全0字节以判断消息结束。
- 如果不是全0字节,则将其存入缓冲区并实时打印。
➡️