问题描述 事件中心提供 Kafka 终结点,现有的基于 Kafka 的应用程序可将该终结点用作运行你自己的 Kafka 群集的替代方案. 事件中心可与许多现有 Kafka 应用程序配合使用.在Azure官方提供的Demo中,都是针对Global Azure.以下内容通过实验来一步一步调试并在Azure中国区连接Event Hub成功. 操作步骤 准备好Event Hub的连接字符串,可以是Namespace级别的SAS connection string,也可以是Event Hub Instan…
问题描述 在Application Gateway中,开启WAF(Web application firewall)后,现在需要把访问的日志输出到第三方分析代码中进行分析,如何来获取WAF的诊断日志呢? 整体方案的拓扑图如下: 本文在实施中将介绍: 1)如何创建Event Hub Namespace(事件中心空间)及Event Hub 2)在Application Gateways(WAF)中配置诊断日志(Diagnostic Logs) 3)(简约)官网中如何消费Event Hub中的数据 实…
问题描述 使用Java SDK连接Azure Event Hub,一直出现 java.util.concurrent.TimeoutException 异常, 消息为:java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 60000ms in 'flatMapMany' (and no fallback has been configured). 且消息体中并没有更多有效…
问题详情 使用EPH获取Event Hub数据时,多次出现连接shutdown和LeaseLost的error  ,截取某一次的error log如: Time:2021-03-10 08:43:48.4650|NE:VSDN|Machine:RD0003FF01A8BE|Lv:INFO|ActivityId:|Msg:CdmEventProcessor Shutting Down. Partition '29', Reason: 'LeaseLost'. Time:2021-03-10 08:…
问题描述 关于Event Hub(事件中心)的灾备方案,大多数就是新建另外一个备用的Event Hub,当主Event Hub出现不可用的情况时,就需要切换到备Event Hub上. 而在切换的过程中,难点在于如何让客户端应用无感知的切换到备份Event Hub,以前的方案有两种: 1:在自己DNS服务器中,配置DNS别名.然后在应用代码中,需要先根据DNS别名查询到正确的Event Hub域名.实现方式:https://docs.azure.cn/zh-cn/event-hubs/event-…
问题描述 当使用SDK连接到Azure Event Hub时,最常规的方式为使用连接字符串.这种做法参考官网文档就可成功完成代码:https://docs.azure.cn/zh-cn/event-hubs/event-hubs-java-get-started-send 只是,如果使用Azure AD认证方式进行访问,代码需要如何修改呢? 如何来使用AAD的 TokenCredential呢? 分析问题 在使用Connection String的时候,EventProcessorClientB…
问题描述 在使用Azure Event Hub的SDK时候,常规情况下,发现示例代码中并没有SDK内部的日志输出.因为在Java项目中,没有添加 SLF4J 依赖,已致于在启动时候有如下提示: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www…
Kafka是一种分布式的基于发布/订阅的消息系统,它的高吞吐量.灵活的offset是其它消息系统所没有的. Kafka发送消息主要有三种方式: 1.发送并忘记 2.同步发送 3.异步发送+回调函数 下面以单节点的方式分别用三种方法发送1w条消息测试: 方式一:发送并忘记(不关心消息是否正常到达,对返回结果不做任何判断处理) 发送并忘记的方式本质上也是一种异步的方式,只是它不会获取消息发送的返回结果,这种方式的吞吐量是最高的,但是无法保证消息的可靠性: import pickle import t…
KafkaProducer 创建一个 KafkaThread 来运行 Sender.run 方法. 1. 发送消息的入口在 KafkaProducer#doSend 中,但其实是把消息加入到 batches 中: kafka 生产者是按 batch 发送消息,RecordAccumulator 类有个变量 ConcurrentMap<TopicPartition, Deque<ProducerBatch>> batches,KafkaProducer#doSend 方法会把当前的这…
问题描述 查阅了Azure的官方文档( 将事件发送到特定分区: https://docs.azure.cn/zh-cn/event-hubs/event-hubs-availability-and-consistency?tabs=java#send-events-to-a-specific-partition),在工程里引用组件"azure-spring-cloud-stream-binder-eventhubs"来连接EventHub发送和消费消息事件.在发送端一个For循环中发送…