服务设计模式-客户端与服务之间的交互(请求/响应模式)
来源:互联网 发布:dcs编程教程 编辑:程序博客网 时间:2024/05/13 15:25
交互方式:客户端与Web服务进行通信的最基本方式就是通过点对点连接
交互模式:
模式名称描述请求/响应模式当服务接收到请求时,就开始处理,并通过同一个客户端连接来返回结果请求/确认模式当服务接收到请求时,先将请求转发至一个后台进程,并返回一个确认消息给客户端,该确认消息中包含一个唯一的请求标识符(方便客户端获取处理结果)媒体类型协商模式允许客户端在HTTP请求头中指定一种或多种媒体类型首选项,将请求发送到服务之后,服务能够按照预设的格式(JSON,XML等等)生成响应并返回链接服务模式只发布少数几个根Web服务地址,并在响应中包含相关服务地址,客户端通过解析响应,能够发现后续服务的URI请求/响应模式:
适用范围:处理请求和返回响应平均时间比较短暂,客户端也能接受响应丢失的情况,例如:天气预报,获取当期显示时间等
考虑因素:
1.时间耦合:在请求/响应模式下,客户端假设服务接收到请求总能完成处理,处理完成也总能返回响应,但是如果服务所在的系统奔溃了或大并发导致系统资源耗尽请求超时或者维护停机了等等人为的,非人为的因素导致客户端请求被拒绝。这种情况就突出了请求/响应模式时间耦合或时间依赖的影响,因为必须立即处理请求并无延迟的返回响应,所以时间耦合度高。在可用性和可伸缩性方面可以考虑用请求/确认/客户端轮询或请求/确认/回调之类的模式加以解决。
2.客户端阻塞
默认情况下请求/响应模式的客户端会阻塞,等待服务响应。使用异步处理器客户端就能解决这个问题,这种方式能让客户端通过另外一个线程来分发请求和接收响应,该线程独立于主客户端线程。
3.中介
请求/响应模式设计客户端和服务之间的点对点连接,除此之外,二者之间还存在各种中介。例如,可用代理服务器缓存客户端请求资源,当请求通过代理时,代理会检查请求的数据是否在其缓存中,有则直接返回。防火墙也是一种中介,用于阻止或过滤网络流量,检查客户端证书(如果客户端不具备指定证书,则阻塞请求)。
4.请求/响应模式与RPC
请求/响应模式与RPC(远程过程调用)虽然某些方面相似,但是存在一些重要差别。RPC技术调用完远程过程,客户端会等待响应。而请求/响应模式则可以利用异步处理器。
0 0
- 服务设计模式-客户端与服务之间的交互(请求/响应模式)
- 服务设计的原则:服务模式与反模式
- 服务设计的原则:服务模式与反模式
- 服务设计的原则:服务模式与反模式
- 服务设计模式-请求/确认模式
- windows 服务与系统托盘之间的交互
- windows 服务与系统托盘之间的交互
- 与接口相关的设计模式(1):定制服务模式和适配器模式详解
- 设计模式(31)--服务定位模式
- Silverlight与WCF之间的通信(1)SL客户端定时请求WCF服务
- 一切都是消息”--MSF(消息服务框架)之【请求-响应】模式
- 服务设计模式
- 设计模式系列16---响应请求的责任链模式
- 专用服务器模式和共享服务模式之间的转换
- 初探ZeroMQ(五) 请求-响应模式的各种可靠性设计
- Servlet请求响应的模式
- RabbitMQ 的请求/响应模式
- 请求-响应的实现模式
- 聊聊HTTPS和SSL/TLS协议
- Solr4.10使用教程(一):solr整合tomcat方法一
- JOIN操作及优化
- Oracle10g数据库备份与恢复总结2--Oracle备份与恢复之逻辑备份--exp/imp
- chrome不能断点调试的解决方法
- 服务设计模式-客户端与服务之间的交互(请求/响应模式)
- Notification通知实现自定义和带进度条
- 签名后无法安装,提示“该应用版本与您手机中的版本签名不一致”解决办法
- pci 学习笔记
- 数据库错误:Insert error 1064
- 【转】Opencv2系列学习笔记10(提取连通区域轮廓)
- linux安装完之后需要做的配置
- android 布局页面文件出错故障排除Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V
- 各类 HTTP 返回状态代码详解