通信风格、协议与架构模式全面解析
1. 通信风格与协议概述
在应用设计中,通信协议和其承载的数据格式虽然并非设计模式,但却是应用设计策略中需要确定和遵循的关键要素,尤其在涉及跨进程或机器边界通信的架构里,它们更是基础组成部分,在现代基于云的实现架构中,更需谨慎考量。
2. 同步与异步通信
在企业应用环境中,主要有同步和异步两种通信模式:
- 同步通信 :在 C# 代码里,通过 REST 或 RPC 方法调用 Web 服务时,客户端代码可能使用异步调用以避免等待网络调用的 I/O 完成,但本质上客户端与服务器之间的调用仍是同步的,且受发送和接收超时限制,默认通常为 60 秒。
- 异步通信 :当服务器进程需要长时间处理某些请求,或者存在需要以推拉方式工作、消费者要处理多个基于事件的任务并在多台机器上并行执行的需求时,就需要一种不同的通信模式。这种模式不立即期望响应,而是以非等待、非繁忙的异步方式最终完成任务。异步通信模式需要第三方(即中间件)来调度客户端(请求者)和服务器(执行者)之间的调用。
3. 标准通信协议
以下是常见通信模式所使用的标准协议:
| 通信模式 | 标准协议 | 流行数据格式 |
| ---- | ---- | ---- |
| 同步请求/响应 | HTTPS、WebSockets | XML、JSON、gRPC 与协议缓冲区 |
| 异步消费者/生产者 | 高级消息队列协议(AMQP)、Java 消息服务(JMS)、消息队列遥测传输(MQTT) | XML、JSON、二进制 |
超级会员免费看
订阅专栏 解锁全文
1079

被折叠的 条评论
为什么被折叠?



