gpt4 book ai didi

java - 微服务和消息传递 : Message Content

转载 作者:行者123 更新时间:2023-12-01 09:20:08 25 4
gpt4 key购买 nike

我正在构建一个由多个微服务组成的应用程序。其中一个名为 Hera 的微服务负责管理用户。另一个微服务管理授权和身份验证。该微服务称为 Zeus,是 Spring OAuth 2.0 的实现。

当在 Hera 中创建、更新或删除用户时,我想通过 RabbitMQ 将某些信息复制到 Zeus。此信息包括用户名、用户类型(枚举)和指示用户是否启用的标志。

我已经设置了 RabbitMQ 并且一切正常。我唯一不确定的是消息正文内容。这些信息应该如何打包在消息中?例如,我是否应该创建一个包含具有所需属性的 POJO 的 Maven 项目,该项目将被编码并通过 RabbitMQ 发送,并在 Hera 和 Zeus 中添加对此项目的依赖项?或者我应该将此信息添加为普通属性列表?

我找不到关于此主题的任何最佳实践或指南,所以我向您询问。

提前谢谢您!

最佳答案

我会使用 DTO 的通用库,但您需要具有容忍性并允许版本差异的序列化,例如处理添加/删除的字段或数据类型的更改。如果您共享代码,则必须允许代码在每个服务中运行不同的版本,这样当您升级一项服务时,就不会被迫更新任何其他服务。

关于java - 微服务和消息传递 : Message Content,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40216362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com