blink

趣头条基于 Flink 的实时平台建设实践

坚强是说给别人听的谎言 提交于 2019-12-04 13:26:46
本文由趣头条实时平台负责人席建刚分享趣头条实时平台的建设,整理者叶里君。文章将从平台的架构、Flink 现状,Flink 应用以及未来计划四部分分享。 一.平台架构 1.Flink 应用时间线 首先是平台的架构,2018 年 3 月之前基本都是基于 Storm 和 Spark Streaming 来做的。目前,基本已经把 Spark Streaming 和 Storm 淘汰了,主要都是 Flink SQL 来做的。起初还比较传统,一般是接需求然后开发类似于 Flink SQL 的任务,基本是手工作坊操作模式。 后来 Flink SQL 的任务逐渐多了起来,就开始考虑往平台化方向发展。大概在 2018 年 10 月份,我们开始搭建实时平台。当时设计实时平台时就直接抛弃了 Spark Streaming 和 Storm,基础理念设计的时候,主要以 Flink 场景来设计平台。趣头条实时平台上线将近两个月后,当时任务量并不多,由于趣头条基本都是 PHP 和 Golang 开发语言,而Flink更偏向于 Java 包括它 API 的提供,所以经常会接到用户需求,如: Golang 能不能开发, PHP 能不能开发? 这个问题听起来比较奇怪,但是对于不会用并且确实也想用的用户,就需要想办法解决这个问题。后来我们做了一版类似于 Flink SQL 配置化开发,可以让用户不用写Flink 代码

Spark Stream、Kafka Stream、Storm和Flink对比,以及阿里巴巴基于Flink打造的Blink解决的问题

浪子不回头ぞ 提交于 2019-12-03 14:38:31
一、Spark Stream、Kafka Stream、Storm等存在的问题 在设计一个低延迟、exactly once、流和批统一的,能够支撑足够大体量的复杂计算的引擎时,Spark Stream等的劣势就显现出来。Spark Streaming的本质还是一个基于microbatch计算的引擎。这种引擎一个天生的缺点就是每个microbatch的调度开销比较大,当我们要求的延迟越低,额外的开销就越大。这就导致了Spark Streaming实际上不是特别适合于做秒级甚至亚秒级的计算。 Kafka Streaming是从一个日志系统做起来的,它的设计目标是足够轻量,足够简洁易用。这一点很难满足我们对大体量的复杂计算的需求。 Storm是一个没有批处理能力的数据流处理器,除此之外Storm只提供了非常底层的API,用户需要自己实现很多复杂的逻辑。 二、Flink的优势 (1)不同于Spark,Flink是一个真正意义上的流计算引擎,和Storm类似,Flink是通过流水线数据传输实现低延迟的流处理; (2)Flink使用了经典的Chandy-Lamport算法,能够在满足低延迟和低failover开销的基础之上,完美地解决exactly once的目标; (3)如果用一套引擎来统一流处理和批处理,那就必须以流处理引擎为基础。Flink还提供了SQL/tableAPI这两个API

How to make a text blink in shell script

陌路散爱 提交于 2019-12-03 02:01:20
I have this piece of code below: echo " \033[33mTitle of the Program\033[0m" which changes the colour to yellow. How can I make the text "Title of the Program" blink? Try adding -e if it's not working without it You may need to add the -e option to echo (at least that's required on all or most systems I use). The following will tell your system to blink the text: echo -e "\033[5mTitle of the Program\033[0m" You can have blinking and color And you don't have to choose either yellow or blinking. You can have your cake and eat it too: echo -e "\033[33;5mTitle of the Program\033[0m" Some systems

Does PhantomJS use QtWebKit or Blink?

早过忘川 提交于 2019-12-02 10:16:17
问题 Does PhantomJS (CasperJS) use WebKit or Chromium as default browser-driver? If WebKit, is it direct WebKit or qt or gtk? 回答1: PhantomJS is based on QtWebKit. The FAQ says: Q: Which WebKit version is used by PhantomJS? A: If you want to know HTML5/CSS3/other features supported by PhantomJS, using WebKit version is not a good idea. See Supported Web Standards documentation page for details. If you really like to get the WebKit version, find it via the user agent, run the examples/useragent.js.

不受控制的 position:fixed

