- 博客(12)
- 资源 (4)
- 收藏
- 关注
原创 Zookeeper 集群角色、原理
Zookeeper 的集群角色集群中的 server 分为三种角色:leader, follower, observer。其中observer是配置zoo.cfg明确定义的,角色leader 在一个zookeeper集群中有且只能有一个,是通过内部的选举机制临时产生的。leader 是集群中最重要的角色。负责响应集群的所有对Zookeeper数据状态变更的请求。它会将每个状态更新请求进行顺序管理,以便保证整个集群内部消息处理的 FIFO,遵循了顺序一致性(Sequential Consistenc
2020-05-24 20:45:56
878
原创 Zookeeper 数据结构详解
Zookeeperhttps://zookeeper.apache.org/doc/current/zookeeperOver.htmlZooKeeper is a distributed, open-source coordination service for distributed applications.It exposes a simple set of primitives that distributed applications can build upon to implement
2020-05-24 16:41:09
1552
原创 Redis 集群演进探讨和总结
Redis为什么需要集群? 首先Redis单实例主要有单点,容量有限,流量压力上限的问题。Redis单点故障,可以通过主从复制replication,和自动故障转移sentinel哨兵机制。但Redis单Master实例提供读写服务,仍然有容量和压力问题,因此需要数据分区,构建多个Master实例同时提供读写服务(不仅限于从replica节点提供读服务)。那么就需要一定的机制保证数据分区。这样能充分把容量分摊到多台计算机,或能充分利用多核计算机的性能。并且数据在各个主Master节点间不能混乱,当
2020-05-22 17:40:19
431
原创 Redis 哨兵机制
虽然现在使用哨兵+主从的方式比较少了,但通过理解 Redis 哨兵,我们能获得更深入的分布式的知识。https://redis.io/topics/sentinelsentinel基本配置sentinel的作用:1、监控2、通知3、自动故障转移 (1.投票决策master是否挂了,如果投票决策master挂了,2.则进一步决策选出执行故障转移的leader, 去执行故障转移)4、充当client的授权和master查询服务sentinel monitor <master-group
2020-05-21 18:36:55
768
原创 Redis 主从复制全剖析
Redis的主从复制是如何工作的?如何在同步数据的同时,还保持着高性能,你了解吗?https://redis.io/topics/replication注意以下基于 redis 5 最新版本,slave 名词和配置项已经被官方改为 replica,其实是一个东西,都指从节点。主从复制的基本流程# Master-Replica replication. Use replicaof to make a Redis instance a copy of# another Redis serve
2020-05-21 17:06:09
755
原创 安装和使用ArchLiunx超详细教程
安装系统一、下载介质https://www.archlinux.org/download/二、启动 ISO 到Live 环境此步骤由很多种方式:制作ISO为U盘启动工具,可以使用 Ultra ISO 或 大白菜有Linux/Unix系统的,可以硬盘写入Grub,制作启动项三、安装前的准备启动 iso到 live 环境,登录后,在 /root, ArchLinux 贴心地 放置了 install.txt 文件供参考。验证启动模式如果以在 UEFI 主板上启用 UEFI 模式,Arc
2020-05-18 10:46:24
3397
原创 Redis 持久化详解过程
http://www.redis.cn/topics/persistence.html持久化Redis 如同其他的存储组件一样,提供了两类持久化方式:快照,和全量追加日志。RDB - 快照在默认情况下, Redis 将数据库快照保存在名字为dump.rdb的二进制文件中。你可以对 Redis 进行设置, 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时, 自动保存一次数据集。你也可以通过调用 SAVE或者 BGSAVE , 手动让 Redis 进行数据集保存操作。这种持久化方.
2020-05-11 10:55:51
1067
原创 Redis 过期时间与内存管理
http://www.redis.cn/commands/expire.htmlhttp://www.redis.cn/topics/lru-cache.html内存管理当 Redis 作为缓存使用时(此时缓存仅作为热点数据提高服务的访问性能),需要考虑内存的限制,以及如何随着业务的增长,仅保留热点数据。过期时间Redis 所有的数据结构都可以设置过期时间,时间到了,Redis 会自动删除相应的对象。需要注意的:过期expire是以对象为单位,比如一个 hash 结构的过期是整个 ha.
2020-05-11 10:48:56
757
原创 图解Linux的IO模型和相关技术
阻塞IO模型(Blocking I/O)Linux 内核一开始提供了 read 与 write 阻塞式操作。当客户端连接时,会在对应进程的文件描述符目录(/proc/进程号/fd)生成对应的文件描述符(0 标准输入;1 标准输出;2 标准错误输出;),比如 fd 8 , fd 9;应用程序需要读取的时候,通过系统调用 read (fd8)读取,如果数据还没到来,此应用程序的进程或线程会阻塞等待。man 2 read概述 #include <unistd.h> ss
2020-05-10 16:40:18
815
原创 JVM 对象分配过程
对象分配过程1)依据逃逸分析,判断是否能栈上分配?如果可以,使用标量替换方式,把对象分配到VM Stack中。如果 线程销毁或方法调用结束后,自动销毁,不需要 GC 回收器 介入。否则,继续下一步。2)判断是否大对象?如果是,直接分配到堆上 Old Generation 老年代上。如果对象变为垃圾后,由老年代GC 收集器(比如 Parallel Old, CMS, G1)回收。...
2020-05-03 20:04:35
1067
原创 JVM G1(Garbage-First Garbage Collector)收集器全过程剖析
G1垃圾收集器的设计原则是“首先收集尽可能多的垃圾(Garbage First)”,目标是为了尽量缩短处理超大堆(超过4GB)产生的停顿。因此,G1并不会等内存耗尽(比如Serial 串行收集器、Parallel并行收集器 )者快耗尽(CMS)的时候才开始垃圾回收,而是在内部采用了启发式算法,在老年代中找出具有高收集收益的分区(Region)进行收集。同时 G1 可以根据用户设置的STW(S...
2020-05-03 18:19:42
677
原创 RedHat Enterprise Linux 5 问题解决列表
RedHat Enterprise Linux 5 问题解决列表一 锐捷上网问题MENTOHUSThttp://code.google.com/p/mentohust/准备文件1)上述开源项目网站下载.rpm文件mentohust-0.3.4-1.el5.i386.rpm2)Windows系统锐捷安装目录的8021.exe, SuConfig.dat,W32N55.dll三个文件安装命令$rpm-ivh mentohust-0.3.4-1.el5.i386.rpm$mkdir /etc/
2010-12-06 19:10:00
816
findbugs-2.0.3
2015-07-03
【原创】c#报时小程序1.0.0开发 -- 朗弦
2011-04-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人