转需:https://www.cnblogs.com/mysunnytime/p/11634815.html
Event Hub事件中心
本文的目的在于用最白的大白话,让你从“完全不懂”开始,理解什么是分布式大数据流平台Event Hub,并且理解它的关键概念,并且初步理解其收发数据API。
定义,Event Hub是什么、产生的目的
Event Hub是微软云服务Azure的一个产品,是分布式大数据流平台。属于PaaS。Event Hub:
- 支持大规模、实时的流数据
- 每秒能处理百万级的事件
- 简单易用,托管式服务
- 支持全球54个Azure地域
这里指的大规模、实时的流数据是指什么?Big Data Streaming 大数据流
很多应用需要从各处搜集数据来进行分析和处理,如网站收集用户的使用数据,或者物联网系统搜集所有连网设备的实时数据。这些数据从多个不同的终端产生,并且随时都在产生。所以这些数据是流数据,即时性的,好像水流一样,源源不断,从一个地方流向下一个地方。
为什么是“大数据”呢?
因为这些数据可能从成千上万的客户端发出,并且发出的频率很高,要汇集在一个地方进行处理,形成了很大的数据规模,所以是大数据。
Event Hub可以处理多大的数据?
每秒可以处理百万级别的事件(event)。这里的“事件”:就是你收发的数据。 - https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-about, 2019.8
什么是托管式服务?Managed Service
Event Hub是全托管式的服务。什么意思呢?就是如果不使用Event Hub这样的托管式服务,那么开发者需要自己对大数据流平台进行管理。比如Apache Kafka也是一个大数据流平台,但是它不是全托管的,这意味着开发者将需要自行搭建和管理大数据流的处理,比如搭建(购买和配置)虚拟机集群、安装和管理Kafka、管理储存,也就是说,开发者需要自行进行管理所有涉及的服务、更新、包、版本,或者需要再使用其他平台的服务代为完成这些步骤。而Event Hub为开发者全托管,开发者只需要创建Event Hub,然后就可以进行大数据的收发了,Event Hub保证中间的所有过程,提供稳定的服务。这样开发者对中间过程的控制变弱了,但是可以更加关注自己的业务逻辑。
在大数据流的链条中,client客户端产生数据,server服务器端接收数据和分析数据。Event Hub就像一个client和server中间的缓冲区域(buffer)。
为什么要一个buffer:因为没有buffer的话会造成依赖(dependency)和高耦合(tight coupling)。如果数据量大的话,就会出现问题。而buffer可以在这个数据生产线上起到控流的作用(flow control)。
Event Hub的典型用途是收集在远端产生的遥测(telemetry)数据,包括从1)网络应用的客户端和2)远端设备和门户(如散落各地的共享单车)上获取数据。
工作原理
本质上来讲,Event Hub就是一个暂放数据的地方。
当数据从终端产生,发送数据给一个Event Hub的时候,Event Hub就把数据收集然后写下来,写在其内部的储存里,然后我们就可以阅读这些Event Hub为我们收集的数据,进行可视化、数据分析等等,做我们想做的事情。
Event Hub就好像是一个笔记本&#x