blink引擎(基于Kafka的实时计算引擎如何选择)
本文目录
基于Kafka的实时计算引擎如何选择
老码农来回答这个问题。
Kafka
kafka 是linkedin开源的一款开源的分布式mq消息中间件,现在已经捐献给apache软件基金会(ASF)。具有吞吐量大,低延时,容错性高,扩展性好的特点。在大型数据处理中常扮演数据管道的角色。也就是数据在中转,传输中起到一个管道的作用,类似于水管但是还可以起到缓冲作用。数据流过大也能有效的对数据进行传输。我们项目的日志管道就是Kafka。
实时计算
聊完kafka再聊一下什么是实时计算。实时计算是基于海量数据,进行秒级响应,实时入库,实时分析处理数据的一种大数据计算方式。要求时效性高,常用于网站流量分析、股市分析、天气气候分析等需要实时处理的业务场景。打个比方,就是有PB级别数据不断传递过来,需要立马处理入库分析。与此对应的是离线计算。这些通常是不需要立即处理,我先存起来,慢慢进行分析,或者用到的时候我再分析。说到实时计算,就不能不提流式计算,其实两者没有必然关系。实时强调实时性,流式是一种模型,从一个方向流向其他方向,而且某个点的流处理一次就没了,而且设计是无界的,源源不断。把数据想象成水管里的水就会很好理解这个概念,打开水龙头源源不断流出来。从技术选型来说目前 有Storm、 apache spark 和apache flink 。
- storm 是一个专注实时处理的流式数据处理引擎。推特开源。但是因为对数据是行级别处理以及容错。所以效率不高,适合对实时性要求高,数据集不算太大的情况下使用。
- spark 是一个高效率、易用性强、通用性强,兼容性好的数据处理引擎。 比Hadoop 要快很多,Spark支持Java、Python和Scala的API,还支持超过几十种高级算法,用户可以快速构建不同的应用 。目前业界用的也最多。方案成熟,资料也非常全。基本一线大厂都有spark海量数据处理平台。但是spark 默认走的是批处理。数据是一批一批处理离线计算的。但是通过 spark stream 流式处理的扩展。使得spark也能进行实时的数据计算,但是底层还是批处理,通过固定的offset偏移量进行实时流式批处理。
- flink 是大数据处理的一颗新星。核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布、数据通信以及容错机制等功能。基于流执行引擎,Flink提供了诸多更高抽象层的API以便用户编写分布式任务。实现FaaS(函数即服务)是真正意义上的实时计算引擎。目前也是最先进的。但是才火起来。除了一线大厂,小厂是目前是很难玩转的。而且目前资料比较少,还可能有一些坑要踩。但是这些遮挡不了flink的光芒。目前社区十分活跃,而且阿里有魔改版本Blink。常远来看更有前途。
总结
浅谈主流浏览器与其内核,用户如何选择
目前主流的浏览器有5大款,分别是Google、IE、Firefox、Safari、Opera。其中最流行的是google的开源Chromium体系,包括blink渲染引擎和JS v8解析引擎。微软和Opera也纷纷选择了Chromium作为自己的浏览器内核。
浏览器最重要的部分是浏览器的内核,是浏览器的核心,也称渲染引擎,用来解释网页的语法并渲染到网页上。其中内核可以分为两部分,一部分是渲染引擎(render engineer或layout engineer),其负责生成DOM树,负责渲染和重绘;另一部分是JS引擎,负责JS的解析、编译与解释执行。现在通常将html/css的渲染引擎和js解析引擎分离开来。
渲染引擎内核分别有trident、webkit、blink、gecko等:
1、Trident 内核(Windows)
Trident 就是IE浏览器 所使用的内核,也是很多浏览器所使用的内核,通常被称为IE内核。目前基本快消亡。
2、Gecko(跨平台)
Netscape6 启用的内核,现在主要由Mozilla基金会进行维护,是开源的浏览器内核,目前最主流的Gecko内核浏览器是Mozilla Firefox,所以也常常称之为火狐内核。非常小众人群使用。
3、WebKit(跨平台)
由KHTML发展而来,苹果给开源世界的一大贡献。是目前火热的浏览器内核,火热倒不是说市场份额,而是应用的面积和势头。因为是脱胎于KHTML,所以也是具有高速的特点,同样遵循W3C标准。仍然占有少部分市场。
4、Presto(跨平台)
Opera 所采用的内核,准确地说,是Opera 7.0及以后版本的内核,Opera 3.5-6.1版本使用的内核叫做Elektra。目前已经死掉。
5、Blink内核(跨平台),由Google和Opera Software共同开发的浏览器内核,基于webkit。现在Chrome(28及往后版本)、Opera(15及往后版本)的Webkit内核换成了Blink内核。目前chrome已经是70多的版本了。目前最流行的渲染引擎,预计blink将垄断渲染引擎市场。
JS解析引擎包括:
1、Chakra ,IE9启用的JavaScript引擎。
2、SpiderMonkey / TraceMonkey / JaegerMonkey
SpiderMonkey应用在Mozilla Firefox 1.0-3.0,TraceMonkey应用在Mozilla Firefox 3.5-3.6版本,JaegerMonkey应用在Mozilla Firefox 4.0及后续的版本。
3、V8 应用于Chrome,现在同时应用于后台node环境。目前最火热的引擎,发展迅猛。
4、Nitro 应用于Safari 4及后续的版本。
5、Linear A/Linear B/Futhark/Carakan
Linear A应用于Opera 4.0-6.1版本,Linear B应用于Opera 7.0~9.2版本,Futhark应用于Opera 9.5-10.2版本,Carakan应用于Opera 10.5及后续的版本。
6、KJS KHTML对应的JavaScript引擎。
根据最新的统计显示,全球浏览器市场份额最大的几家厂商及其排名分别是:Google Chrome、Mozilla Firefox、Internet Explorer、Microsoft Edge、Opera及Safari,国内的主要浏览器UC、QQ浏览器、搜狗、360,百度等。
在手机上浏览器内核就是Chromium和Safari两者,Safari因为苹果操作系统缘故仍占有少部分份额。其他几家均没有市场。
除了国外浏览器有自己的内核外,中国没有任何浏览器有自己的渲染引擎或解析引擎,全都是套壳浏览器。这也是为何中国在信息科技领域缺乏核心技术的例证之一。现在浏览器越来越复杂,与操作系统类似,提供了强大的运行平台。而我们国家并没有相关的技术也没有相应的投入,有的只是拿来主义,通过开源框架按照本地习惯改一下UI界面。
如果把浏览器做个拆分,其组成部分主要有:用户界面、浏览器引擎、渲染引擎、 网络 、JS解释器、UI后端、数据存储7个部分。而这些核心技术,可惜都是舶来品。但国内的开发者也很聪明,开创性发明了双核浏览器。360浏览器、猎豹浏览器都是采用IE+Chrome双内核,搜狗、遨游、QQ浏览器也是双内核:Trident(兼容模式)+Webkit(高速模式); UC浏览器电脑版采用Blink内核和Trident内核,百度浏览器、世界之窗内核都是单核(IE内核)。
如果要选择浏览器内核毫无疑问是chromium体系的的blink+v8。但随着中美贸易战升级,美国对中国核心技术封锁和掣肘,中国的大型互联网公司以及手机厂商应该明白,自研操作系统以及浏览器内核已经迫在眉睫了。
更多文章:

数据类型在plc里的作用(在大型施耐德plc编程中 功能块数据类型 是什么意思有什么用)
2025年2月11日 05:30

有什么浏览器可以将英文网站翻译成中文?有什么浏览器可以直接把韩文网站翻译成中文的
2025年3月30日 00:30

copacabana(Barry Manilow的《Copacabana》 歌词)
2025年3月16日 13:10

Я уже не думаю тебя. 这句俄语是什么意思?обзаведение什么意思啊
2025年3月20日 23:20

数据库文件丢失怎么恢复(怎么恢复丢失的Access数据库文件)
2025年3月15日 17:10

jquery和ajax的区别(ajax和jQuery这两个都有什么功能、都是干嘛的)
2025年2月16日 22:50

thymeleaf官网(用thymeleaf用标签给页面select下拉框赋值怎么实现)
2025年3月29日 20:10

continuation(为了实现continuation,是不是需)
2025年3月22日 15:40

vb编程从入门到精通(自学编程的人,都是怎么找到第一份软件开发工作的)
2025年3月21日 05:00

java试题及答案(求一些JAVA数据结构的试题及答案解析)
2025年3月7日 10:30