服务间的有效通信
1. 通信模式
在服务通信中,存在异步和同步等多种模式,下面为你详细介绍。
- 异步通信 :客户端向远程服务请求特定功能时,无需等待响应,但关注结果。异步通信如同日常生活中做早餐,可同时进行准备茶、煮鸡蛋等多项任务。例如在一个虚构的应用中添加产品,用户指示系统操作并传递数据到控制器,控制器调用存储库,利用实体框架上下文保存数据。
- 协作风格 :服务间的协作风格主要有请求/响应和基于事件两种。
- 请求/响应 :客户端发送请求并等待服务器响应,这既可以是同步通信的实现,也可用于异步通信。例如之前开发的 ProductService 中的 GetProduct 方法是同步的,客户端调用时需等待响应:
[HttpGet]
[Route("GetProduct")]
public IActionResult Get() =>
return new OkObjectResult(_productRepository.GetAll().ToViewModel());
还有另一个方法`GetIsStillSynchronous`,虽使用了异步方法,但因使用了`task.Result.ToViewModel()`,实际仍是同步的:
[HttpGet]
[Route("Ge
超级会员免费看
订阅专栏 解锁全文

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



