0%

一、流式数据处理简介

流式处理

 实际应用中,不断产生的事件需要快速得到响应。作为应用程序想要处理无限、并发产生的事件流,且不想每次收到事件后就记录事件的状态。但是实际应用场景中,应用程序实际上是需要维护这样的信息的。即,当应用程序收到新事件时,需要从事件中读取数据或改变事件的状态。所以,有状态的流处理应用程序,通常会从已经记录的时间日志中提取输入事件(存储和分发时间流)。历史写入的事件日志是以附加的形式(对,就是类似kafka)写入。总之,有状态的流式应用十分广泛,如事件驱动应用程序;数据管道应用程序及数据分析应用程序。
 事件驱动的应用程序通常会有日志来进行交互,通常交互节点本地保存本地状态,并不将相关状态写入到外部存储。事件日志通道通常将日志的发送者和接收者分离,并提供异步、非阻塞性的事件传输。同时事件日志提供了更好的性能,扩展性及容错性也大幅度提升。
  数据管道通常提供较低的延迟,来提取和插入数据。比如不通存储系统之间同步数据的任务(ETL任务)。
  流处理通常不是等待定期触发,而是连续地提取事件流,并通过纳入最新时间来更新其计算结果。具备实时的,精确的结果,同时支持调整计算资源。

对区块链的基础问题进行讨论,并澄清一些认识误区

定义及原理

区块链的定义

公认的最早的关于区块链的描述性文献,便是中本聪所撰写的《比特币:一种点对点的的电子现金系统》(该文献在之前的文章里提到过),但是该文献并没有明确提出区块链的概念,而是更加侧重于电子现金系统。 另外,在维基百科上,将区块链类比为一种分布式数据库技术,通过维护数据块的链式结构,可以维持持续增长的、不可篡改的数据记录。 在参考文献[1]中,从两个方面来看待区块链的

  1. 狭义角度:区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前的交易历史进行校验,适合分布式记账场景下防篡改和可扩展性的需求
  2. 广义角度: 区块链还指代基于区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等