我已经构建了一个Kafka Streams应用程序。这是我的第一个,所以我正在从概念验证的思维模式转变为“我如何将其产品化?”心态。
tl; dr版本:我正在寻找kafka流部署建议和技巧,特别是与更新应用程序代码相关的建议和技巧。
我已经找到了很多关于Kafka和Streams API如何工作的文档,但是我找不到任何关于实际部署Streams应用程序的文档。
初始部署似乎相当简单-有很好的文档可以配置Kafka集群,然后必须为应用程序创建主题,然后启动应用程序并发布数据以进行处理。
但是,如果以后要升级应用程序,该怎么办?特别是,如果更新包含对拓扑的更改。我的应用程序在windows中进行了大量的数据充实和聚合,因此将来可能需要对处理过程进行调整。
我的理解是,更改处理顺序或在拓扑中插入额外步骤将导致每个处理步骤的内部ID发生移动,这意味着在最好的情况下,将创建新的状态存储,而在最坏的情况下,将在启动时从错误的状态存储主题读取处理步骤。这意味着您必须重置应用程序,或为新版本提供一个新的应用程序id。但这有一些问题:
我认为缓解这种情况的唯一方法是:
这是“好的”,因为我的应用程序是唯一一个读取源主题的应用程序,并且中间主题目前不会在同一应用程序中的下一个处理器中使用。但是,我可以看到这变得相当混乱。
有没有更好的方法来处理应用程序更新?或者我的步骤大体上与大多数开发人员的做法相同?
我认为你对这个问题有一个完整的了解,你的解决方案似乎是大多数人在这种情况下所做的。
在最近的Kafka峰会上,在格温·夏皮拉和马蒂亚斯·J.萨克斯关于库伯内特斯的部署。回答是相同的:如果您的升级包含拓扑修改,这意味着滚动升级无法完成。
现在看来这件事还没有什么大不了的。
有多种方法可以更新Electron应用. 最简单并且获得官方支持的方法是利用内置的Squirrel框架和Electron的autoUpdater模块。 Updating Applications There are several ways to update an Electron application. The easiest and officially supported one is
有多种方法可以更新Electron应用. 最简单并且获得官方支持的方法是利用内置的Squirrel框架和Electron的autoUpdater模块。 使用 update.electronjs.org Electron 团队维护 update.electronjs.org,一个免费开源的网络服务,可以让 Electron 应用使用自动更新。 这个服务是设计给那些满足以下标准的 Electron 应
了解如何在收到有可用的新版本通知后更新 Creative Cloud 应用程序。 更新 Creative Cloud 应用程序 Adobe Creative Cloud 桌面应用程序会通知您已安装的应用程序之一是否有可用的更新。更新应用程序以便直接访问新增功能、性能改进以及错误修复。操作方法如下。 注意:有关更新应用程序至 Adobe Creative Cloud 2017 版本的详细信息,请参阅
我们有一个应用程序,利用在应用程序计费。我们看到的问题如下: 当使用较高版本代码的构建被上传到Play Developer控制台时,In App Billing将停止在设备上的应用程序(使用较低版本代码)上工作,表示“应用程序未配置为计费”。 这很好,在测试的时候,但问题是--当应用程序在Google Play商店中时,会有什么行为?当您替换应用程序(以执行更新)时,处于野生状态(具有较低版本代码
所以,我在做一些需要我知道设备上的另一个应用程序何时更新的事情。所以我的问题很简单,让我们说YouTube或Spotify在应用程序更新时发送广播,如果是这样,我需要用我的广播接收器捕捉什么。
在图片中,我想更改应用程序名称仅"应用程序"强文本 我可以更改或更新部署的应用程序名称而不停止托管服务器? 一段时间后的其他信息。如果您想在weblogic wlst控制台中更改应用程序名称,它会接收错误消息。 这表明weblogic Application ationName属性是只读属性。