使用 Chronicle Map 作为微服务间数据共享的手段
Use Chronicle Map as a means of data sharing among micro services
在我的一个项目中,我们选择使用 Chronicle Map 作为底层数据结构,用于跨不同托管服务器的不同微服务之间存储和共享数据。
我们的想法是我们使用 createOrPersist(File file) 方法创建一个 Chronicle Map Store 并将持久化文件保存在网络存储上,当其中一个微服务执行 PUT 操作时,条目将被持久化(同步)到快速持久化文件,然后另一个微服务可以稍后获取条目,获取 PUT 和 GET 操作可能相隔几分钟。
看了教程,我们了解到只有Chronicle Map企业版才支持数据复制,我们使用的是开源版。任何人都可以建议上述方法是否切实可行?
另外如果共享持久化文件的方式达不到我们的预期,是否可以使用chronicle map结合chronicle engine来实现跨微服务的数据共享?
Chronicle Map 的工作原理是将整个文件映射到内存中。我不确定网络存储是否完全支持 mmap
,但即使支持,我怀疑这种设计在性能和复制一致性方面会非常糟糕。
Also If the shared persisted file approach would not achieve what we expected, can we use chronicle map combine with chronicle engine to fulfil the data sharing across microservices?
除非您愿意自己编写和支持复制代码,否则实际上我认为您必须在那里为 Chronicle Enterprise 付费。如果您需要经过实战检验、开源、社区支持的复制键值存储,Redis Cluster 之类的东西可能是更好的选择,尽管它的效率可能不如 Chronicle Map。
在我的一个项目中,我们选择使用 Chronicle Map 作为底层数据结构,用于跨不同托管服务器的不同微服务之间存储和共享数据。
我们的想法是我们使用 createOrPersist(File file) 方法创建一个 Chronicle Map Store 并将持久化文件保存在网络存储上,当其中一个微服务执行 PUT 操作时,条目将被持久化(同步)到快速持久化文件,然后另一个微服务可以稍后获取条目,获取 PUT 和 GET 操作可能相隔几分钟。
看了教程,我们了解到只有Chronicle Map企业版才支持数据复制,我们使用的是开源版。任何人都可以建议上述方法是否切实可行?
另外如果共享持久化文件的方式达不到我们的预期,是否可以使用chronicle map结合chronicle engine来实现跨微服务的数据共享?
Chronicle Map 的工作原理是将整个文件映射到内存中。我不确定网络存储是否完全支持 mmap
,但即使支持,我怀疑这种设计在性能和复制一致性方面会非常糟糕。
Also If the shared persisted file approach would not achieve what we expected, can we use chronicle map combine with chronicle engine to fulfil the data sharing across microservices?
除非您愿意自己编写和支持复制代码,否则实际上我认为您必须在那里为 Chronicle Enterprise 付费。如果您需要经过实战检验、开源、社区支持的复制键值存储,Redis Cluster 之类的东西可能是更好的选择,尽管它的效率可能不如 Chronicle Map。