“基于等级”和“基于边缘”的含义一般是什么意思?
我从kubernetes文档中读到“换句话说,系统的行为是基于级别而不是基于边缘的”: https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/api-conventions.md
与Google合作,我只发现: http://www.keil.com/forum/9423/edge-based-vs-level-based-interrupt/谢谢。
答案 0 :(得分:9)
它还有一个更通用的定义(至少我们倾向于在文档中使用它的方式)。一段逻辑是基于水平的"如果它只取决于当前的状态。一条逻辑是基于边缘的"如果它取决于当前状态之外的历史/转换。
"基于等级"组件更具弹性,因为如果它们崩溃,它们可以重新启动并查看当前状态。 "边缘为基础"组件必须存储它们所依赖的历史记录(或依赖于存储它的其他组件),这样当它们重新启动时,它们可以查看当前状态和历史记录。此外,如果存在某种临时网络分区且基于边缘的组件错过了某些更新,那么它将计算错误的输出。
然而,"基于等级"组件通常效率较低,因为它们可能需要扫描很多状态才能计算输出,而不是仅仅读取增量。
许多成分是两者的混合物。
简单示例:您希望构建一个报告处于READY状态的pod数量的组件。基于级别的实现将从etcd(或API服务器)获取所有pod并进行计数。基于边缘的实现在启动时会执行一次,然后只关注进入和退出READY状态的pod。
答案 1 :(得分:0)
我说他们在网站上解释得非常好:
当一个新版本的对象被POST或PUT时," spec"已更新并立即可用。随着时间的推移,系统将努力实现"状态"符合"规范"。该系统将推向最新的规范"无论该节的先前版本如何。 换句话说,如果在一个PUT中将值从2更改为5,然后在另一个PUT中将值从3更改为3,则系统不需要触摸基数'在改变"状态"之前的5点;到3 。
因此,根据该声明,我们知道" 级别基础"表示如果主要目标不需要,则不需要满足PUT请求; 在适合的时候可以自由跳过PUT请求。
这使我假设" 基于边缘"系统要求满足每个PUT请求,即使可以跳过某些请求而不改变最终结果,因为这将是跳过请求的替代方案。
我没有RESTful开发人员(您可以通过我的帐户活动查看)。我无法在其他任何地方找到任何关于这些事情的信息来源,所以我根据他们提供的解释进行,这看起来非常简单。