强曰为道

与天地相似,故不违。知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧.
文档目录

nanomsg / NNG 消息库完全教程

教程简介

nanomsg 是一个轻量级、高性能的消息传递库,由 ZeroMQ(0MQ)的原作者 Martin Sústrik 发起,旨在提供一套简洁的"可扩展性协议"(Scalability Protocols)。其继任者 NNG(nanomsg-next-generation)在保持 API 兼容的基础上,引入了现代异步 I/O、TLS 加密、更好的可嵌入性等特性。

本教程共 10 章,从基础概念到生产实战,带你系统掌握这两个库。


适用读者

角色学习目标
后端工程师在微服务间构建高效、可靠的进程间/网络通信
嵌入式开发者使用轻量级消息库替代重量级 MQ(RabbitMQ、Kafka)
分布式系统架构师理解可扩展性协议,为 IoT / 边缘计算场景选型
DevOps 工程师在 Docker / Kubernetes 中部署 nanomsg/NNG 服务

前置知识

  • C 语言基础(能阅读示例代码)
  • Linux 命令行操作
  • 基本的网络编程概念(TCP、Socket)

目录

章节标题核心内容
01nanomsg / NNG 概述背景、与 ZeroMQ 对比、协议分类、适用场景
02安装与环境搭建nanomsg / NNG 编译安装、语言绑定、静态库构建
03可扩展性协议详解PAIR、PUB/SUB、REQ/REP、PUSH/PULL、Bus、Survey
04nanomsg C API 详解Socket 生命周期、绑定/连接、收发消息、关闭与错误处理
05NNG 现代 API 详解异步 I/O、上下文、Listener/Dialer、零拷贝
06可扩展性与性能连接数、内存占用、消息大小、基准测试与调优
07TLS 与安全通信TLS 配置、WSS、mTLS、证书管理
08IPC 与进程间通信inproc、Unix Socket、共享内存、性能对比
09Docker 与微服务容器间通信、网络配置、编排示例
10最佳实践与总结协议选型、错误处理、性能调优、替代方案对比

如何使用本教程

  1. 顺序学习:从第 1 章开始,逐步深入
  2. 按需查阅:根据上表直接跳转到感兴趣的章节
  3. 动手实践:每章都包含可直接编译运行的 C 代码示例

代码约定

// 所有示例代码均使用 C 语言
// 编译命令统一为:
// nanomsg: cc example.c -lnanomsg -o example
// NNG:     cc example.c -lnng -o example

注意:示例基于 Linux 环境编写,macOS / Windows 用户需参考对应平台的安装指南。


快速导航