<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[时光匆匆独白 的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dong_W_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dong_W_]]></copyright><item><title><![CDATA[Redis数据结构解析]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105934789</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105934789</guid><author>dong_W_</author><pubDate>Tue, 05 May 2020 16:40:58 +0800</pubDate><description><![CDATA[Redis数据结构
Simple Dynamic String (SDS)
Redis以一个结构体包含String的数据，包括len、free、buff。
struct sdshdr{
    int len; //SDS已使用长度
    int free; //SDS未使用长度
    char buf[]; //字节数组,保存数据。
}

SDS的动态扩容策略
Redis作为数据库，对速度要...]]></description><category></category></item><item><title><![CDATA[计算机网络——传输层]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105756849</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105756849</guid><author>dong_W_</author><pubDate>Sat, 25 Apr 2020 21:13:08 +0800</pubDate><description><![CDATA[四、传输层（TCP &amp; UDP）
TCP（传输控制协议）：面向连接的可靠的流协议
UDP（用户数据协议）：不可靠的数据报协议
运输层协议是通过在端系统而不是网络路由器实现的。在发送方，运输层将接收到的来自应用进程的报文转换成运输层报文段（Segment），并为其加上运输层首部，传递给网络层。
网络层只把分组发送到目的主机，但是真正通信的并不是主机而是主机中的进程。传输层提供了进程间的逻辑通...]]></description><category></category></item><item><title><![CDATA[计算机网络——网络层]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105756830</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105756830</guid><author>dong_W_</author><pubDate>Sat, 25 Apr 2020 21:12:14 +0800</pubDate><description><![CDATA[三、网络层（IP协议）
互联网层由IP（Internet Protocol）与ICMP（Internet Control Message Protocol）两个协议组成。
网络层主要实现“终端节点之间的通信”，网络层可以跨越多个数据链路实现数据包的传输。
数据链路层负责两个直连设备间的通信，而网络层的IP则在没有直连的两个网络间通信传输。
1. IP基础知识
1.1 IP地址属于网络层地址
TCP...]]></description><category></category></item><item><title><![CDATA[计算机网络——数据链路层]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105756803</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105756803</guid><author>dong_W_</author><pubDate>Sat, 25 Apr 2020 21:11:29 +0800</pubDate><description><![CDATA[二、数据链路层
1. 数据链路相关技术
TCP/IP协议对数据链路层与物理层未作定义，这是以这两层的功能是透明的为前提。
数据链路层协议定义了通过通信媒介互联的设备之间传输的规范。
1.1 MAC地址
MAC地址用于识别数据链路中互连的节点。
MAC地址长48bit，MAC地址一般烧入网卡的ROM中，任一网卡的MAC地址都是唯一不可重复的。
MAC地址：70-BC-10-74-9C-C9
‭			...]]></description><category></category></item><item><title><![CDATA[计算机网络——TCP/IP协议基础知识]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105756787</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105756787</guid><author>dong_W_</author><pubDate>Sat, 25 Apr 2020 21:09:56 +0800</pubDate><description><![CDATA[一、TCP/IP协议基础知识
1. 网络分层模型
1.1 OSI七层参考模型




七层参考模型
作用
举例




应用层
正对特定应用的协议



表示层
设备固有数据格式和网络标准数据格式的转换



会话层
通信管理，负责建立断开通信连接



传输层
管理两个节点间的可靠数据传输，只在通信双方节点上处理，无需再路由器上处理
TCP，UDP，SCTP，DCCP


网络层
地址管理和路由...]]></description><category></category></item><item><title><![CDATA[详细解析：mysql实现分组查询每个班级的前三名]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105598818</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105598818</guid><author>dong_W_</author><pubDate>Sat, 18 Apr 2020 14:58:54 +0800</pubDate><description><![CDATA[8.2 mysql实现分组查询每个班级的前三名
先上答案
select a.class,a.score from student a 
where 
(select 
 count(*) 
 from 
 student 
 where a.class=class and a.score&lt;score)
 &lt;3
order by 
a.class, a.score 
desc;

解析：...]]></description><category></category></item><item><title><![CDATA[Yarn的设计组成与基本工作流程]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105547584</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105547584</guid><author>dong_W_</author><pubDate>Wed, 15 Apr 2020 23:38:15 +0800</pubDate><description><![CDATA[三、Yarn
1. 下一代MapReduce框架的设计思想
Hadoop1.0的弊端：

Hadoop MapReduce在可扩展性、资源利用率和多框架支持等方面存在不足。
Hadoop未能将资源调度与应用程序计算的功能分开，造成Hadoop难以支持多种框架。


下一代MapReduce的设计思想：将JobTracker的两个主要功能：资源管理和作业控制拆分成两个独立的进程。其中资源管理进程（Y...]]></description><category></category></item><item><title><![CDATA[MapReduce的详细工作流程]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105424717</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105424717</guid><author>dong_W_</author><pubDate>Fri, 10 Apr 2020 00:57:55 +0800</pubDate><description><![CDATA[3. MapReduceTask工作流程
整理自Hadoop技术内幕
3.1 概述
MapReduce框架中，一个Task被分为Map和Reduce两个阶段，每个MapTask处理数据集合中的一个split并将产生的数据溢写入本地磁盘；而每个ReduceTask远程通过HTTP以pull的方式拉取相应的中间数据文件，经过合并计算后将结果写入HDFS。
3.2 MapTask

客户端提交任务，规划...]]></description><category></category></item><item><title><![CDATA[MapReduce中的数据输入——切片与数据处理]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105401105</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105401105</guid><author>dong_W_</author><pubDate>Thu, 09 Apr 2020 00:17:53 +0800</pubDate><description><![CDATA[2. MapReduce中的数据输入
2.1 文件切片
2.1.1 什么是切片
数据块（Block）：HDFS中数据保存的单位，HDFS在物理上将数据分为一个一个Block管理
数据切片（Split）：在逻辑上对Map任务输入数据的切片。
2.1.2 为什么要切片
将输入文件分为多片可以并行进行Map阶段的计算，提高Job的运行速度。一份数据切片就会有一个MapTask。
2.1.3 文件的切片机...]]></description><category></category></item><item><title><![CDATA[Hadoop文件系统——HDFS读写数据流]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105377849</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105377849</guid><author>dong_W_</author><pubDate>Wed, 08 Apr 2020 01:12:31 +0800</pubDate><description><![CDATA[2. HDFS数据流
2.1 文件读取流程剖析（重要）

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1a48nDo0-1586279469073)(picture\read.jpg)]
public static void getFileFromHDFS() throws IOException, InterruptedException, URISyntaxE...]]></description><category></category></item><item><title><![CDATA[Hadoop文件系统——HDFS的组织架构设计]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105377672</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105377672</guid><author>dong_W_</author><pubDate>Wed, 08 Apr 2020 01:10:30 +0800</pubDate><description><![CDATA[一、Hadoop Distributed FileSystem（HDFS）
1. HDFS的设计
HDFS时为以流式数据访问模式存储超大文件而设计的文件系统，在商用硬件集群上运行。
1.1 文件块（Block）
HDFS以块为单位保存文件，在Hadoop2.x版本中块的大小默认为128M（在hadoop1.x中64M，通过dfs.blocksize规定）。一个小于块大小的文件不会占据整个块空间。
...]]></description><category></category></item><item><title><![CDATA[Kafka：整理的一些面试题]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105347026</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105347026</guid><author>dong_W_</author><pubDate>Mon, 06 Apr 2020 17:13:11 +0800</pubDate><description><![CDATA[1. Kafka 中的 ISR(InSyncRepli)、 OSR(OutSyncRepli)、 AR(AllRepli)代表什么？
ISR：In-Sync Replicas 副本同步队列
AR：Assigned Replicas 所有副本
ISR是由leader维护，follower从leader同步数据有一些延迟（包括延迟时间replica.lag.time.max.ms和延迟条数replic...]]></description><category></category></item><item><title><![CDATA[Kafka消费者：分区分配策略，协调器，offset]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105346954</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105346954</guid><author>dong_W_</author><pubDate>Mon, 06 Apr 2020 17:08:38 +0800</pubDate><description><![CDATA[目录



1. 消费方式 Push vs Pull　　

2. 分区分配策略

3. 协调器

4. offset的维护

5. 独立的消费者

1. 消费方式 Push vs Pull　　

作为一个消息系统，Kafka遵循了传统的方式，选择由Producer向broker push消息并由Consumer从broker pull消息。一些logging-centric system，比如F...]]></description><category></category></item><item><title><![CDATA[Kafka生产者：数据可靠性策略与幂等性]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105346915</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105346915</guid><author>dong_W_</author><pubDate>Mon, 06 Apr 2020 17:07:29 +0800</pubDate><description><![CDATA[目录



1. Kafka生产者发送消息的过程

2. 分区策略

3. 数据可靠性保证

1. Kafka生产者发送消息的过程


	Kafka 会将发送消息包装为 ProducerRecord 对象， ProducerRecord 对象包含了目标主题和要发送的内容，同时还可以指定键和分区。在发送 ProducerRecord 对象前，生产者会先把键和值对象序列化成字节数组，这样它们才能够在...]]></description><category></category></item><item><title><![CDATA[缓存算法：LFU和LRU的JAVA实现]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105337416</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105337416</guid><author>dong_W_</author><pubDate>Mon, 06 Apr 2020 00:56:49 +0800</pubDate><description><![CDATA[LFU、LRU的实现总结
LFU和LRU均是常见的缓存算法，其中LFU表示最不经常使用，LRU表示最近最少使用。
10.1 LRU（Least Recently Used）
定义
LRU (最近最少使用) 缓存机制要求支持以下操作： 获取数据 get 和 写入数据 put 。

获取数据 get(key) - 如果密钥 (key) 存在于缓存中，则获取密钥的值（总是正数），否则返回 -1。
写入数...]]></description><category></category></item><item><title><![CDATA[Kafka高性能的原因——零拷贝机制]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105327757</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105327757</guid><author>dong_W_</author><pubDate>Sun, 05 Apr 2020 15:32:36 +0800</pubDate><description><![CDATA[3.2 零拷贝(Kafka高性能的原因之一)
“零拷贝”通常是指计算机在网络上发送文件时，不需要将文件内容拷贝到用户空间（User Space）而直接在内核空间（Kernel Space）中传输到网络的方式。
Kafka所有数据的写如何读取都是通过零拷贝实现的。
优势

减少甚至完全避免不必要的CPU拷贝，从而让CPU解脱出来去执行其他的任务
减少内存带宽的占用
通常零拷贝技术还能够减少用户空间和...]]></description><category></category></item><item><title><![CDATA[Kafka的特点和他的存储机制]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105327667</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105327667</guid><author>dong_W_</author><pubDate>Sun, 05 Apr 2020 15:30:59 +0800</pubDate><description><![CDATA[一、Kafka和消息队列的特点
1. kafka定义
Kafka是一个基于发布订阅模式的分布式消息队列，它具有以下特点：

支持消息的发布和订阅，类似于 RabbtMQ、ActiveMQ 等消息队列；
支持数据实时处理；
能保证消息的可靠性投递；
支持消息的持久化存储，并通过多副本分布式的存储方案来保证消息的容错；
高吞吐率，单 Broker 可以轻松处理数千个分区以及每秒百万级的消息量。

2....]]></description><category></category></item><item><title><![CDATA[LeetCode 32：最长有效括号——三种解法的总结思考]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105259418</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105259418</guid><author>dong_W_</author><pubDate>Thu, 02 Apr 2020 00:08:34 +0800</pubDate><description><![CDATA[9. LeetCode 32：最长有效括号

给定一个只包含 ‘(’ 和 ‘)’ 的字符串，找出最长的包含有效括号的子串的长度。
示例 1:
输入: “(()” 输出: 2 解释: 最长有效括号子串为 “()” 示例 2:
输入: “)()())” 输出: 4 解释: 最长有效括号子串为 “()()”
来源：力扣（LeetCode）
链接：https://leetcode-cn.com/probl...]]></description><category></category></item><item><title><![CDATA[Redis常见面试题总结]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105197794</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105197794</guid><author>dong_W_</author><pubDate>Mon, 30 Mar 2020 13:52:24 +0800</pubDate><description><![CDATA[一些问题的总结

目录

一些问题的总结

Memcache与Redis的区别都有哪些？

redis的过期策略以及内存淘汰机制

同时有多个子系统去set一个key。这个时候要注意什么呢？

如何保证缓存与数据库双写时的数据一致性?

redis遇到高并发，如果保证读写key的一致性。

为什么Redis的操作是原子性的，怎么保证原子性的？

Redis 常见性能问题和解决方案？

Redis实...]]></description><category></category></item><item><title><![CDATA[Redis缓存——缓存雪崩、缓存穿透等问题及其解决思路]]></title><link>https://blog.youkuaiyun.com/dong_W_/article/details/105185748</link><guid>https://blog.youkuaiyun.com/dong_W_/article/details/105185748</guid><author>dong_W_</author><pubDate>Sun, 29 Mar 2020 20:44:59 +0800</pubDate><description><![CDATA[Redis缓存
缓存的处理流程：前台请求，后台先从缓存中取数据，取到直接返回结果，取不到时从数据库中取，数据库取到更新缓存，并返回结果，数据库也没取到，那直接返回空结果。
缓存雪崩
由于原有缓存失效，新缓存未到期间(例如：我们设置缓存时采用了相同的过期时间，在同一时刻出现大面积的缓存过期)，所有原本应该访问缓存的请求都去查询数据库了，而对数据库CPU和内存造成巨大压力，严重的会造成数据库宕机。从而...]]></description><category></category></item></channel></rss>