May 17, 2019
Zookeeper
集群概论Zookeeper 可以运行在集群中。
Zookeeper 集群包含三类成员:leader,follower,obverser。
leader 作为中心点处理对所有 Zookeeper 系统变更的请求,像是一个定序器,建立了所有对 Zookeeper 状态更新的顺序。 followe ...
Read more
May 13, 2019
读书笔记
大流量限流/消峰瞬时超大流量和高并发是很头疼的事,如果不对流量合理管制,肆意放任流量冲击系统,将会导致一系列的问题,如可用的连接资源被耗尽、分布式缓存的容量被撑爆、数据库吞吐量降低,最终会导致系统产生雪崩效应。
一般来说,应对大流量和高并发的方法是通过扩容、动静分离、缓存、服务降级和限流(流 ...
Read more
May 10, 2019
Zookeeper
背景为了协调分布式数据中各个进程之间的关系。
主从架构(常见分布式系统)需求:
主节点选举
使得主节点可以给从节点分配任务
崩溃检测
主节点必须具有检测从节点崩溃或失去连接的能力
组成员关系管理
主节点必须具有知道哪一个从节点可以执行任务的能力
元数据管理
主节点和从节点必须具有通过 ...
Read more
April 22, 2019
Redis
背景最近在学习 Redis 底层实现,为了加深记忆,打算写一系列关于 Redis 的博客。
内容主要源自于《Redis 设计与实现》、网上的一些博客以及自己阅读源码后的一些思考。
动态字符串Redis 没有采用传统的 C 字符串的表示方式,而是构造了一种名为简单动态字符串(SDS)的抽象结构 ...
Read more
April 19, 2019
算法
除数博弈题目描述爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。
最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:
选出任一 x,满足 0 < x < N 且 N % x == 0 。
用 N - x 替换黑板上的数字 N 。
如果玩家无法执行这些 ...
Read more
April 18, 2019
算法
用途Floyd Cycle Detection Algorithm,是一个可以在有限状态机、迭代器或者链表上判断时候有环的算法,同时还可以得出环的起点与长度的算法。
思路判断是否有环Floyd Cycle Detection Algorithm 有点类似于龟兔(我和别人在操场上)赛跑(跑步) ...
Read more
April 13, 2019
Spring
之前面试时候(阿里三面)有被问到过 Spring 中的事务管理,当时基本不懂,回答的相当辣眼睛。最近在造轮子时候用到了这方面的一些东西,干脆写篇博客来整理下这块的知识。很多内容源自于这篇博客。
核心接口
事务管理器Spring 不直接管理事务,而是提供了多个事务管理器,将事务管理的职责委 ...
Read more
April 12, 2019
Java
Java 中资源访问其实是一件很常见的事,不过因为自己懒/忙,从来都没有整理过。趁着最近比较清闲,把这块的东西整理下。
概论首先比较重要的是,不要直接使用绝对路径去定位资源。绝对路径定位会导致很多问题,比如程序移动到新的机器上之后就需要改代码,是非常不利于部署的。
使用内置 API 来访 ...
Read more
April 8, 2019
科研
科研经历最初接触科研是大二上。当时我刚学习机器学习没多久,对其还充满着激情,满心想着出国读个 PhD。2017年10月份就给计算机系的李武军老师发了一封邮件,李武军老师让我去跟他的一个研一的学生,去做一些场景文字识别的工作。学长是考研进来的,刚入学一个月,对于机器学习、计算机视觉方面几乎还是 ...
Read more
April 6, 2019
docker
概论Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
Docker 使用 C/S 架构,使用远程 API 来管理和创建 Docker 容器。Docker 容器通过 Docke ...
Read more