gpt4 book ai didi

微服务架构中的 Elasticsearch

转载 作者:行者123 更新时间:2023-12-02 22:13:49 26 4
gpt4 key购买 nike

我正在设计一个系统,其中我们有两个不同的微服务来管理两种不同的数据类型。常见的方法是每个微服务都有一个数据库,但是如果 Elasticsearch 取代了一个数据库,你有什么想法?我应该为每个微服务拥有 Elasticsearch 实例(集群)来声称我的架构漂亮而 Shiny ,还是一个具有许多索引的实例(集群)可以?
我期待像“这取决于”这样的答案,但我仍然很想知道你对此的看法。

最佳答案

即使您使用的是关系数据库,也有一些方法可以实现持久数据封装,而不是为每个服务提供单独的数据库实例。为每个架构设置一个单独的架构是一种替代方案,它仍然可以让您的架构保持“漂亮和 Shiny ”。私有(private)拥有的 table 也是如此。只要您遵循将事物分开而没有任何跨域依赖或约束的意图,同时设置一些障碍以防止其他微服务团队作弊,您仍然处于 Shiny 的一面。

这也适用于 Elasticsearch。我会利用它的 Multi-Tenancy 功能,只使用索引来分割所有权。考虑到您只有两个用户(微服务),这应该是干净和容易的。您可以考虑为基于角色的索引所有权添加 Elasticsearch Shield 插件,以防止其他团队为获得真正 Shiny 的解决方案而作弊。使用 Elasticsearch,这变得非常灵活,因为您可以根据每个微服务的负载和数据量来定制索引。

由于您可以获得所需的封装程度以及您具有特定于服务的配置(通过索引),因此我认为您的第二个选项是可以的,因为它仍然符合架构的意图。

关于微服务架构中的 Elasticsearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51428155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com