一文弄懂系列
介绍基本架构与原理
HaiwiSong
一切只为让自己变得更优秀!
展开
-
学习笔记之Kafka幂等和事务
文章目录Producer 幂等性Kafka为啥需要幂等性?Kafka的幂等性是如何实现的?幂等性引入之后解决了什么问题?幂等性的限制条件幂等性的实现原理幂等性整体流程消息重试对顺序消息的影响幂等性的使用Producer 事务Kafka引入事务的用途?基本概念事务解决的场景事务保证事务恢复的保证事务原子性的保证事务中 Offset 的提交保证用于事务特性的控制型消息事务流程事务原理流程图寻找 TC ...原创 2020-03-08 09:59:25 · 2280 阅读 · 0 评论 -
一文弄懂Kafka基础理论
文章目录概述docker安装Kafka版本演进Kafka架构架构Kafka支持高并发读写核心技术页缓存技术 + 磁盘顺序写零拷贝技术(zero-copy)性能测试元数据文件存储日志的清除及压缩策略日志清除策略日志压缩策略分区和副本分区副本的分布算法Leader副本的选举副本复制原理基本原理同步方式如何处理Replica恢复?副本HA的Purgatory机制同步源码分析Controller 控制器为...原创 2020-03-08 09:40:00 · 1366 阅读 · 0 评论 -
一文弄懂HDFS基本原理和架构
文章目录概述HDFS架构(Hadoop1.x)ClientNameNode(Master)DataNode(Slave)Secondary NameNodeHDFS 副本存放策略NameNode工作原理SecondNameNode与NameNode交互DataNode与NameNode交互![在这里插入图片描述](https://img-blog.csdnimg.cn/20190609163327...原创 2019-06-09 16:38:13 · 2392 阅读 · 0 评论 -
一文弄懂Hive基本架构和原理
文章目录概述Hive架构Hive数据模型Hive SQL的编译Hive执行计划Hive Sql的MapReduce实现原理Join的实现原理Group By的实现原理Distinct的实现原理Hive文件压缩和文件存储**Hive建表指定文件格式**Hive建表指定压缩Hive动态设置压缩Hive中间数据压缩Hive最终数据压缩Hive Map和Reduce数量计算Map数量Reduce数量数据倾...原创 2019-06-07 19:28:39 · 16066 阅读 · 2 评论 -
一文弄懂Hbase基本架构
文章目录1、存储模型2、架构模型图3、ROOT表和META表4、Region拆分原理5、HBase在HDFS中存储6、读写操作流程写操作流程读操作流程7、Hbase的容错性1、存储模型table中的所有行都按照row key的字典序排列。table在行的方向上分割为多个HRegion,每个HRegion分散在不同的RegionServer中。每个HRegion由多个Store构成(每个...原创 2019-02-02 18:03:00 · 427 阅读 · 0 评论 -
一文弄懂HDFS的Ha高可用原理
文章目录一、Hadoop1.x中hdfs架构二、Hadoop2.x中hdfs架构三、Hadoop 2.x元数据四、基于 QJM 的共享存储系统的总体架构1、基于 QJM 的共享存储系统的内部实现架构图如图。2、QJM 写过程分析五、HDFS的HA参数配置六、hdfs中的DataNode节点配置一、Hadoop1.x中hdfs架构在介绍HA之前,我们先来看下Hadoop的系统架构,这对于理解HA...原创 2019-03-05 17:48:00 · 2924 阅读 · 1 评论 -
一文弄懂zookeeper基本架构
1、zookeeper工作原理Zookeeper的核心是原子广播,这个机制保证了各个server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式和广播模式。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数server的完成了和leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和server具有相同的系统...原创 2019-02-02 18:05:05 · 879 阅读 · 0 评论 -
一文弄懂Spark基本架构和原理
文章目录一、基本介绍spark是什么?弹性分布式数据集RDD基本概念基本流程二、Hadoop和Spark的区别三、RDD操作TransformationAction四、Block与RDD生成过程五、依赖关系与Stage划分六、Spark流程调度流程(粗粒度图解)执行流程(细粒度图解)七、spark在yarn上的两种运行模式(yarn-client和yarn-cluster)1、Yarn-Clien...原创 2019-03-11 19:28:02 · 9732 阅读 · 3 评论 -
一文弄懂PySpark原理与实践
文章目录一、PySpark 的背后原理二、文档三、pyspark读写dataframe四、通过spark-submit提交任务模板示例五、代码示例1、wordcount.py2、使用PySpark语言开发操作Hive一、PySpark 的背后原理架构图:其中白色部分是新增的Python进程,在Driver端,通过Py4j实现在Python中调用Java的方法,即将用户写的PySpark程序...原创 2019-03-12 11:21:20 · 13769 阅读 · 1 评论 -
一文弄懂ROC、AOU和F1 Score评价指标
文章目录混淆矩阵ROCAOUPRCF1-Score多分类的F1-Score选择指标ROC 曲线和 AUC 常被用来评价一个 二值分类器 的优劣。混淆矩阵其中,TP(真正,True Positive)表示真正结果为正例,预测结果也是正例;FP(假正,False Positive)表示真实结果为负例,预测结果却是正例;TN(真负,True Negative)表示真实结果为正例,预测结果却是负例...原创 2019-04-20 23:58:30 · 15158 阅读 · 2 评论 -
一文弄懂L0、L1和L2正则化范式
文章目录正则化L0范数L1范数L2范数elastic net总结讨论几个问题为什么L1稀疏,L2平滑?实现参数的稀疏有什么好处吗?参数值越小代表模型越简单吗?正则式的应用场景正则化正则化的作用实际上就是防止模型过拟合,提高模型的泛化能力。正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或惩罚项(penalty term)。正则化一般是模型复杂度的单调递...原创 2019-04-28 19:21:31 · 9684 阅读 · 0 评论 -
一文弄懂word2vec(从源码解析)
文章目录一、简介二、两种模型1、CBOW2、Skip-Gram三、Trick1、hierarchical softmax2、negative sampling四、比较五、最佳实践一、简介Word2Vec并非指一个模型,而是2013年Google开源的一个获取词向量的工具包,由于简单高效,大大降低了词向量在工业界的应用门槛。我们先来看下Word2Vec能够取得的效果:相似词:通过向量间距离的...原创 2019-03-20 13:06:22 · 843 阅读 · 0 评论 -
一文弄懂Java中的线程池
文章目录一、线程二、线程池1、ThreadPoolExecutor2、ForkJoinPool三、Java通过Executors提供的线程池四、Spring中线程池1、ThreadPoolTaskExecutorXML配置注解配置2、ThreadPoolTaskSchedulerXML配置注解配置五、监听Future任务结果的解决方案1、Guava中ListenableFuture实现(1)对任务...原创 2019-02-02 17:10:16 · 723 阅读 · 0 评论 -
一文弄懂Java线程安全队列
文章目录一、分类二、BlockingQueue 阻塞队列三、ConcurrentLinkedQueue 非阻塞队列一、分类java中所有队列都继承至java.util.Queue接口,该接口定义了以下三组方法:方法名抛出异常返回特殊值插入add(e)offer(e)移除remove()poll()检查element()peek()Java提...原创 2019-03-01 17:26:45 · 7973 阅读 · 0 评论 -
一文弄懂Java8新特性之函数式编程
文章目录lambda表达式函数式接口Stream1、Stream的创建2、Stream操作(1)中间操作方法filterdistinctlimit/skipmapflatMapconcatpeeksortedforEachallMatch/anyMatch/noneMatchmin/max/countfindFirst/findAnycollect,将流转换为其他形式reduce3、stream和...原创 2019-02-02 16:50:26 · 508 阅读 · 0 评论 -
一文弄懂Redis基本理论
文章目录一、Redis:简介Redis 优势Redis内存占用参考二、Redis为什么那么快?三、Redis数据结构和底层存储1、String(字符串)2、List(列表)3、Hash(字典)4、Set(集合)5、Sorted Set(有序集合)四、redis事务事务中的命令和普通命令在执行上的相同与不同redis事务不支持回滚redis乐观锁的实现Redis分布式锁的实现五、Redis持久化1....原创 2019-02-02 17:50:09 · 691 阅读 · 0 评论 -
一文弄懂数据库索引
文章目录一、索引二、索引分类1、从逻辑角度2、从物理存储角度三、索引的实现方式1、红黑树2、B-树3、B+树4、B/B+树和红黑树区别(1)为什么用B/B+树这种结构来实现索引呢?(2)红黑树 和 b+树的用途有什么区别?5、B-树和B+树区别四、MySQL索引实现1、MyISAM索引实现2、InnoDB索引实现3、MyISAM和InnoDB区别五、索引的几种运用场景1、联合索引运用-最左匹配原则...原创 2019-02-02 17:21:03 · 871 阅读 · 0 评论 -
一文弄懂常用分布式事务解决方案
文章目录CAP理论BASE理论常见分布式事务解决方案2PC(二阶段提交)方案:强一致性3PC(三阶段提交)方案:强一致性TCC 事务:最终一致性本地消息表:最终一致性事务消息:最终一致性Saga 事务:最终一致性命令协调各方案适用场景及对比CAP理论在一个分布式系统(指互相连接并共享数据的节点的集合)中,当涉及读写操作时,只能保证一致性(Consistence)、可用性(Availabilit...原创 2019-02-02 17:29:34 · 445 阅读 · 0 评论 -
一文弄懂IO多路复用模型
文章目录阻塞和非阻塞IO模型阻塞 io 模型 blocking IO非阻塞 io 模型 nonblocking IOIO多路复用模型select和pollepollIO多路复用模型应用场景阻塞和非阻塞IO模型操作系统在处理io的时候,主要有两个阶段:1.等待数据传到io设备2.io设备将数据复制到user space我们一般将上述过程简化理解为:1.等到数据传到kernel内核s...原创 2019-02-02 17:52:43 · 2755 阅读 · 0 评论 -
一文弄懂Netty基本架构
文章目录Netty简介Netty结构Netty线程模型服务端线程模型客户端线程模型NioEventLoopTaskNetty中的Channel工作原理线程ChannelPipeline和ChannelHandlerChannelHandlerContextChannelHandler参考:Netty 5用户指南:http://ifeve.com/netty5-user-guide/Netty...原创 2019-02-02 18:09:53 · 579 阅读 · 0 评论