我想设计一个微服务。目标是保存和提供变量集:
1套由几个变量组成:
Float
String
Date
每个集合都有一个预定义的变量列表:( height,name,birthDate)具有不同的类型,总是相同的列表。但是,列表有时会发生变化,我们不想编写新代码然后构建,然后每次我们这样做时都要部署它。理想情况下,此列表也将存储在数据库中。
此外,一组必须具有对存储在微服务之外的对象的引用。我们假设一个集合与一个User
相关联,因此我们必须在某处保留用户标识符。
问题是:我知道SQL数据库,我已经明白它们不适合这类问题(这不是不可能,只是丑陋)。那么我还有其他解决方案吗?
答案 0 :(得分:2)
我相信你要找的东西是schemaless database:
在那里的混凝土产品上 - 选择一个适合您需求的产品。一些例子:
您示例的可能解决方案:
您可能想要存储的json可能如下所示:
{
"set_id":"someid",
"owner":"usrid",
"properties":
{
"height":2.5,
"name":"somename",
"birtDate":date,
...
}
}
现在,根据您需要对应用程序逻辑中的数据执行的操作,您必须将属性映射到您的语言/程序可以处理的内容,您尝试将这些键/值通用,即不对他们强制执行任何架构 - 如果这是可行的!