我最近一直在研究Kafka Streams API,但在理解KTables时遇到了一些小麻烦。我想我理解了大致的概念,但我还在为一些细节而苦苦挣扎。
在我的示例应用程序中,我获取一组价格,然后使用Kafka Streaming API将每个产品的平均价格生成到一个压缩的Kafka主题(Topic-A)。我有第二个服务,我想对这些平均价格更新作出反应。因此,在第二个服务中,我在Topic-A上创建ktable
,我可以成功地查询它的存储。
我的目标是拥有第二个服务流程&实时地对这些平均价格做出反应,但也可以按需访问每个产品的最新值。我相信我可以用一个KTable和商店来做这件事。
最初,我相信:
使用GlobalKTable会给出每个实例中可用的所有K/V对吗?
Ktable
只需要消耗每个密钥的最新记录?是啊。如果基础主题中的数据是这样的,即每个值代表该键的一个完整的最新值,则可以使用cleanup.policy=compact
配置该主题,并且Kafka Streams只需要读取最新值就可以还原KTable
(这是一个RocksDB存储)。就数据建模而言,这是您希望/有意义地用作KTable
输入的唯一类型的数据/主题。
是的,它们从相同的changelog主题中读取,但是它们根据您在Kafka Streams配置中提供的state.dir
参数生成自己的RocksDB存储。
是的,但是globalktables
在您可以使用它们做什么方面比常规的ktables
稍微多一些。我相信新的1.0.0版本已经为globalktables
添加了功能,但它们仍然有一些限制。
我想从我的控制器类中处理阶段事件(即隐藏)。所以我所要做的就是通过 我自己找到的唯一解决办法是在mypane.sceneProperty()中添加一个侦听器,当它不为null时,我得到scene,添加到它的.windowproperty()my!该死的!我最终检索的侦听器处理阶段。这一切都以设置所需的监听器来上演事件而告终。我觉得听众太多了。这是解决我问题的唯一方法吗?
如何获取字段的“真实”值? 我有一个框,我使用的是较新的HTML5输入类型: 这在Chrome29中得到了支持: (至少在Chrome 29中) 如何获取控件的“原始”值? 我试着浏览了Chrome的输入框的其他属性列表: null
有一个简单的应用程序,可以获取。我想在应用程序初始化之前获取gps位置。在我看来,GPS位置是异步更新的,我确实会在后台加载应用程序屏幕,同时弹出一个问题:“允许应用程序使用您当前的位置?” 那么,我如何进行回调(抱歉,来自Ruby/JS后台)以等待获得当前位置。 代码: in
我有一个非常基本的问题。我需要如何为ArrayList键入parrameters才能在BlueJ中使用代码?我有一个方法如下。
本文向大家介绍iOS 获取初始ViewController,包括了iOS 获取初始ViewController的使用技巧和注意事项,需要的朋友参考一下 示例
问题内容: 错误 码 问题答案: 您需要初始化 ,如错误消息所示,您仅对其进行了声明。 您需要初始化数组,以便可以 在 开始设置索引 之前 为元素分配正确的内存存储。 __ 如果 仅 声明数组(如您所做的那样),则不会为元素分配内存,而只会分配给的引用句柄,并且尝试在任何索引处初始化变量时都会引发错误。 另外,您也可以在花括号内初始化数组,这样, 相当于