OpenSIPS 4.0 中的 TCP/TLS 重构

OpenSIPS 4.0 中的 TCP/TLS 重构

💡 原文中文,约2300字,阅读约需6分钟。
📝

内容提要

OpenSIPS 4.0 重构了 TCP/TLS 层,采用单进程多线程架构,简化了 I/O 模型,降低了延迟,提高了性能,为未来改进奠定基础。

🎯

关键要点

  • OpenSIPS 4.0 重构了 TCP/TLS 层,采用单进程多线程架构。

  • 旧有的多进程 TCP 模型复杂,增加了 I/O 路径的开销。

  • 重构旨在简化 I/O 模型,消除架构痛点。

  • 新模型中,所有 TCP/TLS 工作在一个专用进程内部处理,连接不再在进程间传递。

  • TCP 主进程通过专用线程执行 I/O 操作,保持传输 I/O 集中化。

  • 写入和连接由 TCP 进程及其线程负责,简化了所有权模型。

  • TLS/OpenSSL 的支持得到改善,消除了旧设计的限制。

  • 重构后架构在连接建立阶段显著降低了延迟。

  • 未来工作包括完善写入结果报告机制和简化处理模型。

  • 此次重构为 OpenSIPS 核心的进一步变更提供了更好的基础。

延伸问答

OpenSIPS 4.0 中 TCP/TLS 层的重构有什么主要变化?

OpenSIPS 4.0 重构了 TCP/TLS 层,采用单进程多线程架构,简化了 I/O 模型,降低了延迟,提高了性能。

为什么 OpenSIPS 选择重构 TCP/TLS 层?

重构的动机是为了简化 I/O 模型,消除长期存在的架构痛点,并提高性能和降低延迟。

新模型如何处理 TCP/TLS 的 I/O 操作?

新模型中,所有 TCP/TLS 工作在一个专用进程内部处理,TCP 主进程通过专用线程执行 I/O 操作,保持传输 I/O 集中化。

重构后对 TLS/OpenSSL 的支持有什么改善?

重构后,SSL 上下文局限于 TCP 进程内部,消除了旧设计的限制,减少了对 OpenSSL 的调整需求。

重构后的架构在性能上有什么优势?

重构后的架构在连接建立阶段显著降低了延迟,并在高负载下提供更简洁、更可预测的执行路径。

未来对 OpenSIPS 4.0 的工作计划是什么?

未来工作包括完善写入结果报告机制和简化处理模型,转而采用统一的工作线程池。

➡️

继续阅读