Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flink Flink Statefun并发状态更新_Apache Flink_Flink Statefun - Fatal编程技术网

Apache flink Flink Statefun并发状态更新

Apache flink Flink Statefun并发状态更新,apache-flink,flink-statefun,Apache Flink,Flink Statefun,我正在尝试使用ApacheFlink有状态函数实现消息传递场景。 我的一个状态可以通过提供给MatchBinder的两个不同函数进行更新。这两个函数基本上检查当前状态并相应地更新状态 如果对同一个键同时调用这两个函数,会发生什么情况 对于为同一密钥调用的有状态函数,是否存在队列机制 我们可以为顺序访问锁定状态访问/更新吗 如果同时为 同一把钥匙 MatchBinder基本上是编写单个StateFun函数的一种方便方法,该函数通过首先匹配传入消息的类型(或属性)开始执行。这基本上是一种避免编写

我正在尝试使用ApacheFlink有状态函数实现消息传递场景。 我的一个状态可以通过提供给MatchBinder的两个不同函数进行更新。这两个函数基本上检查当前状态并相应地更新状态

  • 如果对同一个键同时调用这两个函数,会发生什么情况
  • 对于为同一密钥调用的有状态函数,是否存在队列机制
  • 我们可以为顺序访问锁定状态访问/更新吗
如果同时为 同一把钥匙

MatchBinder基本上是编写单个StateFun函数的一种方便方法,该函数通过首先匹配传入消息的类型(或属性)开始执行。这基本上是一种避免编写如下代码的方法:

...
if (message instanceof A) {
  handleA((A) message);
} else if (message instanceof B) {
  handleB((B) message);
}
...
因此,在现实中,尽管您为每个绑定案例提供了“不同”的Java函数,但调用的是相同的StateFun函数,并且会选择正确的绑定案例

是否有一个队列机制用于为同一类调用的有状态函数 钥匙

是的,StateFun函数将按地址顺序调用。当函数应用于特定地址时,不会同时应用该地址的其他消息。这几乎是免费的,这要感谢ApacheFlink作为实际的运行时

我们可以为顺序访问锁定状态访问/更新吗

每个地址的状态访问和修改都是原子的和顺序的