Aeron 1.47.1版本发布:分布式日志与消息系统的关键修复
Aeron是一个高性能、低延迟的消息传输系统,专为金融交易、实时通信等对延迟敏感的应用场景设计。它采用零拷贝技术和高效的流控制算法,能够实现微秒级的消息传输延迟。Aeron的核心组件包括客户端库、驱动程序和归档服务,支持点对点、发布/订阅等多种通信模式。
关键修复与改进
本次1.47.1版本主要针对一些关键问题进行了修复,提升了系统的稳定性和可靠性。
Archive服务描述符修复
在Archive组件中发现了一个重要的回归问题,当使用以下API时可能导致返回损坏或重复的数据:
- listRecording - 列出单个录制的描述信息
- listRecordings - 列出所有录制的描述信息
- listRecordingsForUri - 按URI列出录制描述信息
- listRecordingSubscriptions - 列出录制订阅信息
这个问题会影响依赖这些API获取录制元数据的客户端应用。修复后,系统现在能够正确返回完整的、不重复的录制描述信息,确保客户端能够准确获取所需的元数据。
C语言客户端导体修复
在C语言客户端导体实现中发现了不正确的aeron_array_fast_unordered_remove使用方式。这个函数通常用于从数组中快速移除元素而不保持顺序,但错误的用法可能导致数组操作异常。修复后,数组操作将更加稳定,避免了潜在的内存访问问题。
NAK机制优化
改进了NAK(Negative Acknowledgement)机制,现在当间隙长度发生变化时会发送新的NAK。这一改进使得流控制更加精确,特别是在网络条件不稳定时,能够更及时地通知发送方重传丢失的数据包,从而减少恢复时间。
归档ID更新问题修复
修复了在上下文结束时归档ID未正确更新到标记文件的问题。现在当归档ID被设置时,系统会确保将其正确写入标记文件,这对于系统重启后的状态恢复非常重要。
跨平台兼容性改进
针对Java系统测试在Alpine Linux(使用musl libc)上的运行问题进行了修复。Alpine Linux因其轻量级特性在容器环境中非常流行,这一修复使得Aeron能够更好地支持基于Alpine的容器化部署。
C++包装器改进
在C++包装器中修复了头文件导入问题,并新增了aeronDir()方法用于获取上下文中的Aeron目录路径。这些改进使得C++开发者能够更方便地使用Aeron的功能。
性能与稳定性提升
升级了ByteBuddy到1.16.1版本,这是一个用于Java字节码操作和代码生成的库。新版本可能带来性能改进和bug修复,间接提升了Aeron在某些场景下的表现。
总结
Aeron 1.47.1版本虽然是一个小版本更新,但包含了多个关键修复,特别是在Archive服务的元数据获取、C语言客户端的稳定性、NAK机制等方面。这些改进使得Aeron在高性能消息传输领域的表现更加可靠,特别是在金融交易、实时通信等对延迟和可靠性要求极高的场景中。对于现有用户来说,升级到这个版本将获得更好的稳定性和兼容性保障。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
new-apiAI模型聚合管理中转分发系统,一个应用管理您的所有AI模型,支持将多种大模型转为统一格式调用,支持OpenAI、Claude、Gemini等格式,可供个人或者企业内部管理与分发渠道使用。🍥 A Unified AI Model Management & Distribution System. Aggregate all your LLMs into one app and access them via an OpenAI-compatible API, with native support for Claude (Messages) and Gemini formats.JavaScript01
idea-claude-code-gui一个功能强大的 IntelliJ IDEA 插件,为开发者提供 Claude Code 和 OpenAI Codex 双 AI 工具的可视化操作界面,让 AI 辅助编程变得更加高效和直观。Java01
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility.Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00