logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

为什么Netty使用NIO而不是AIO?

NIO VS AIO理论上,AIO是真正的异步IO,IO吞吐量是要高于NIO的。两种IO模式的概念如下:NIO:IO复用模型,仍是阻塞IO,通过复用IO线程提升吞吐量;AIO:线程A执行IO操作时,注册回调函数,当IO操作执行完成后,内核通知应用层,由线程B执行回调逻辑;为什么Netty使用NIO而不是AIO?原因:在Linux系统上,AIO的底层实现仍使用EPOLL,与...

ZooKeeper双机房部署方案讨论

背景  对于ZK集群,理论上至少三个机房才能真正做到跨机房容灾。但在实际环境中,由于成本的原因,大多中小公司采用双机房部署的方案,存在两种形式。方案一:非对等部署  非对等部署:投入更多的资源重点维护某个机房,如下图所示。优点集群总量可为奇数,容错性更好;有一定的跨机房容灾能力,机房B挂掉认可正常运行;缺点存在数据丢失的可能(机房A被毁,且Master在机房...

日志规约

使用日志框架API  应用中不可直接使用日志系统(Log4j、Logback)中的 API,而应依赖使用日志框架SLF4J 中的 API,使用门面模式的日志框架,有利于日志框架的升级和使用统一。import org.slf4j.Logger;import org.slf4j.LoggerFactory;private static final Logger logger = Logge...

MurmurHash算法

算法介绍  MurmurHash 是一种非加密型哈希函数,适用于一般的哈希检索操作。已经被应用到很多开源项目如Redis,Memcached,Cassandra,HBase,Lucene等。与其它流行的哈希函数相比,对于规律性较强的key,MurmurHash的随机分布特征表现更良好。   MurmurHash is a non-cryptographic hash function suit

到底了