热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

高性能通信库NanoMsg框架详解与应用概述

本文详细解析了高性能通信库NanoMsg的框架及其应用场景。其中,BUS模式支持多对多的简单通信方式,消息会传递给所有直接连接的节点。REQREP模式则适用于构建无状态的服务集群,用于处理用户的请求,每个请求都需要一个相应的响应。

NanoMsg简介:
NanoMsg是一个Socket的通讯库,使用C语言编写实现的,这样就可以适用于多种操作系统,而且几乎不需要什么依赖,可扩展并且能易于使用。
Nanomsg提供了几种常见的通信模式 ( 也称为“可扩展性协议” ) 是构建分布式系统的基本框架。 通过组合它们,可以创建广 泛的分布式应用程序。

可扩展性协议类型

类型说明PAIR简单的一对一沟通BUS简单的多对多通信REQREP允许构建无状态集群来处理用户请求PUBSUB将消息分发给订阅消息的用户PIPELINE汇总来自多个来源的消息,并在许多目的点之间进行负载平衡SURVEY允许一次查询多个应用程序的状态

1、PAIR模式:
简单的一对一沟通,Client1只能同时连接Client2,通讯时的send是不阻塞的,而recv是阻塞的,直到recv超时或者接到到对方的send。

2、BUS模式:
简单的多对多通信,在此模式中,消息被发送到每个直接连接的对等点。

3、REQREP模式:
允许构建集群的无状态服务来处理用户请求。每个req请求都需要rep响应,类似http协议(一应一答)。

4、PUBSUB模式:
发布者向订阅者推送消息。只有订阅该频道的订阅者才能收到该频道的消息。

5、PIPELINE模式:
聚合来自多个来源的消息,并在多个目的地之间进行负载平衡。Client1只能send,Client2只能recv。

6、SURVEY模式:
查询多个应用的状态。这种模式对于服务发现和投票算法非常有用。

支持的传输机制

名称说明INPROC进程内的传输(线程,模块等之间)IPC在单个机器上的进程间传输TCP通过TCP的网络传输

链接: NanoMsg源码地址.

参考网址:
https://www.oschina.net/p/nanomsg ;
https://my.oschina.net/u/4582134/blog/4378097 ;

快三大小单双稳赚买法类似http协议(一应一答)。

4、PUBSUB模式:
发布者向订阅者推送消息。只有订阅该频道的订阅者才能收到该频道的消息。

5、PIPELINE模式:
聚合来自多个来源的消息,并在多个目的地之间进行负载平衡。Client1只能send,Client2只能recv。

6、SURVEY模式:
查询多个应用的状态。这种模式对于服务发现和投票算法非常有用。

支持的传输机制

名称说明INPROC进程内的传输(线程,模块等之间)IPC在单个机器上的进程间传输TCP通过TCP的网络传输

链接: NanoMsg源码地址.

参考网址:
https://www.oschina.net/p/nanomsg ;
https://my.oschina.net/u/4582134/blog/4378097 ;


推荐阅读
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • 实践指南:使用Express、Create React App与MongoDB搭建React开发环境
    本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ... [详细]
  • 对象存储与块存储、文件存储等对比
    看到一篇文档,讲对象存储,好奇,搜索文章,摘抄,学习记录!背景:传统存储在面对海量非结构化数据时,在存储、分享与容灾上面临很大的挑战,主要表现在以下几个方面:传统存储并非为非结 ... [详细]
  • 【转】强大的矩阵奇异值分解(SVD)及其应用
    在工程实践中,经常要对大矩阵进行计算,除了使用分布式处理方法以外,就是通过理论方法,对矩阵降维。一下文章,我在 ... [详细]
  • 如题:2017年10月分析:还记得在没有智能手机的年代大概就是12年前吧,手机上都会有WAP浏览器。当时没接触网络原理,也不 ... [详细]
  • 深入理解云计算与大数据技术
    本文详细探讨了云计算与大数据技术的关键知识点,包括大数据处理平台、社会网络大数据、城市大数据、工业大数据、教育大数据、数据开放与共享的应用,以及搜索引擎与Web挖掘、推荐技术的研究及应用。文章还涵盖了云计算的基础概念、特点和服务类型分类。 ... [详细]
  • 【小白学习C++ 教程】二十三、如何安装和使用 C++ 标准库
    【小白学习C++ 教程】二十三、如何安装和使用 C++ 标准库 ... [详细]
  • 原文地址:https:blog.csdn.netqq_35361471articledetails84715491原文地址:https:blog.cs ... [详细]
  • 本文介绍了如何利用X_CORBA实现远程对象调用,并通过多个示例程序展示了其功能与应用,包括基础的Hello World示例、文件传输工具以及一个完整的聊天系统。 ... [详细]
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文旨在探讨设计模式在Visual FoxPro (VFP) 中的应用可能性。虽然VFP作为一种支持面向对象编程(xbase语言)的工具,其OO特性相对简明,缺乏高级语言如Java、C++等提供的复杂特性,但设计模式作为一种通用的解决方案框架,是否能有效应用于VFP,值得深入研究。 ... [详细]
  • 本文详细介绍了如何使用Heartbeat构建一个高可用性的Apache集群,包括安装、配置和测试步骤。 ... [详细]
  • 深入解析Python进程间通信:Queue与Pipe的应用
    本文详细探讨了Python中进程间通信的两种常用方法——Queue和Pipe,并通过具体示例介绍了它们的基本概念、使用方法及注意事项。 ... [详细]
  • 本文详细记录了 MIT 6.824 课程中 MapReduce 实验的开发过程,包括环境搭建、实验步骤和具体实现方法。 ... [详细]
  • 自动驾驶中的9种传感器融合算法
    来源丨AI修炼之路在自动驾驶汽车中,传感器融合是融合来自多个传感器数据的过程。该步骤在机器人技术中是强制性的,因为它提供了更高的可靠性、冗余性以及最终的 ... [详细]
author-avatar
sdfasdfqg
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有