当前位置: 首页 > news >正文

怎么才能有自己的网站上海2023年建设市场放假时间

怎么才能有自己的网站,上海2023年建设市场放假时间,做网站用笔记本做服务器,苏州哪里有做淘宝网站的鱼说,你看不到我眼中的泪,因为我在水中。水说,我能感觉到你的泪,因为你在我心中。 -村上春树 在分布式系统中,多个并发操作对同一资源的修改可能导致数据不一致。为了解决这种问题,Elasticsearch 提供了乐观…

鱼说,你看不到我眼中的泪,因为我在水中。水说,我能感觉到你的泪,因为你在我心中。 -村上春树

在分布式系统中,多个并发操作对同一资源的修改可能导致数据不一致。为了解决这种问题,Elasticsearch 提供了乐观锁(Optimistic Locking)机制,通过控制文档的 _seq_no 和 _primary_term 来确保更新的原子性。本文将通过 Postman 对 Elasticsearch 进行一次乐观锁机制的测试,模拟多个并发请求对同一文档的操作场景。

1.环境配置

在本文的测试中,使用的 Elasticsearch 服务地址为:http://192.168.56.100:9200。

首先,我们通过 Postman 来测试乐观锁的应用场景。这里假设你已经安装并配置好了 Elasticsearch。

Step 1: 创建文档

通过 POST 请求在 Elasticsearch 中创建一个新的文档:
URL:http://192.168.56.100:9200/chhei/system/100
请求方式: POST

请求体:
{ "name": "chhei"
}
输出结果:
{"_index": "chhei","_type": "system","_id": "100","_version": 1,"result": "created","_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 2,"_primary_term": 1
}

在这里插入图片描述
通过上面的请求,成功创建了一个名为 chhei 的文档,并分配了文档的 _seq_no 和 _primary_term,这是乐观锁机制中的关键部分。初始版本号为 1,_seq_no 为 2,_primary_term 为 1。

Step 2: 乐观请求 1 —— 更新文档

模拟一次乐观锁请求,通过控制 _seq_no 和 _primary_term 来进行文档更新:

URL: http://192.168.56.100:9200/chhei/system/100?if_seq_no=2&if_primary_term=1
请求方式: POST

请求体:
{"name": "chhei01"
}

查询文档: 接下来通过 GET 请求查看文档更新后的状态:
URL: http://192.168.56.100:9200/chhei/system/100
请求方式: GET

输出结果:
{"_index": "chhei","_type": "system","_id": "100","_version": 2,"_seq_no": 3,"_primary_term": 1,"found": true,"_source": {"name": "chhei01"}
}

在这里插入图片描述
可以看到,文档的 name 字段成功更新为了 chhei01,文档版本号增加到 2,_seq_no 变为 3,_primary_term 保持为 1。

Step 3: 乐观请求 2 —— 模拟版本冲突

尝试使用过期的 _seq_no 和 _primary_term 再次更新文档,模拟一次乐观锁冲突:
URL: http://192.168.56.100:9200/chhei/system/100?if_seq_no=2&if_primary_term=1
请求方式: POST

请求体:
{"name": "chhei02"
}
输出结果:
{"error": {"root_cause": [{"type": "version_conflict_engine_exception","reason": "[100]: version conflict, required seqNo [2], primary term [1]. current document has seqNo [3] and primary term [1]","index_uuid": "ChcNr4J8QzyOk1SuFzvzdQ","shard": "0","index": "chhei"}],"type": "version_conflict_engine_exception","reason": "[100]: version conflict, required seqNo [2], primary term [1]. current document has seqNo [3] and primary term [1]","index_uuid": "ChcNr4J8QzyOk1SuFzvzdQ","shard": "0","index": "chhei"},"status": 409
}

在这里插入图片描述
从返回的错误信息中可以看到,Elasticsearch 检测到当前文档的 _seq_no 已经变为 3,而请求中的 _seq_no 仍然是 2,因此产生了 409 Conflict 错误,提示版本冲突。

http://www.yayakq.cn/news/785361/

相关文章:

  • 网站建设中可能遇到的问题新媒体8大营销方式
  • 网站开发流程及详解自己如何制作一个微信小程序
  • 兰州市城乡建设局网站公布的信息建设企业网站模板下载
  • 网站建设方案平台在网站上有中英切换怎么做
  • wordpress淘宝客网站百度关键词排名怎么做
  • 龙海网站建设价格附近的广告设计公司在哪
  • 连锁店管理网站开发注册国际贸易公司需要多少钱
  • 南通网站建设外包合肥瑶海区房价
  • 建设银行宁德分行网站两个wordpress用户
  • 安徽省建设厅焊工证查询网站佛山网站建设怎么做
  • 营口旅游网站开发注销公司的步骤和流程
  • 怎么做域名网站怎么样自己创建网站
  • wordpress设置水印湖南网站搜索排名优化公司
  • 如何做微信个人网站郑州工程建设信息网站
  • 山东省工程建设管理信息网站前端刚毕业开多少工资
  • 做初中数学题的网站赌求网站开发
  • 诸城网站建设凡客诚品衣服
  • 网站备案手机号常见的网站空间主要有
  • 成都快速建网站wordpress4.7.5
  • 东莞网站设计及拍摄方案公司网络公司网站优化网站建设
  • wordpress设置网站地址网站开发说明书
  • 企业网站 手机站宽带营销案例100例
  • wap网站制作方案莱芜网站制作
  • 做么户网站怎么去前置审批代刷网站系统怎么做
  • 比较好的建站公司晋江网络推广怎么做
  • 家具展示网站源码大连金州高级中学
  • 网站建设方案书编写网站开发与维护项目招标
  • 汽配网站源码小说在线阅读网站怎么做
  • vue可以做网站吗阿里云 拦截网站
  • 宣城网站建设公司东莞建设银行各网点营业时间查询