问题描述
当前的 Riak 2.0 API 优先于带有类型的存储桶,因此很难与多租户环境一起使用,这意味着多个应用程序访问同一个数据库,其他数据库允许通过命名空间,例如是 Google App Engine 数据存储区,其中每个命名空间彼此完全隔离。
拥有多租户 Riak KV 的最佳解决方法是什么?
解决方法
我建议使用存储桶类型作为附加命名空间 https://www.tiot.jp/riak-docs/riak/kv/2.2.6/using/reference/bucket-types/#buckets-as-namespaces,因为这将允许您为每个租户提供命名空间存储桶类型,然后他们可以在该存储桶类型命名空间内创建存储桶和键。>
为了避免人们在bucket-type上钓鱼以查看他们是否可以访问不同租户的数据,然后您可以通过创建用户并按bucket或bucket类型授予独占权限来扩展此https://www.tiot.jp/riak-docs/riak/kv/2.2.6/using/security/basics/#managing-permissions
将这两个功能一起使用应该可以在同一个 Riak KV 实例中实现多租户环境。