通信的设计空间

1. 无连接和面向连接的对比

取舍的主要方面包括延迟,可伸缩性和可靠性
无连接协议:UDP,IP
面向连接:TCP

1.1 数据组帧策略

面向消息的传送策略:TP4和XTP
字节流:TCP

1.2 连接的多路复用策略

多路复用的:节省OS诸如句柄等资源,编程难度更高,效率更低,不确定性更大。
非多用复用的:优先级可以更好的控制,较低的同步开销,更多的OS资源。

2.同步和异步的消息交换对比

取舍因素:
1.请求之间的关联性
2.底层协议或通信介质的延迟

2.1 适用于同步请求

  • 当请求的结果决定了后续的请求
  • 当用户交换的信息需要在低延迟网络中做短时间处理
  • 当实现的简易性或小量的协议交换比可能的性能提升更需要优先考虑时

2.2 适用于异步请求

  • 在决定后续的请求之前不需要某种响应的时候
  • 当通信延迟与请求所要求的处理时间高度相关的时候
时间: 2024-10-11 13:24:44

通信的设计空间的相关文章

ACE之通信的设计空间

本篇文章主要介绍 .无连接的和面向连接的协议之间的对比 .同步的和异步的消息交换之间的对比. .消息传递和共享内存之间的对比. 1:无连接和面向连接的协议对比 协议(protocol)是指一组规则,这些规则指明控制和数据信息如何在通信实体之间进行交换,比如说网络计算机环境内部做交互的应用进程这样的通信实体之间进行交换,协议通常分为无连接和面向连接的,在这一空间中需要做权衡取舍的方面主要包括延迟.可伸缩性和可靠性. 无连接的协议提供了一种面向消息的服务,在这一服务中,每个消息都可以独立做路由和派发

Modbus RTU 通信工具设计(转)

Modbus RTU 通信工具设计 Modbus 是一个工业上常用的通讯协议.一种通讯约定. ModBus 协议是应用层报文传输协议(OSI 模型第7层),它定义了一个与通信层无关的协议数据单元(PDU),即PDU=功能码+数据域. ModBus 协议能够应用在不同类型的总线或网络.对应不同的总线或网络,Modbus 协议引入一些附加域映射成应用数据单元(ADU),即ADU=附加域+PDU.目前,Modbus 有下列三种通信方式: 1.    以太网,对应的通信模式是Modbus TCP. 2.

移动端与服务端通信流程设计

转自:http://blog.snsgou.com/post-766.html 针对 --->非开放性平台 --->公司内部产品 接口特点汇总: 1.因为是非开放性的,所以所有的接口都是封闭的,只对公司内部的产品有效: 2.因为是非开放性的,所以OAuth那套协议是行不通的,因为没有中间用户的授权过程: 3.有点接口需要用户登录才能访问: 4.有点接口不需要用户登录就可访问: 针对以上特点,移动端与服务端的通信就需要2把钥匙,即2个token. 第一个token是针对接口的(api_token

移动端与PHP服务端接口通信流程设计(增强版)

增强地方一: 再增加2张表,一个接口表,一个授权表,设计参考如下: 接口表 字段名 字段类型 注释 api_id int 接口ID api_name varchar(120) 接口名,以"/"作为分割线,如 blog/Index/addBlog api_domain varchar(256) 所属领域 is_enabled tinyint(1) 是否可用  1:可用 0:不可用 add_time int 添加时间(戳) (注:只列出了核心字段,其它的再扩展吧!!!) 授权表 字段名 字

distri.lua线程间通信的设计

首先简单介绍下distri.lua中的线程设计方案. distri.lua提供一个API函数fork用于创建新的C线程,这个C线程运行独立的lua虚拟机,为了在各线程之间通信 每个线程都会创建一个channel,用于接收其它线程发送过来的消息. 这个channel内部实现为单向链表,为了将channel的处理与网络消息处理接口合并,channel使用tls为每个单 独的 线程创建一个管道,这个管道被添加到proactor中监听,如果一个线程尝试从channel中读消息,而消息队 列为空,就 将这

Windows进程通信-共享内存空间

三个模块 1,game.exe,三个方法,控制台输入指令('A','B','R')分别控制三个方法的调用: 2,WGDll.dll,要注入到game进程中的dll文件: 3,myconsole.exe,用来注入dll文件的程序: 先开启game进程,然后用myconsole把dll注入到game,dll模块和myconsole模块利用共享内存实现进程通信,在myconsole的控制台输入指令,dllmokuai接受指令,调用game模块的方法,达到控制game的目的 game模块 #includ

设计原则二:空间和图底关系

设计原则系列文章的第二篇,主要讲留白空间和图底关系.这两个原则都来源于格式塔理论,可见格式塔的重要性.分享知识,是我们一直坚持的理念并会一直坚持下去. 设计原则二:空间和图底关系 如果你见过平面设计在画布上绘制图形的过程,那么你紧紧是见到你工作的一部分内容.画布上的负空间和我们在画布上绘制元素的正形空间同样重要. 设计就是处理形状和空间两者之间关系.为了更有效的利用空间,首先你必须意识到它,并且学会看它.就是学会如何看空间中的图形,空间的形式和空间与空间之间是如何交流的.这是初学者要学习和了解的

Linux与Windows串口通信

串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛.现在国际上不断有串口新技术及新规格推出,结合社会各方面需要,串口通信发展的空间庞大.串口通讯技术因其自身的优势和特性,及计算机技术的广泛应用深入到生活和生产的各个领域,世界上数以亿计的通讯设备都以串口通讯的方式.在进行着数据的传输.在一个应用系统中,同时使用Windows和Linux操作系统,合理地分配资源,各取所长,是实现系统高性能的有效途径.为了使两个不同操作系统能协同工作,实现资源和数据共享,需要在两者

设计课题,中间件方案,ACE

网络程序复杂性 固有复杂性,由所在领域存在的主要难题造成 选择合适的通信机制,并设计良好的协议来有效使用这些机制 有效使用并发机制,使系统获得可预计的,可靠的高性能 设计合理网络服务,以有效利用现有计算资源,并降低将来的维护成本 管理和配置服务,以获得最大程度的系统可用性和灵活性 偶发复杂性,源自开发网络应用软件时使用的工具和技术 缺乏类型安全,可移植,可扩充的原始os api 算法分解的广泛使用,无谓地造成网络应用程序在维护和扩充的困难 网络应用中,核心概念和功能的不断发现和创造,造成软件生命