li,ol.inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:700}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;…
前言 Flink是大数据处理领域最近很火的一个开源的分布式.高性能的流式处理框架,其对数据的处理可以达到毫秒级别.本文以一个来自官网的WordCount例子为引,全面阐述flink的核心架构及执行流程,希望读者可以借此更加深入的理解Flink逻辑. 本文跳过了一些基本概念,如果对相关概念感到迷惑,请参考官网文档.另外在本文写作过程中,Flink正式发布了其1.5 RELEASE版本,在其发布之后完成的内容将按照1.5的实现来组织.   1.从 Hello,World WordCount开始 首先…
透过源码看xxl-job (注:本文基于xxl-job最新版v2.0.2, quartz版本为 v2.3.1. 以下提到的调度中心均指xxl-job-admin项目) 上回说到,xxl-job是一个中心化的设计方案,分为了调度中心和 执行器两部分.其本质上仍然是对quartz的封装.那么,我们就分别通过“调度中心” 和 “执行器” 来看看它是怎么运作的. 调度中心 初始化 由于是spring boot应用,因此先从配置看起. XxlJobDynamicSchedulerConfig 相关的初始化…
此内容来自一位好朋友的分享,也是当初建议我写博客提升的朋友.内容只做转载,未做修改. 定时任务选型 背景 目前项目定时任务采用Spring Task实现,随着项目需求的迭代,新增的定时任务也越来越多.我们也即将面临如下 问题: 任务维护管理(不够直观,不方便管理) 单机事故 (故障) 任务调度混乱(串行,并行.串行可能阻塞) 那么,我们的需求是什么? 图形化管理 支持集群,甚至分布式 任务调度灵活 选型 重点看了几个目前比较流行的框架: quartz xxl-job elastic-job sa…
通过源码分析Java开源任务调度框架Quartz的主要流程 从使用效果.调用链路跟踪.E-R图.循环调度逻辑几个方面分析Quartz. github项目地址: https://github.com/tanliwei/spring-quartz-cluster-sample , 补充了SQL输出 系统说明: IDE: IntelliJ JDK:1.8 Quartz:2.2.1 使用效果 1.从github项目https://github.com/tanliwei/spring-quartz-clu…
看懂nc v6的源码! 碧桂园全部的正式环境的补丁都在我手里. 2015-11-18 2:33 谢谢两位一起努力的兄弟 谢谢超哥,谢谢祈冰哥,谢谢连老师,陈明大哥,谢谢龙哥,珍玉,谢谢廖生哥,谢谢林春哥,谢谢桂春,谢谢海敏,谢谢培珊,谢谢清耿,谢谢贤哥,谢谢磊哥,谢谢碧桂园总部的保安, 认识了一些人,典进,海晴,国丽,汤小洁,合玺姐,嘉慧很努力哦 还有一些暂时记不住名字 还有一些大佬 江总 严总,詹总 政慧老师 北京来的很像李坚的大佬 认识了一些名人 碧桂园创始人杨国强 用友创始人 王文京 还有…
引言 在上两篇文章 spark 源码分析之十九 -- DAG的生成和Stage的划分 和 spark 源码分析之二十 -- Stage的提交 中剖析了Spark的DAG的生成,Stage的划分以及Stage转换为TaskSet后的提交. 如下图,我们在前两篇文章中剖析了DAG的构建,Stage的划分以及Stage转换为TaskSet后的提交,本篇文章主要剖析TaskSet被TaskScheduler提交之后的Task的整个执行流程,关于具体Task是如何执行的两种stage对应的Task的执行有…
我们在开发项目时,喜欢引入好多的第三方包,大大的方便了我们的开发,但同时,因为android方法总数的限制,不能超过65k,然而呢,随着我们的开发,65k最终还是会超过,所以,google就给出了这个解决方案,但一直好奇它是内部是怎么实现的,我们今天就来根据源码来看看这个包到底做了什么,怎么把多个dex读取出来的.先看下这个包里面都有哪些类: 我们首先看MultiDexApplication,只要我们我们自己的Application继承MultiDexApplication就可以解决问题,那我们…
通常我们采集Redis的性能数据时,或者想要知道Redis当前的性能如何时,需要知道这个实例的QPS数据,那么这个QPS数据是如何计算的呢?我们都有哪些办法或者这个QPS ? QPS顾名思义就是每秒执行的指令数,猜想Redis里边肯定是有个计数器来对每次执行的命令进行一次累计操作,通过这个思路不难想到INFO stats 输出中有个 输出项:total_commands_processed ,相信大部分情况下我们都是通过两次获取这个值,然后取一个差值求平均得到的.那么除了这种办法外,还有其他办法…
# selenium的历史1. selenium1.x:这个时候的selenium,使用的是JavaScript注入技术与浏览器打交道,需要Selenium RC启动一个Server,将操作Web元素的API调用转化为一段段Javascript,在Selenium内核启动浏览器之后注入这段Javascript.Javascript可以获取并调用DOM的任何元素,自如的进行操作.由此才实现了Selenium的目的:自动化Web操作.这种Javascript注入技术的缺点是速度不理想,而且稳定性大大…