标签: consistency

C++确保浮点大小为4个字节

我需要一种跨架构的方法来确保浮点数为4个字节(就像在32位窗口上一样).例如,在我正在创建的结构中,我正在使用__int32而不是int确保一个4字节长的整数值.

我怎么能用漂浮物来做这件事?我知道我可以用一个__int32类型替换值; 但是,当在64位系统上转换为浮点数时,我不会有问题吗?

c++ floating-point size cross-platform consistency

7
推荐指数
2
解决办法
5480
查看次数

Cassandra轻量级交易的一致性水平

我读到了Cassandra 2的轻量级交易.此类写入的一致性级别始终为QUORUM吗?这是否意味着即使我有一个拥有100个节点的多数据中心设置,那么整个集群的法定数量(所有数据中心的大部分行的副本)都会涉及到?这不是很慢,不会影响可用性吗?

我们可以做LOCAL_QUORUM或EACH_QUORUM一致吗?如果跨多个数据中心复制的数据的编写者总是仅来自特定数据中心,那么这将是首选.

transactions consistency cassandra cassandra-2.0

7
推荐指数
1
解决办法
4667
查看次数

是否可以运行具有强一致性的Neo4j集群?

Neo4j的文档指出,当在HA模式下运行时,您将获得最终的一致性.这是该页面的引用:

但是,所有更新最终都会从主设备传播到其他从设备,因此来自一个从设备的写入可能无法在所有其他从设备上立即显示

我的问题是:是否有一个配置允许我编写一个具有强一致性的集群,当然这是以降低性能为代价的?我正在寻找某种主动 - 被动故障转移群集配置.

consistency cluster-computing neo4j

7
推荐指数
1
解决办法
708
查看次数

WAIT命令可以在Redis中提供强大的一致性吗?

问候溢出者,

在Redis的标记/集群设置中,我们是否可以使用带有从站总数的WAIT命令来确保Redis服务器之间的一致性?为什么不?

亲切的问候

consistency redis redis-sentinel redis-cluster

7
推荐指数
1
解决办法
1632
查看次数

如何设置cassandra读写一致性

我找不到这方面的文档。我知道cqlsh中有一致性命令,但是读写一致性没有区别。我如何为读写设置不同的一致性级别?

此外,还提到了“默认”一致性级别。默认设置在哪里?是读还是写?

consistency cassandra

7
推荐指数
2
解决办法
2万
查看次数

可以在 Amazon S3 API 中使用伪“锁定”对象吗?

我正在考虑使用“锁定”S3 对象,以防止对给定 S3 对象同时进行相同的操作。但我对这个技术方案的有效性抱有很大的怀疑。

更准确地说,在对对象进行操作开始时,将创建与对象名称和所执行操作类型相对应的锁定文件。

示例:在 myObject 上的 myOperation 开始时,将查找 lck/myObject/myOperation 对象,如果不存在则创建该对象。

无论操作成功与否,这个“锁定”对象都会在操作结束时被销毁。

我知道标准解决方案是使用数据库,但应用程序目前没有数据库。因此,如果我只能处理与 S3 的一致性,那就足够了。

我担心的是这个锁对象系统将在多线程/可能是多节点架构中运行。现在,我了解到 Amazon S3 支持“写后读一致性”。

这是否意味着,如果我的应用程序 1(节点 1)/线程 2 通过 Java Amazon S3 API 在给定存储桶上放置锁定对象,则该锁定对象将立即对使用相同 API 的其他线程和其他应用程序可见?

java consistency amazon-s3 amazon-web-services

7
推荐指数
2
解决办法
2466
查看次数

Dto 和 Domain 模型的一致验证规则

我希望使用 FluentValidation 验证我的 Dto 和域模型。我已经定义了一个 Validator 类来验证我的 Dto,如下所示。

但是,如果我还想为我的域模型添加一个验证器,则其中一个验证器的更改不会反映在另一个中。就像,如果我将密码长度的规则从 6 更改为 7,我将不得不在两个地方更改它。

是否有某种方法可以潜在地从域模型或类似的东西继承规则,以在 Dto 和域模型之间实现一致的规则?

到:

public class NewUserDto
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Username { get; set; }
    public string Email { get; set; }
    public string Password { get; set; }
}

