我们的多租户数据提取平台的初始用例是提取RSS数据,文件元数据和SQL查询结果。为此,选择ElasticSearch作为数据存储,选择Kafka作为微服务消息代理。
新的流媒体,低延迟和时间序列数据是另一项要求。因此,ElasticSearch不支持Aerospike或InfluxDB。
最初的计划是将用户帐户和配置数据放入ElasticSearch索引/主题,因为我想在ES中拥有所有内容。
根据我们不断增长的需求,我可以看到根据用例,我们可能有各种不同的数据库类型。继续将这些信息存储在ES中仍然是一个好主意吗?
使用Kafka作为微服务总线。
答案 0 :(得分:0)
由于您要求使用Kafka标签,我假设无论用例及其数据存储如何,都肯定会使用Kafka。
那么为什么不在Kafka中存储用户配置呢?
这听起来像是一个相当小的主题,因此您可以将保留期设置为100年或类似的东西。如果您希望经常更改用户配置,则可以将其设置为压缩主题。现在当你的微服务启动时,他们只需要阅读这个主题并将配置存储在他们的内存中。这将使您可以灵活地为应用程序数据选择正确的数据存储,而无需担心配置过多。