自闭症网瘾萝莉.ら 提交于 2019-12-02 09:52:08
本文转载于: 猿2048 网站 不受控制的 position:fixed 大家都知道, position:fixed 在日常的页面布局中非常常用,在许多布局中起到了关键的作用。它的作用是: position:fixed 的元素将相对于屏幕视口(viewport)的位置来指定其位置。并且元素的位置在屏幕滚动时不会改变。 但是,在许多特定的场合,指定了 position:fixed 的元素却无法相对于屏幕视口进行定位。这是为何呢? 失效的 position:fixed 在许多情况下, position:fixed 将会失效。 MDN 用一句话概括了这种情况: 当元素祖先的 transform 属性非 none 时,定位容器由视口改为该祖先。 What!还有这种操作?可能有部分同学还没 get 到上面这句话的意思,通俗的讲就是指定了 position:fixed 的元素,如果其祖先元素存在非 none 的 transform 值 ,那么该元素将相对于设定了 transform 的祖先元素进行定位。 那么,为什么会发生这种情况呢?说好的相对视口(Viewport)定位呢? 这个问题,就牵涉到了 Stacking Context ,也就是堆叠上下文的概念了。解释上面的问题分为两步: 任何非 none 的 transform 值都会导致一个堆叠上下文(Stacking Context)和包含块

Complex selector don't work in last blink version :nth-child(2):nth-last-child(2){}

蹲街弑〆低调 提交于 2019-12-02 02:10:56
问题 there is strange problem: after blink update selector .groups .group:nth-child(2):nth-last-child(2){} just stop working. But it still works well in webkit and gecko. Any ideas how to fix it? HTML <div class="groups"> <div class="group"></div> <div class="group"></div> <div class="group"></div> </div> CSS .groups .group{ background-color:#000; } .groups .group:first-child{ background-color:yellow; } .groups .group:nth-child(2):nth-last-child(2), .groups .group:nth-child(2):last-child{

Complex selector don't work in last blink version :nth-child(2):nth-last-child(2){}

倾然丶 夕夏残阳落幕 提交于 2019-12-02 01:34:32
there is strange problem: after blink update selector .groups .group:nth-child(2):nth-last-child(2){} just stop working. But it still works well in webkit and gecko. Any ideas how to fix it? HTML <div class="groups"> <div class="group"></div> <div class="group"></div> <div class="group"></div> </div> CSS .groups .group{ background-color:#000; } .groups .group:first-child{ background-color:yellow; } .groups .group:nth-child(2):nth-last-child(2), .groups .group:nth-child(2):last-child{ background-color:red; } .groups .group:last-child:nth-child(3){ background-color:green; } .groups{ font-size:0;

will Opera's DragonFly and Extentions still exist in Webkit world?

孤人 提交于 2019-12-01 21:13:56
问题 I just saw that Opera will stop using Presto, and switches to WebKit, so will DragonFly still exists, or this will be replaced by Chrome Inspector? And what about Extensions too! 回答1: There will be no Dragonfly in Opera with WebKit (Blink): https://twitter.com/runeh/status/301616059729969152 回答2: Yes, Opera Dragonfly will still exist. The current beta of Opera 15 includes Web Inspector, however, Opera are porting Opera Dragonfly to Blink. It will be included when ready. Note: I was formally

HTML5 Canvas blinking on drawing

牧云@^-^@ 提交于 2019-12-01 18:00:35
问题 I'm beginning with an isometric game, and my canvas is blinking(Not in IE) when draws all the parts of the ground. When I set fps to 20 or less, the blinking stops. How can I solve that? Any ideas? var camerax = 300, cameray = 100; var fps = 60; function draw() { clearCanvas(); drawGround(); } function drawGround() { var img = new Image(); img.onload = function() { var width = img.width; var height = img.height; for (var x = 0; x < 3; x++) { for (var y = 3; y >= 0; y--) { mx = (x-y)*height +

Blink not working in Chrome

爱⌒轻易说出口 提交于 2019-12-01 02:27:14
I am using blink in my application to display error message. The problem is that it's working in Firefox but not in Chrome. I don't know what the problem is. How can I make it to work in Chrome? Add following code to your css file, blink { -webkit-animation-name: blink; -webkit-animation-iteration-count: infinite; -webkit-animation-timing-function: cubic-bezier(1.0,0,0,1.0); -webkit-animation-duration: 1s; } tejas blink, .blink { -webkit-animation: blink 1s step-end infinite; -moz-animation: blink 1s step-end infinite; -o-animation: blink 1s step-end infinite; animation: blink 1s step-end