所有博客

构建可拓展服务

可拓展服务基础 https://www.lecloud.net/tagged/scalability/chrono 横向扩展 每个服务器搭建相同的代码库,不存储用户数据 用户session存储在独立的数据库或缓存中

使用confd + etcd实现Nginx动态配置

etcd etcd是一个高可用的分布式键值(key-value)数据库。内部采用raft协议作为一致性算法,基于Go语言实现。etcd数据库与redis类似,其独特性在于: 分布式部署,扩展性强,且数据和事务保持一致 提供watch接口,可监听多个键的变化 对于单个键而言,每次更新其值都会保留上一个版本,可以对键进行版本回溯 ttl使用租约实现

ETCD 安装

应用场景 https://tonydeng.github.io/2015/10/19/etcd-application-scenarios/ 集群监控与LEADER竞选 分布式队列 分布式锁 分布式通知与协调 消息发布与订阅 服务发现

5个方法助你行云流水写脚本

作为一名有理想的程序员,我们或多或少都会写一些 shell 脚本,它们可能很短,只有简单的几个命令,也可能非常长,包含了系统检查、编译和运行等多个庞大复杂的任务

数据结构与算法-二叉树

二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)

数据结构与算法-树与树算法

树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: