我应该在微服务架构项目中的哪里放置转换逻辑整数-标签?

时间:2019-04-18 14:57:53

标签: database rest architecture microservices

我正在从事微服务项目。该项目涉及为给定的数据集计算各种标签并将其存储在数据库中。为了优化对数据库的查询,我应该将标签存储为整数,并具有转换逻辑,例如数据库上的映射或枚举。出现的问题是,在将标签存储到数据库之前,用户可以添加原始模型中不存在的新标签,并将其存储在数据库中。

当前,需要此逻辑的微服务是:

ms-entrypoint,一种通过REST API和WebSocket与前端进行交互的微服务。之所以需要进行转换,是因为前端可能会发送新标签或修改检测到的标签,也因为前端需要人类可读格式的标签(而不是整数)。

ms-detection,一种微服务,它将接收人为确认的标签并将其存储在数据库中,并公开REST api以在给定的数据库上运行查询。因此,它必须以标签格式(从发送请求的前端)接收它们,并以整数格式保存它们。然后在查询数据库时执行相反的操作。

我应该在哪里以及如何开发此查找逻辑?拥有单个数据库/集合来满足这种习惯,这似乎是一种不良做法,违反了每个微服务模式的数据库。在公共库中也没有枚举是不可能的,因为可以在运行时添加新标签

0 个答案:

没有答案