public class NewUserDtoValidator : AbstractValidator<NewUserDto>
{
    public NewUserDtoValidator()
    {
        RuleFor(x => x.FirstName).Length(2, 50);
        RuleFor(x => x.LastName).Length(2, 50);
        RuleFor(x => x.Email).EmailAddress();
        RuleFor(x => x.Username).Length(4, 25); …
Run Code Online (Sandbox Code Playgroud)

c# validation consistency fluentvalidation

7
推荐指数
1
解决办法
1283
查看次数

Redis 可用性和 CAP 定理

在CAP定理中,Redis被指定为缺乏可用性(具有分区容错性和一致性)的数据库。

但是在很多地方,Redis 被认为是一种高可用的键值存储。

CAP 定理和 DBMS

什么是对的?如果您能提供深入的答案,我将不胜感激。

high-availability consistency nosql redis key-value-store

7
推荐指数
2
解决办法
4192
查看次数

为什么没有将ES5 Object方法添加到Object.prototype?

ES5添加数量方法Object,这似乎打破的JavaScript的语义的一致性.

举例来说,在此之前的扩展,JavaScript API的身边总是围绕operarting 对象本身;

var arrayLength = [].length;
var firstPosInString = "foo".indexOf("o");
Run Code Online (Sandbox Code Playgroud)

...新的Object方法就像;

var obj = { };
Object.defineProperty(obj, {
    value: 'a',
    writable: false
});
Run Code Online (Sandbox Code Playgroud)

......当以下内容更加符合时:

var obj = { };
obj.defineProperty({
    value: 'a',
    writable: false
});
Run Code Online (Sandbox Code Playgroud)

任何人都可以冷静我的好奇心,为什么会这样?是否有任何代码片段会破坏?标准委员会是否就他们选择这种方法的原因进行了公开讨论?

javascript consistency ecmascript-5

6
推荐指数
1
解决办法
582
查看次数

Google Cloud Storage 不一致,在可恢复上传完成后 500 毫秒之前返回 404

我正在使用云存储制作一个文件上传器,该文件上传器的行为不一致,这似乎与文档相反。

当您将对象上传到 Cloud Storage 并收到成功响应时,该对象可立即从 Google 提供服务的任何位置进行下载和元数据操作。无论您创建新对象还是替换现有对象,都是如此。由于上传是高度一致的,因此您永远不会收到 404 Not Found 响应或写入后读取或元数据更新后读取操作的陈旧数据。https://cloud.google.com/storage/docs/consistency#strongly_consistency_operations

...但是如果我上传后立即阅读,我会收到 404。

流程如下:

  1. 我的后端 NodeJS API 启动可恢复上传,创建存储桶的会话 URI
  2. 然后用户通过 PUT 从浏览器将文件直接上传到 GCS 会话 URI
  3. 前端发布了对我的 API 的更新,表示上传已完成。
  4. 然后我的 API 尝试下载相同的文件作为流并摄取它

我一切正常,但后来发现当上传新文件时(即存储桶中尚不存在),上传完成(步骤 2)和读取成功(步骤 4)之间需要 500 毫秒的延迟。如果我立即执行,我会得到 404。

文档指出,通常上传可以立即使用,除非有一些缓存。

重要提示:公开可读的缓存对象可能不会表现出强一致性。有关详细信息,请参阅缓存控制和一致性

我正在使用XMLHttpRequest将文件上传到 GCS 并使用该load事件来检测已完成的上传。根据我的阅读,这应该意味着已收到 200 响应,因此该文件已就位。尽管调试加载事件表明它只是另一个 100% 的“进度”事件。

我尝试过的

解决方法是setTimeout(done, 500)在第 3 步调用我的 API 之前,将 a 添加到加载事件处理程序中的最终回调中。

我已经对此进行了数十次测试,它是可靠的,可重复的,其中 0 - 400 毫秒失败,大约 500 毫秒以上“修复”它总是。

我尝试按照建议将缓存控制标头添加到原始 POST 中,这将上传会话设置为没有缓存 - …

javascript file-upload consistency node.js google-cloud-storage

6
推荐指数
1
解决办法
1663
查看次数