我有这样一个流应用程序:
DataStream<MyObject> stream1 = source
.keyBy("clientip")
.flatMap(new MyFlatMapFunction())
.name("Stream1");
//...
public class MyFlatMapFunction extends RichFlatMapFunction<MyObject, MyObject> {
private transient ValueState<Boolean> valueState;
@Override
public void open(Configuration parameters)
{
StateTtlConfig ttlConfig = StateTtlConfig
.newBuilder(Time.minutes(12))
.setUpdateType(StateTtlConfig.UpdateType.OnCreateAndWrite)
.setStateVisibility(StateTtlConfig.StateVisibility.ReturnExpiredIfNotCleanedUp).cleanupInBackground()
.build();
ValueStateDescriptor<Boolean> valueStateeDescriptor = new ValueStateDescriptor<>(
"valueState",
Types.BOOLEAN);
valueStateeDescriptor.enableTimeToLive(ttlConfig);
valueState = getRuntimeContext().getState(valueState);
}
@Override
public void flatMap(MyObject myObject, Collector<MyObject> collector) throws Exception
{
// get value from value state, check if it is matched with something
// if matches some condition, then collector.collect(myObject)
// update state for each myObject
}
}
否:3台机器上有3名工人,并行度为16。总并行度为48。
在实现此代码时,我始终假设“如果ip地址1.2.3.4与条件匹配,则来自同一ip地址1.2.3.4的后续请求始终与条件匹配,直到状态被清除”。这句话对吗?
据我从flink docs了解,如果ip地址1.2.3.4转到机器1(通过生成clientip的哈希值),那么来自ip地址1.2.3.4的所有请求都会转到机器1?
方法在taskmanager jvm中调用一次。因此,flink创建了48个flatMapOperation实例(48个中的1-15个驻留在machine1中,48个中的16-32个驻留在machine2中,48个中的33-48个驻留在machine3中),每个flatMapInstance都将运行open方法。这意味着开放式方法需要48次?
最后,所有48个实例都访问相同的状态,但值不同(因为状态是本地的)。我的意思是,一部分实例组(假设机器1上的16个实例)将获得相同的状态值。
最后,如果在FlatMap之前没有keyBy,那么来自ip地址的请求1.2.3.4可以随机访问机器1、机器2或机器3?
写rust 程序,不知道全局状态放那里,lazy_static 太难用了,难道要把sqlite 中吗
我想知道是否有一种方法,使通知弹出状态栏上方,像传统的祝酒词消息,当第一次收到。默认情况下,当收到通知时,通知标签会显示在状态栏中,并暂时隐藏其他通知图标(如果有的话),直到通知标签显示完毕。然后,通知图标通常被添加到等待用户交互的图标的水平列表中。我想要最初的接收报价只是上升到状态栏之上,然后添加图标与其余的他们。
来自服务器的数据以及是否挂起或导致错误 UI状态如切换,警报和错误消息 自定义主题,凭据和本地化 许多其他类型的状态 Redux using ng2-redux Angular Services and RxJS(推荐)
管理应用程序状态是个难题。您需要在多个后端,Web workers和UI组件之间进行协调。 像Redux和Flux这样的模式旨在通过使这种协调更加明确来解决这个问题。在本文中,我将展示如何使用RxJS在几行代码中实现类似的模式。然后我将展示如何使用这种模式来实现一个简单的Angular 2应用。 在谈论架构模式时,我喜欢从描述其核心属性开始。你可以写在餐巾背上的东西。The devil, of c
建议使用基于redux封装出来的rematch, anujs也自带了这个框架。 rematch的官网 https://github.com/rematch/rematch resolve: { alias: { react: "anujs", "react-dom": "anujs", rematch: "anujs/dist/Rematch.js
最近react圈有没有打包或者状态管理的新技术? 写了四年react 这两年跑去写vue了。最近有几个项目,想重新捡起来react搞一下。目前社区有没有好用的cli推荐? 之前四年经验用过cra 也自己大果。最常用的是ali开源的umijs 前几年觉得很好用 今年打开官网一看 状态管理还是基于dva,dva这玩意基于redux-sagas搞的必须用yeild,这个关键字会导致丢失ts定义。 这两年