- 博客(29)
- 资源 (2)
- 收藏
- 关注
原创 Flink Runtime核心机制解析-错误恢复
Flink 核心机制解析-错误恢复概述错误恢复TASK执行错误Master 错误概述错误恢复在 Flink 作业的执行过程中,除正常执行的流程外,还有可能由于环境等原因导致各种类型的错误。整体上来说,错误可能分为两大类:Task 执行出现错误或 Flink集群的 Master 出现错误。由于错误不可避免,为了提高可用性,Flink 需要提供自动错误恢复机制来进行重试。TASK执行错误1. Restart-all,即直接重启所有的 Task。由于 Flink 提供了 Checkpoint 机制,
2020-10-30 15:02:10 251
原创 Flink Runtime核心机制解析-资源管理与作业调度
如何进行作业调度实际上作业调度可以看作是对资源和任务进行匹配的过程。在Flink中,资源是通过slot来表示的,每个slot可以用来执行不同的Task。调度的主要目的就是为了给Task找到匹配的slot。...
2020-10-30 11:40:43 292
原创 Flink Runtime核心机制解析-执行流程
Flink 核心机制解析概述Flink Runtime整体架构功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入概述Flink是可以运行在多种不同的环境中的,可以通过单进程多线程的方式直接运行,也可以运行在Yarn或K8s这中资
2020-10-26 22:52:36 328 1
转载 线程池是怎样工作的
线程池是怎样工作的原创:逅弈逐码我们在工作中或多或少都使用过线程池,但是为什么要使用线程池呢?从他的名字中我们就应该知道,线程池使用了一种池化技术,和很多其他池化技术一样,都是为了更高效的利用资源,例如链接池,内存池等等。数据库链接是一种很昂贵的资源,创建和销毁都需要付出高昂的代价,为了避免频繁的创建数据库链接,所以产生了链接池技术。优先在池子中创建一批数据库链接,有需要访问数据库...
2019-03-28 11:31:22 190
原创 walle 2.0 安装教程 docker 方式
1.安装docker https://docs.docker.com/compose/install/2.安装 docker-composewalle使用的 需要docker-compose 18.06.0+的版本https://docs.docker.com/compose/install/问题:解决:sudo ln -s /usr/local/bin/d...
2019-01-11 16:32:22 3100 8
原创 JVM 整理
一:java内存分配策略站在线程的角度来看分为:线程私有:栈,本地方法栈,程序计算器 线程共有:堆,方法区栈:是以栈帧的方式来存储方法调用的过程,并存储方法调用过程中的基本变量,以及对象引用。栈上分配:对于线程私有的对象,基于逃逸分析,会将他分配到栈中,逃逸分析:判断对象的作用域是否逃出方法体。server模式才能进行逃逸分析-Xmx10m和-Xms10m:堆的大小...
2018-11-19 13:00:47 134
原创 Zookeeper的功能以及工作原理
1.ZooKeeper是什么?ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户2.ZooKeeper提供了什么?1)文件系统2)通知机制3.Zookeeper文件系统每个子目录项如 N...
2018-11-14 14:11:10 122
原创 Spring MVC
具体解释可以看官网> https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#spring-webspring MVC 加载过程:spring-web 的META-INFO/services 下面有个配置文件,在spring启动时会加载这个配置文件,这个配置文件中记录了sp...
2018-11-14 10:24:13 337 1
原创 面试题
JAVA基础JAVA中的几种基本数据类型是什么,各自占用多少字节。 String类能被继承吗,为什么。 String,Stringbuffer,StringBuilder的区别。 ArrayList和LinkedList有什么区别。 讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字 段,当new的时候,他们的执行顺序。 用过哪些Map类,都有什么区别...
2018-11-09 16:22:17 771
转载 快速理解平衡二叉树、B-tree、B+tree、B*tree
原文:https://my.oschina.net/u/3370829/blog/13017321、平衡二叉树(1)由来:平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构;(2)特点:平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度;平衡二叉树的数据结构组装过程有以下规则:非叶子节...
2018-11-07 17:34:26 442
原创 mysql整理
mysql常用的存储引擎mylasm和InnoDBmylsam :mysql5.5之前默认的存储引擎,MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。其采用索引文件与数据文件,索引文件只存放索引,叶子节点存放数据的物理地址。数据文件存放数据。其索引方式是非聚集的包含三个文件 1.frm 保存表结构 2.myd 数据库文件 3.myi索引文件特...
2018-11-07 16:17:48 295
原创 mysqlslap压测工具
mysqlslap 5.1.4后官方提供的一个压测工具mysql bin目录下执行1000个客户端,重复10次自动生成sql语句,总共1000个查询mysqlslap -uroot -pqingshi123 --concurrency=1000 --iterations 10 -a --auto-generate-sql-add-autoincrement --engine=inno...
2018-11-07 10:58:42 230
原创 java知识点整理
一:网络编程HTPT1 与HTTP2的主要区别http1.0:默认长连接,支持发送header信息,http1.1支持Host域http2.0:多路复用的技术,做到同一个连接并发处理多个请求,JAVA NIO是非阻塞的,同时实现了IO多路复用。NIO中用户线程不会被读写操作阻塞住,它可以继续干事情,所以NIO是可以做到用一个线程来处理多个操作的。假设有10000个请求过来,根据实际...
2018-11-06 16:47:40 309
转载 分布式Session的几种实现方式
转载自:http://blog.csdn.net/u014352080/article/details/51764311一。分布式Session的几种实现方式1.基于数据库的Session共享2.基于NFS共享文件系统3.基于memcached 的session,如何保证 memcached 本身的高可用性?4. 基于resin/tomcat web容器本身的session复制机制...
2018-11-05 16:29:57 155
转载 dubbo的底层原理
一、Duboo基本概念解释Dubbo是一种分布式服务框架。 Webservice也是一种服务框架,但是webservice并不是分布式的服务框架,他需要结合F5实现负载均衡。因此,dubbo除了可以提供服务之外,还可以实现软负载均衡。它还提供了两个功能Monitor 监控中心和调用中心。这两个是可选的,需要单独配置。Dubbo的计数架构图如下:我们解释以下这个架构图:Consu...
2018-11-03 15:27:24 3512
原创 redis总结
redis单点吞吐量单点TPS达到8万/面,QPS达到10万/秒redis的5中存储类型:String字符串类型Redis中的String类型就是一个由字节组成的序列,他和其他编程语言或者其他键值对存储提供的字符串操作非常相似。一个String类型的实例,其中键为hello,值为world:(1)常用命令如下:(2)Redis中的自增命令和自减命令...
2018-11-03 11:11:00 148
转载 MQ如何解决消息的顺序&重复两大硬伤?
分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题: 消息的顺序问题 消息的重复问题 RocketMQ作为阿里开源的一款高性能、高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ有哪些关键特性?其实现原理是怎样的?关键特性及其实现原理一、顺序消息消息有序指的是可以按照消...
2018-11-02 15:58:13 15438 7
原创 数据库锁
在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。当数据对象被加上排它锁时,其他的事务不能对它读取和修改。加了共享锁的数据对象可以被其他事务读取,但不能修改。数据库利用这两 种基本的锁类型来对数据库的事务进行并发控制。死锁的第一种情况一个用户A 访问表A(锁住了表A),然后又访问表B;另一个用户B 访问表B(锁住了表B...
2018-11-02 15:54:22 144
原创 数据库事务
一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A...
2018-11-02 15:42:43 150
原创 堆排序-快速排序
堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为最大堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为最小堆堆排序基本思想及步骤:堆排序的基本思想是:将待排序序列...
2018-11-02 15:39:40 318
原创 nio bio aio的区别
一般来说I/O模型可以分为:同步阻塞,同步非阻塞,异步阻塞,异步非阻塞IO同步阻塞IO:在此种方式下,用户进程在发起一个IO操作以后,必须等待IO操作的完成,只有当真正完成了IO操作以后或操作失败,用户进程才能继续运行。JAVA传统的IO模型属于此种方式!同步非阻塞IO:在此种方式下,用户进程发起一个IO操作以后就可返回做其它事情,但是用户进程需要时不时的询问IO操作是否就绪,这就要求用...
2018-11-02 15:30:26 643
原创 java.util.concurrent.ConcurrentHashMap实现原理
HashMap并发先会出现什么问题那?JDK中有了HashTable为何还要有个ConcurrentHashMap?首先我们都知道HashMap不是线程安全的,但在什么情况下出会出现并发问题那?HashMap: HashMap的数据结构:数组、链表、红黑树(jdk1.8), HashMap的原理: 1.自动扩容 数组默认大小:...
2018-11-02 15:10:06 462
原创 java.util.concurrent 线程池的实现原理
ThreadPoolExecutor构造corePoolSize:线程池中的线程数maximumPoolSize:允许的最大线程数keepAliveTime:当前线程的空闲时间,如果超时会自动释放线程资源默认 0TimeUnit:参数的时间单元workQueue:用于在任务完成之前保存它们的队列,如果线程池的线程别占满,则将等待的线程放到此阻塞队列中 执行过程:...
2018-11-02 13:48:34 178
原创 JVM类加载与双亲委派模型
1.类的加载过程2.类加载器 类加载器名称 加载的范围 启动类加载器 Bootstrap ClassLoader 存放在<JAVA_HOME>\lib目录中的,并且是虚拟机识别的类库加载到虚拟机内存中 扩展类加载器 Extension ClassLoader ...
2018-11-02 11:41:05 153
原创 JVM 内存划分与垃圾回收机制
1.JVM内存布局:一.方法区:所有线程共享的,存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据,运行时常量池(Runtime Constant Pool)是方法区的一部分。二.虚拟机栈:线程私有的,每个方法在被调用时就会创建一个栈帧,每一个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程 三Java堆:是Java虚拟机所管理的内存...
2018-11-02 11:34:24 202
原创 spring知识点整理
1.FactoryBean 与BeanFactory的区别:FactoryBean是工厂bean.用户可以通过实现接口定制实例化Bean的逻辑。BenaFactory是管理Bean的一个工厂,在Spring中,BeanFactory是IOC容器的核心接口,它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。2.spring 容器的启动流程 调用AbstractA...
2018-11-02 10:36:49 146
转载 Spring整合JMS——基于ActiveMQ实现
Spring整合JMS——基于ActiveMQ实现(一)1.1 JMS简介 JMS的全称是Java Message Service,即Java消息服务。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。把它应用到实际的业务需求中的话我们可以在特定的时候利用生产者生成一消息,并进行发送,对应的消费者在接收到对应的消息后去完成对应的业
2016-04-08 11:02:20 300
转载 基于nginx的tomcat负载均衡和集群(超简单)
今天看到"基于apache的tomcat负载均衡和集群配置 "这篇文章成为javaEye热点。略看了一下,感觉太复杂,要配置的东西太多,因此在这里写出一种更简洁的方法。 要集群tomcat主要是解决SESSION共享的问题,因此我利用memcached来保存session,多台TOMCAT服务器即可共享SESSION了。 你可以自己写tomcat的扩展来保存
2016-01-18 09:43:06 258
转载 Redis与Memcached的区别
转载地址:http://gnucto.blog.51cto.com/3391516/998509Redis与Memcached的区别传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断
2016-01-18 09:39:57 185
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人