我可以使用消息系统的 CorrelationId 作为主键吗?它可以用于进一步的通信吗?
Can I use messaging system's CorrelationId as a primary key and can it be used for further communcation
这是我创建记录的数据流系统架构。
客户端 ====> RabbitMQ ====>(RESTful 服务,也监听 RabbitMq)
但是,客户端也可以通过 REST 端点直接访问 RESTful 服务以获取记录。
为了唯一标识一条记录,客户端发送"CorrelationId"(一个UUID/GUID)。由于客户端生成 GUID,客户端可以使用相同的 GUID 作为资源标识符来访问来自 RESTful 服务的资源吗?
我知道,GUID 是 32 个字符长的标识符。有点奇怪,除此之外你还看到任何 RESTful 设计模式违规吗?
请建议我推荐的方法。
谢谢,
潘迪亚拉詹
允许 GUID 作为资源的唯一标识符没有问题。 REST 没有说明 URI 应该是什么样子。有一些权衡(人类可读性更差,更安全),但在大多数情况下没有什么特别引人注目的。所以当然,如果这是你应该做的正确的事情,那就去做吧。
这是我创建记录的数据流系统架构。
客户端 ====> RabbitMQ ====>(RESTful 服务,也监听 RabbitMq)
但是,客户端也可以通过 REST 端点直接访问 RESTful 服务以获取记录。
为了唯一标识一条记录,客户端发送"CorrelationId"(一个UUID/GUID)。由于客户端生成 GUID,客户端可以使用相同的 GUID 作为资源标识符来访问来自 RESTful 服务的资源吗?
我知道,GUID 是 32 个字符长的标识符。有点奇怪,除此之外你还看到任何 RESTful 设计模式违规吗?
请建议我推荐的方法。
谢谢, 潘迪亚拉詹
允许 GUID 作为资源的唯一标识符没有问题。 REST 没有说明 URI 应该是什么样子。有一些权衡(人类可读性更差,更安全),但在大多数情况下没有什么特别引人注目的。所以当然,如果这是你应该做的正确的事情,那就去做吧。