我有一个POST请求端点,用户重复发布数据.在我将数据插入数据库之前,根据用户请求,我会检查记录是否已经存在. - 如果记录已经存在,我返回200 OK,包含table_id和状态的响应主体 - 如果记录不存在,我创建新记录并返回200 OK,包含table_id和status的响应主体
基本上在这两种情况下,用户获得状态200.由于用户无法区分其是新记录还是现有记录,因此可能会令人困惑.
我以为我会将304返回给响应主体,并告知消费者该请求是"未修改",这样消费者就会做出决定.
这是一个好习惯还是在RESTful主体中有替代方法.
Kibana 的响应是
{
"statusCode": 500,
"error": "Internal Server Error",
"message": "An internal server error occurred"
}
Run Code Online (Sandbox Code Playgroud)
APM 服务器返回 503 - 内部服务器错误,很难确定根本原因。是否 ES 队列已满或内存不足或集群未正确设置?
根据ES文档:https://www.elastic.co/guide/en/apm/server/master/common-problems.html#queue-full
队列已满通常意味着代理收集的数据多于 APM 服务器能够处理的数据。如果 APM Server 未针对您的 Elasticsearch 集群的大小进行正确配置,或者您的 Elasticsearch 集群功能不足或未针对给定工作负载进行正确配置,则可能会发生这种情况。
如果 Elasticsearch 磁盘空间不足,队列也可能会被填满。
文档无助于确定可能的根本原因。我们如何识别根本原因?
重新启动 Kibana 和 Elasticsearch 会有所帮助,但这无助于确定根本原因
我正在实现一个包含表中动态属性的数据库.类似于Magento电子商务网站的东西.我们知道Magento遵循MySQL的EAV模型,并且非常灵活地进行自定义.是否有基于使用NoSQL数据库的EAV建模实现的开源系统.很想知道使用NoSQL数据库应用EAV模型的最佳实践.或者是否有其他方法在NoSQL中实现.