Kafka 将在内部杀死任何未正确轮询的节点,但我们不希望坏节点保持运行状态,并且我们希望了解哪些节点正在工作,因此我们自然希望构建经典的健康检查。
构建健康检查的明显方法是使用,KafkaStream#state#isRunning但这完全是欺骗性的。如果与 Kafka 的底层网络连接发生故障,或者出现多种不会导致内部线程终止的情况中的任何一种,KafkaStreams即使日志到处抛出错误,它仍然会报告自身处于活动状态。有没有正确的方法可以了解 Kafka 流中发生的情况?在处理 Kafka 时,期望进行健全的健康检查是错误的做法吗?
需要明确的是,我不是在谈论 Kafka集群的健康检查,特别是 Streams 处理器节点。
我是OSX开发的新手,所以这可能很容易,但谷歌没有帮助.
我正在尝试将动作绑定到您在较新的Apple键盘上找到的媒体键(播放,暂停等).您似乎无法使用常规热键API绑定到这些键,但必须可以,因为iTunes明确管理.是否有一些棘手的未记录的API实现了这一目标?任何帮助将非常感激.
我使用了轻微滥用构建器模式来制作流畅的命令式执行链.我所追求的是一种使编译错误忘记最后的execute方法的方法.我的目标是如下
WithServiceA {
doStuff()
} WithServiceB {
doStuff()
} withClient client
Run Code Online (Sandbox Code Playgroud)
WithServiceA并且WithServiceB都可以返回值,因此如果使用返回值,很明显返回类型是错误的,但如果它们被强制使用,整个对象就会默默地落在地板上.我想确保忘记withClient调用是一个编译错误,无论它在什么上下文中使用.
我希望能够跳过块,如果它们是不需要的并按任意顺序放置,所以我希望替换我之前使用的嵌套内部类模式ala
def onServiceA[A](body: ServiceA => A) = new {
def onServiceB[B >: A](body: ServiceB => B) = {b => {
doStuff()
}
}
Run Code Online (Sandbox Code Playgroud)