session-cookies - 负载均衡器的 Marklogic Rest API 事务问题
问题描述
我们正在使用 MarkLogic Rest Api 将数据发送/更新到 marlogic 数据库服务器。我们还使用事务进行多语句提交/回滚。因此,当我们通过负载均衡器将请求传递给 marklogic 以获取事务 id 并将该事务 id 与后续请求相关联时,最后我们尝试使用相同的事务 id 提交请求但负载均衡器抛出错误 Bad request (Load Balancer 无法识别请求,因为它失败了)。
- 我们通过 POST 方法调用 http://host:port/version/transactions API 创建事务,这将在 Location 响应标头中返回事务 ID。
- 然后我们将通过 eval (http://host:port/version/eval) 服务 api 将事务 id 与文档插入/更新相关联。
- 提交通过向 /transactions 服务发出 POST 请求创建的事务后,向 /transactions/{txid} 服务发送 POST 请求,其 URL 格式为:http://host:port/version/transactions/txid ?结果=结果
如何从负载均衡器获取会话 cookie?如何通过 c# 代码将其传递给后续请求?
解决方案
此处记录了配置负载均衡器的一般模式:
https://docs.marklogic.com/guide/rest-dev/transactions#id_42381
有关配置特定负载均衡器的问题最好直接向该负载均衡器的供应商或社区提出。
在不相关的说明中,eval 端点应仅在开发期间用作方便,而不应在生产中使用,因为存在安全风险。
作为替代方案,请考虑安装主模块并使用调用端点或使用开箱即用的文档端点。
希望有帮助,
推荐阅读
- zsh - Zsh/Users/*******/.zshrc:13:不匹配
- oracle - 19c 的性能问题
- android - SVG 文件在 tablelayout 中遍历屏幕并调整 SVG 文件的大小
- gtk - 滚动绘图区
- python - 在 EC2 服务器上运行 python 代码时出错
- php - 如何将毒刺的字母替换为另一个指定值
- visual-studio - 如何为 wix 设置项目设置可以使用 Visual Studio 中的项目属性 UI 进行配置的变量和属性?
- python - QTreeView:在 dropEvent() 上为项目设置图标
- node.js - Socket.io房间的使用:两个人随机加入一个聊天室,我应该动态创建房间还是依赖每个用户的socket.id?
- angular - 在两者之间键入时,光标会自动移动到文本的末尾