Hexo

Zookeeper(二) 集群

Zookeeper
集群概论Zookeeper 可以运行在集群中。 Zookeeper 集群包含三类成员:leader,follower,obverser。 leader 作为中心点处理对所有 Zookeeper 系统变更的请求,像是一个定序器,建立了所有对 Zookeeper 状态更新的顺序。 followe ...
Read more

读书笔记:《人人都是架构师》

读书笔记
大流量限流/消峰瞬时超大流量和高并发是很头疼的事,如果不对流量合理管制,肆意放任流量冲击系统,将会导致一系列的问题,如可用的连接资源被耗尽、分布式缓存的容量被撑爆、数据库吞吐量降低,最终会导致系统产生雪崩效应。 一般来说,应对大流量和高并发的方法是通过扩容、动静分离、缓存、服务降级和限流(流 ...
Read more

Zookeeper(一) 基础

Zookeeper
背景为了协调分布式数据中各个进程之间的关系。 主从架构(常见分布式系统)需求: 主节点选举 使得主节点可以给从节点分配任务 崩溃检测 主节点必须具有检测从节点崩溃或失去连接的能力 组成员关系管理 主节点必须具有知道哪一个从节点可以执行任务的能力 元数据管理 主节点和从节点必须具有通过 ...
Read more

Redis 底层数据结构

Redis
背景最近在学习 Redis 底层实现,为了加深记忆,打算写一系列关于 Redis 的博客。 内容主要源自于《Redis 设计与实现》、网上的一些博客以及自己阅读源码后的一些思考。 动态字符串Redis 没有采用传统的 C 字符串的表示方式,而是构造了一种名为简单动态字符串(SDS)的抽象结构 ...
Read more

LeetCode 第132场周赛

算法
除数博弈题目描述爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。 最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作: 选出任一 x,满足 0 < x < N 且 N % x == 0 。 用 N - x 替换黑板上的数字 N 。 如果玩家无法执行这些 ...
Read more

Floyd 判圈算法

算法
用途Floyd Cycle Detection Algorithm,是一个可以在有限状态机、迭代器或者链表上判断时候有环的算法,同时还可以得出环的起点与长度的算法。 思路判断是否有环Floyd Cycle Detection Algorithm 有点类似于龟兔(我和别人在操场上)赛跑(跑步) ...
Read more

Spring事务管理

Spring
之前面试时候(阿里三面)有被问到过 Spring 中的事务管理,当时基本不懂,回答的相当辣眼睛。最近在造轮子时候用到了这方面的一些东西,干脆写篇博客来整理下这块的知识。很多内容源自于这篇博客。 核心接口 事务管理器Spring 不直接管理事务,而是提供了多个事务管理器,将事务管理的职责委 ...
Read more

Java中的资源访问问题

Java
Java 中资源访问其实是一件很常见的事,不过因为自己懒/忙,从来都没有整理过。趁着最近比较清闲,把这块的东西整理下。 概论首先比较重要的是,不要直接使用绝对路径去定位资源。绝对路径定位会导致很多问题,比如程序移动到新的机器上之后就需要改代码,是非常不利于部署的。 使用内置 API 来访 ...
Read more

对科研的一些思考

科研
科研经历最初接触科研是大二上。当时我刚学习机器学习没多久,对其还充满着激情,满心想着出国读个 PhD。2017年10月份就给计算机系的李武军老师发了一封邮件,李武军老师让我去跟他的一个研一的学生,去做一些场景文字识别的工作。学长是考研进来的,刚入学一个月,对于机器学习、计算机视觉方面几乎还是 ...
Read more

Docker 基础知识

docker
概论Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 Docker 使用 C/S 架构,使用远程 API 来管理和创建 Docker 容器。Docker 容器通过 Docke ...
Read more
Prev Next