microservices - 如何使用异步请求/响应响应状态代码?

标签 microservices saga event-driven

您好,我正在尝试制作一个玩具项目,并使用 Saga Orchestrator 和 kafka 制作了 SignUp API。
当成功时我需要响应 JWT token 给客户端。
当我创建处于 PENDING 状态的用户时,我需要响应请求并向其他服务发送 kafka 消息。
当其他服务成功时,用户服务将其状态更新为 CREATED。
但我不知道如何向客户端响应http状态代码和响应正文。
如何向客户发送回复?

下面是我的流程图 enter image description here

最佳答案

如果您的请求以异步方式处理(例如Kafka、RabbitMQ等),理想的解决方案是使用HTTP 200 Accepted HTTP 204 无内容 响应。

这些状态代码表明您的请求有效并且已被接受,但是,您当然不需要发送响应正文作为返回!

最多,如果您返回一个包含 JSON 或 XML 或文本消息的响应就足够了......

Http 200/204

{

"success": "your request is processing..."

}

您可以在此处阅读有关响应代码的信息 https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200

关于microservices - 如何使用异步请求/响应响应状态代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72441242/

相关文章:

c# - 我的 Saga 结构是正确的解决方案吗? (N服务总线)

masstransit - 如何在不使用 Guid 的情况下关联大众运输状态机中的事件?

c - 在 libev 事件回调函数中调用阻塞函数是否会阻塞整个应用程序?

architecture - 如何处理事件驱动架构中缺乏无限保留的问题?

spring - 具有自己的 UI 和 Spring 和 Thymeleaf 的微服务

java - 如何将信息日志记录到一个文件并将错误日志记录到另一个文件

java - 如何高效处理Spring Boot微服务?

docker - 一项微服务执行许多转换还是许多微服务执行一项转换?

apache-kafka - 在 Kafka 上构建流程时最大限度地减少故障而不影响恢复

callback - 在 Rust 中实现多个可变(静态分配、静态分派(dispatch)等)回调的正确方法是什么?