52 lines
2.0 KiB
C#
52 lines
2.0 KiB
C#
using MicoService.Demo.DTOs;
|
|
|
|
namespace MicoService.Demo.Services
|
|
{
|
|
/// <summary>
|
|
/// ============================================================
|
|
/// Point-to-Point 通信模式示例 - 发送服务
|
|
/// ============================================================
|
|
///
|
|
/// 服务特点:
|
|
///
|
|
/// 1. 使用 IBus.Send() 发送单向消息
|
|
/// - 不等待响应,消息发送后立即返回
|
|
/// - 提高性能,减少等待时间
|
|
///
|
|
/// 2. 与 Request-Response 的区别
|
|
/// - Request-Response: 使用 IRequestClient.GetResponse<T>(),等待响应
|
|
/// - Point-to-Point: 使用 IBus.Send(),不等待响应
|
|
///
|
|
/// 3. 使用场景
|
|
/// - 订单创建后异步通知库存服务
|
|
/// - 不需要立即知道处理结果的场景
|
|
/// - 对性能要求较高的场景
|
|
///
|
|
/// 4. 消息可靠性
|
|
/// - 消息持久化保证消息不丢失
|
|
/// - 死信队列处理失败的消息
|
|
/// - 重试机制处理临时性错误
|
|
///
|
|
/// ============================================================
|
|
public interface IOrderInventoryNotificationService
|
|
{
|
|
/// <summary>
|
|
/// 发送订单创建通知(不等待响应)
|
|
/// </summary>
|
|
/// <param name="orderId">订单ID</param>
|
|
/// <param name="userId">用户ID</param>
|
|
/// <param name="items">订单项列表</param>
|
|
/// <returns>异步任务</returns>
|
|
Task SendOrderCreatedNotificationAsync(string orderId, string userId, List<OrderItemResponseDto> items);
|
|
|
|
/// <summary>
|
|
/// 发送订单取消通知(不等待响应)
|
|
/// </summary>
|
|
/// <param name="orderId">订单ID</param>
|
|
/// <param name="userId">用户ID</param>
|
|
/// <param name="items">订单项列表</param>
|
|
/// <returns>异步任务</returns>
|
|
Task SendOrderCancelledNotificationAsync(string orderId, string userId, List<OrderItemResponseDto> items);
|
|
}
|
|
}
|