- 博客(15)
- 资源 (14)
- 收藏
- 关注
原创 一致性协议:Zab协议
什么是Zab协议?Zab协议 的全称是 Zookeeper Atomic Broadcast (Zookeeper原子广播)。Zookeeper 是通过 Zab 协议来保证分布式事务的最终一致性。 Zab协议是为分布式协调服务Zookeeper专门设计的一种 支持崩溃恢复 的 原子广播协议 ,是Zookeeper保证数据一致性的核心算法。Zab借鉴了Paxos算法,但又不像Paxos那样...
2019-07-31 12:19:06 355
原创 Java 主流I/O 模型
JAVA 主流I/O模型比较 同步阻塞(BIO) 伪异步IO 非阻塞IO(NIO) 异步IO(AIO) 客户端个数:I/O线程 1:1 M:N(M可以大于N) M:1(1个I/O线程处理多个客户端连接) M:0(不需要启动额外的I/O线程,被动回调) I/O类型(阻塞) 阻塞I/O 阻塞I/O 非阻塞I/O 非阻...
2019-07-30 12:24:36 146
原创 Java IO与NIO 操作
JAVA IO操作从数据来源或者说是操作对象角度看,IO 类可以分为:1、文件(file):FileInputStream、FileOutputStream、FileReader、FileWriter 2、数组([]): 2.1、字节数组(byte[]):ByteArrayInputStream、ByteArrayOutputStream 2.2、字符数组(char[]):Char...
2019-07-29 17:15:05 182
转载 将 IPv6 照进现实,我们需要做些什么?
手机支持双栈吗?IPv6 在相当长一段时间内没能够在公众网中普及,很重要的一个原因就是各方的动力不足,虽然一直在宣传 IPv4 地址不够用了,但缝缝补补还是让互联网走了这么多年。如果抛开动力不足来看,IPv6 的普及其实是一个系统工程,需要的是端、管、云,三方的协同支持,那么我们先看下端,也就是手机的支持情况。首先是苹果 iPhone,对于 v6 苹果早在几年前就强推 APP 对于 IPv...
2019-07-29 10:54:33 287
原创 Druid架构以及数据存储
Druid 的目标是提供一个能够在大数据集上做实时数据摄入与查询的平台,然而对于大多数系统而言,提供数据的快速摄入与提供快速查询是难以同时实现的两个指标。例如对于普通的RDBMS,如果想要获取更快的查询速度,就会因为创建索引而牺牲掉写入的速度,如果想要更快的写入速度,则索引的创建就会受到限制。Druid通常是基于时序的事实事件,事实发生后进入Druid,外部系统就可以对该事实进行查询。Drui...
2019-07-23 15:16:55 3377
原创 两阶段提交与三阶段提交介绍
背景XAXA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接口。XA接口是双向的系统接口,在事务管理器(Transaction Manager)以及一个或多个资源管理器(Resource Manager)之间形成通信桥梁。XA之所以需要引入事务管理器,是因为...
2019-07-22 17:23:45 576
原创 Spring事务的传播机制
事务的传播机制:@Transactional(propagation=Propagation.REQUIRED)如果有事务,那么加入事务,没有的话新建一个(默认情况下)@Transactional(propagation=Propagation.NOT_SUPPORTED)容器不为这个方法开启事务@Transactional(propagation=Propagation.REQU...
2019-07-22 12:26:13 2285
原创 Kafka 安装部署及使用
环境Java:jdk1.8操作系统:CentOSZK:3.4.10Kafka:2.12-2.0.0ZK 安装参考:分布式ZooKeeper-3.4.10集群安装Kafka配置# broker的全局唯一编号,不能重复broker.id=0# 监听listeners=PLAINTEXT://:9092# 日志目录log.dirs=/data/kafka/logs...
2019-07-15 15:09:29 1357
原创 Java集合ArrayList和LinkedList区别
Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口。Java集合大致可以分为Set、List、Queue和Map四种体系,其中Set代表无序、不可重复的集合;List代表有序、重复的集合;而Map则代表具有映射关系的集合;Queue体系集合,代表一种队列集合实现。jdk1.4以前没有Queue集合,一般用Linked...
2019-07-11 11:53:51 11617 2
原创 MySQL 读提交和重复读隔离级别测试实验
Mysql默认隔离级别可重复读,我们会实验读提交和可重复读。set tx_isolation='read-committed';set tx_isolation='repeatable-read';纸上得来终觉浅,要理解它们必须实践一把,当前读、快照一致性读、MVVC等等这些概念必须在实践中理解。读提交测试实验一:未提交读 mysql>set tx_isolatio...
2019-07-10 13:20:23 915 4
原创 Rocket MQ文章收集
最近参加技术分享会,了解到RocketMQ,在一些大厂对事物要求高的场景中使用RocketMQ。同时,了解到与Kafka之间的一些区别,这在技术选型过程中会有帮助,Kafka在日子收集场景中变成当红炸子鸡,RocketMQ在电商场景中有着天然的优势。Rocketmq详解聊一聊顺序消息(RocketMQ顺序消息的实现机制)RocketMQ高并发读写Rocketmq原理&...
2019-07-08 17:11:44 194
翻译 Data Streaming Fault Tolerance 数据流容错
简介Apache Flink提供了一种容错机制,可以持续恢复数据流应用程序的状态。该机制确保即使存在故障,程序的状态最终也只能反映数据流中的每条记录一次。请注意,有一个开关将保证降级至少一次(如下所述)。容错机制连续地绘制分布式流数据流的快照。对于具有小状态的流应用程序,这些快照非常轻量级,可以频繁绘制,而不会对性能产生太大影响。流应用程序的状态存储在可配置的位置(例如主节点或HDFS)。...
2019-07-02 15:34:56 307
翻译 Flink与kafka端到端完全一次语义概述
这篇文章改编自2017年Flink Forward柏林的Piotr Nowojski的演讲。您可以在Flink Forward Berlin网站上找到幻灯片和演示文稿。2017年12月发布的Apache Flink 1.4.0为Flink引入了一个重要的流程处理里程碑:一个名为TwoPhaseCommitSinkFunction的新功能(此处为相关的Jira),它提取了两阶段提交协议的通用逻辑...
2019-07-01 18:23:18 844
翻译 What is Apache Flink? — Applications(Flink应用程序)
Apache Flink is a framework for stateful computations over unbounded and bounded data streams. Flink provides multiple APIs at different levels of abstraction and offers dedicated libraries for commo...
2019-07-01 15:34:15 249
翻译 What is Apache Flink? — Architecture(Flink架构)
Apache Flink is a framework and distributed processing engine for stateful computations overunbounded and boundeddata streams. Flink has been designed to run inall common cluster environments, per...
2019-07-01 14:24:58 336
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人