ZMQ是一个比较轻量级的消息通信组件,引用官方的说法: “ZMQ (以下 ZeroMQ 简称 ZMQ)是一个简单好用的传输层,像框架一样的一个 socket library,他使得 Socket 编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ 的明确目标是“成为标准网络协议栈的一部分,之后进入 Linux 内核”。现在还未看到它们的成功。但是,它无疑是极具前景的、并且是人们更加需要的“传统”BSD 套接字之上的一层封装。ZMQ 让编写高性能网络应用程序极为简单和有趣。”

     ZMQ组件广泛适用于.NET开发领域,其原生版本采用C语言开发,目前已经提供了包括C语言、C++、安卓、IOS、Python、Nodejs等众多语言的版本,而.NET版本实际上是基于C++的移植版本,事实上.NET版本也有多个版本,而目前使用情况较为良好的版本为NETMQ,可以通过Nuget下载并使用,添加到项目中,会新增两个类库,一个为NetMQ.dll,另外一个为SyncIO.dll。暂时未发现.NET Core的移植版本,期待社区或外网的高手能够将其移植成.NET CORE,为社区提供助力。

   目前我们公司已使用ZMQ作为核心通信组件,在后端、客户端等众多应用中使用。基于ZMQ的资料目前非常多,包括官方入门指南等,都可以作为大家入门的重要依据,除此之外,外网也有非常广泛的知识体系,不过基本上都是英语版本,因此,特意编写这个系列,其主要目的是将各类资料进行统一汇总,方便自己的同时,也期待能为其他感兴趣的朋友提供助力。

     总目录的第一部分主要为官方入门指南的详细说明,而第二部分为外网相关资料、以及ZMQ高级知识的汇编,如有考虑不周,或表述不严谨之处,还望大家指出。

  1. 基本概念
    1. 接收和发送
      1. 接收
      2. 发送
      3. 深度阅读
    2. 消息
      1. 消息结构
      2. 创建multipart消息
      3. 读取multipart消息
      4. 完整实例
    3. 传输
      1. 传输协议
      2. TCP
      3. Inproc(进程通信管道)
      4. PGM(实际通用多播)
    4. 清除连接状态
      1. 清除
      2. 为什么需要清除
      3. 延迟关闭参数(Linger)
      4. 如何清除
      5. 测试
  2. 常见组件
    1. Poller轮询
      1. 轮询对象
      2. 应用目标1:提高效率
      3. 应用目标2:数据正确性校验
      4. 示例代码:接收消息
      5. 示例代码:发送消息
      6. 计时器
      7. 新增和移除socket对象和计时器对象
      8. 处理轮询
      9. 复杂示例
      10. 性能
      11. 深度阅读
    2. Actor行动者模型
      1. NetMQ行动者模型
      2. 什么是行动者模型
      3. 多线程数据共享
      4. 行动者模型
      5. 行动者模型示例
    3. Beacon灯塔对象
      1. 灯塔对象
      2. 示例:实现总线
      3. 深度阅读
    4. Timer计时器
      1. 计时器
    5. Queue队列
      1. 队列
    6. Proactor前摄器模型
      1. 前摄器
  3. 常见的几种模式:
    1. Request/Response 请求响应模式
      1. Request/Response说明
      2. 怎么用?
      3. 请求响应-一种阻塞的通信方式
    2. Pub/Sub推送订阅模式
      1. 推送和订阅
      2. 订阅的主题Topics
      3. 订阅顺序
      4. 示例
      5. 其他注意事项
      6. 高缓冲池High water mark
      7. 慢速订阅者Slow subscribers
      8. 后进订阅者Late joining subscribers
    3. Push/Pull 推拉模式
      1. 推送和拉取
      2. 进气门对象-Ventilator
      3. 工作者对象-Worker
      4. Sink对象
      5. 示例
    4. Router-Dealer 路由-点对点模式
      1. 路由和点对点
      2. 路由套接字
      3. 点对点套接字
      4. 示例
    5. XSub-XPub 超级订阅分发模式
      1. 超级订阅者/发布者
      2. 示例
2、高级模式:

 

