我可以使用couchbase进行令牌生成和验证系统吗

我可以使用couchbase进行令牌生成和验证系统吗,couchbase,Couchbase,我正在设计一个大容量服务,它本质上是一个令牌创建和验证服务。今天,我们使用基于SQL的数据库,这些数据库很快无法扩展,我们正在研究的替代方案是Couchbase server(memcached)。但是,用例是将此服务生成的令牌发送到其他服务,在这些服务中将使用令牌进行身份验证。如果复制速度不够快,则身份验证将失败。是否有一个更简单的方法来实现这一点,或者通过代码或任何其他替代方案也是受欢迎的。在我们看来,这似乎是一个“读你自己写”的用例 我认为您可能误解了Couchbase中复制的用途。Cou

我正在设计一个大容量服务,它本质上是一个令牌创建和验证服务。今天,我们使用基于SQL的数据库,这些数据库很快无法扩展,我们正在研究的替代方案是Couchbase server(memcached)。但是,用例是将此服务生成的令牌发送到其他服务,在这些服务中将使用令牌进行身份验证。如果复制速度不够快,则身份验证将失败。是否有一个更简单的方法来实现这一点,或者通过代码或任何其他替代方案也是受欢迎的。在我们看来,这似乎是一个“读你自己写”的用例

我认为您可能误解了Couchbase中复制的用途。Couchbase对于标准数据操作具有很强的一致性。如果编写文档或键/值对,则可以立即读取该对象。无需等待复制。您正在讨论的用例是Couchbase的一个非常常见的用例


出于显而易见的原因,Couchbase中唯一最终保持一致的是XDCR和从视图中读取。即使这样,也可以通过适当的集群大小将其最小化。

目前没有用于XDCR的一致性API。它可能在开发路线图上的某个地方,因为它是通常要求的特性之一


如果您想在数据中心之间获得RYOW一致性,我们唯一的选择是从应用程序代码同时写入所有DC。当然,它不是原子的,但您可以通过等待所有集群在继续之前确认写入来解决这个问题。

我非常喜欢Couchbase,如果您需要的话,它的复制速度很快这就是我的想法。但是,是否也可以确保数据中心之间的一致性(XDCR),或者是否有一种方法可以在原始get()不起作用的情况下针对特定的DC。例如:String value=client.get(key)if(value==null){client.get(key,“DC1”);}类似于上面的可能。我使用的是基于Java的couchbase客户端。感谢您的回复:)您可以拥有的是内部群集复制。一个节点存储主副本,而1、2或3个其他节点存储副本副本。java客户端允许您执行
getFromReplica
,以防原始get无法工作。XDCR可能更针对灾难备份站点之类的对象,因此SDK没有内置机制来识别主群集已关闭,而是使用另一个通过XDCR复制到的群集。我知道有人在代码中编写了自己的机制来实现这一点。SDK团队已请求使用此功能来创建支持XDCR的SDK。