0

有没有办法在微服务之间共享 neo4j/aws Neptune 图形数据库,同时将对图形数据库特定部分的访问限制为仅特定微服务?这样做会不会对性能产生任何影响?

4

1 回答 1

0

在 Amazon Neptune 中,目前无法为图表的一部分设置 ACL。您可以让 IAM 用户拥有对集群的完全访问权限或完全没有访问权限。(全部允许或全部拒绝)。您需要在应用层处理这个问题。细粒度的访问控制将是一个很好的功能,因此您可能希望为此提出功能请求(例如,通过 AWS 论坛)。

如果你排除了访问控制,而你唯一需要的就是让微服务之间不相互影响,那么你可以创建只读副本,并在你的微服务中使用它们(无论是跨微服务共享数据库是一个好的选择还是不是单独讨论)。有两种方法:

  1. 在您的集群中添加足够的副本,并在您的只读微服务中使用 cluster-ro(读取器)端点。所有微服务都将共享只读副本,但使用 DNS 循环。
  2. 为各种用例添加副本,然后使用具有特定微服务的特定实例端点。微服务不会相互影响,但是,这种方法的一个缺点是,如果发生崩溃,您的实例可能会被提升为 master,这可能是您需要处理或准备好的事情。
于 2018-08-27T23:06:03.877 回答