基于.NET框架的消息通信组件ZMQ资料汇编-总目录的更多相关文章

  1. ZeroMQ——一个轻量级的消息通信组件

    ZeroMQ是一个轻量级的消息通信组件,尽管名字中包含了"MQ",严格上来讲ZeroMQ并不是"消息队列/消息中间件".ZeroMQ是一个传输层API库, 更关 ...

  2. ZeroMQ——一个轻量级的消息通信组件 C#

    ZeroMQ——一个轻量级的消息通信组件 ZeroMQ是一个轻量级的消息通信组件,尽管名字中包含了"MQ",严格上来讲ZeroMQ并不是"消息队列/消息中间件" ...

  3. 过年了,基于Vue做一个消息通知组件

    前言 今天除夕,在这里祝大家新年快乐!!!今天在这个特别的日子里我们做一个消息通知组件,好,我们开始行动起来吧!!!项目一览 效果很简单,就是这种的小卡片似的效果. 我们先开始写UI页面,可自定义消息 ...

  4. 基于DDD的现代ASP.NET开发框架--ABP系列文章总目录

    ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视频:ABP架构设计交流群-7月18日上海线下交流会的内容分享(有高清录像视频的链接) 代码自动生成: ...

  5. 基于DDD的现代ASP.NET开发框架--ABP系列文章总目录(转)

    出处:http://www.cnblogs.com/mienreal/p/4528470.html ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视 ...

  6. Asp.net 面向接口可扩展框架之消息队列组件

    消息队列对大多数人应该比较陌生.但是要提到MQ听说过的人会多很多.MQ就是英文单词"Message queue"的缩写,翻译成中文就是消息队列(我英语差,翻译错了请告知). PS: ...

  7. C++对象间通信组件,让C++对象“无障碍交流”

    介绍 这是很久之前的一个项目了,最近刚好有些时间,就来总结一下吧! 推荐初步熟悉项目后阅读本文: https://gitee.com/smalldyy/easy-msg-cpp 从何而来 这要从我从事 ...

  8. 基于scrapy框架输入关键字爬取有关贴吧帖子

    基于scrapy框架输入关键字爬取有关贴吧帖子 站点分析 首先进入一个贴吧,要想达到输入关键词爬取爬取指定贴吧,必然需要利用搜索引擎 点进看到有四种搜索方式,分别试一次,观察url变化 我们得知: 搜 ...

  9. 分享一个Linux C++消息通信框架TCPSHM

    由于本人从事行业关系,Linux环境下的低延迟通信是我关注的技术之一.要达到极端的低延迟,当然同机器内IPC比网络通信快,而Linux IPC方式中无疑是共享内存延迟最低.不过相对于TCP这种通用的通 ...

随机推荐

  1. java webservice生成客户端代码并调用

    wsimport简介 在JDK的bin文件夹中,有一个wsimport.exe工具,可依据wsdl文件生成相应的类文件,将生存在本地这些类文件拷贝到需要使用的项目中,就可以像调用本地的类一样调用web ...

  2. 初学html,任务2:写一个简单的登陆/注册界面

    先在body中把最基础的标签写出来 现在页面运行出来是这样的 就是一个没有任何样式的基础界面: 接下来我们为这些标签加上样式 首先还是让页面所有元素的padding和margin都设置为0, 清除浏览 ...

  3. Springboot访问静态资源

    转载 http://blog.csdn.net/catoop/article/details/50501706

  4. 关于python的感想和turtle作图

    第一次知道有python这个东西是在去年七月份,就是一堆编程语言,当时我想它应该离我很远,也没对它有什么兴趣.直到在三月份的某一天我真正接触了它,其实也不是我主动,环境下学期必须学这东西.我有它的必修 ...

  5. python3 第二十八章 - 内置函数之List相关

    Python包含以下函数: 序号 函数 实例 1 list.append(obj)在列表末尾添加新的对象   2 list.count(obj)统计某个元素在列表中出现的次数   3 list.ext ...

  6. 解决Ubuntu 16.04 上Android Studio2.3上面运行APP时提示DELETE_FAILED_INTERNAL_ERROR Error while Installing APKs的问题

    本人工作环境:Ubuntu 16.04 LTS + Android Studio 2.3 AVD启动之后,运行APP,报错提示: DELETE_FAILED_INTERNAL_ERROR Error ...

  7. idea启动springboot+jsp项目出现404

    场景:用IntelliJ IDEA 启动 springBoot项目访问出现404,很皮,因为我用eclipse开发时都是正常的,找了很久,什么加注释掉<scope>provided< ...

  8. 今天我给你们推荐一本书《Linux就该这么学》!!!

    本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材,目前是国内最值得去读的Linux教材,也是最有价值 ...

  9. 周报数据采集之生存图片(execl方法)

    https://blog.csdn.net/Luzaofa/article/details/81675364 Python之Excel chart另存为图片大家好,好久没有更新博客了,这一段时间有点忙 ...

  10. Python_day7

    sys模块 import sys def _add(a, b): return a + b def _sub(a, b): return a - b def _mul(a, b): return a ...