0

在我的一个项目中,我们选择使用 Chronicle Map 作为底层数据结构,用于在不同托管服务器的不同微服务之间存储和共享数据。

我们的想法是我们使用 createOrPersist(File file) 方法创建一个 Chronicle Map Store 并将持久化文件保存在网络存储上,当其中一个微服务执行 PUT 操作时,该条目将被持久化(同步)​​到持久化文件中,然后另一个微服务可以稍后获取条目,获取 PUT 和 GET 操作可能相隔几分钟。

通过学习教程,我们了解到数据复制仅在 Chronicle Map Enterprise 版本中可用,我们使用的是开源版本。有人能提出上述方法是否切实可行吗?

另外,如果共享持久化文件的方式无法达到我们的预期,我们是否可以使用chronicle map 结合chronicle engine 来实现跨微服务的数据共享?

4

1 回答 1

1

Chronicle Map 通过将整个文件映射到内存来工作。我不确定网络存储是否支持mmap,但即使支持,我怀疑这种设计在性能和复制一致性方面会非常有效。

另外,如果共享持久化文件的方式无法达到我们的预期,我们是否可以使用chronicle map 结合chronicle engine 来实现跨微服务的数据共享?

除非您自己编写和支持复制代码,否则实际上我认为您必须为 Chronicle Enterprise 付费。如果你需要一个久经考验的、开源的、社区支持的复制键值存储,像 Redis Cluster 这样的东西可能是一个更好的选择,尽管它的效率可能不如 Chronicle Map。

于 2018-06-25T12:31:58.160 回答