摘要: 1.Motivacation 1.1.Distributed Metadata Storage 目前大量的开源系统(Pulsar,Kafka,DistributedLog)都依赖zookeeper进行metadata存储,在这些项目里面zookeeper都是元数据扩展性的瓶颈,受限制于zookeep 阅读全文
posted @ 2021-10-29 17:38 鲁仕林 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 摘要:很多人喜欢把RocketMQ与Kafka做对比,其实这两款消息队列的网络通信层还是比较相似的,本文就为大家简要地介绍下Kafka的NIO网络通信模型,通过对Kafka源码的分析来简述其Reactor的多线程网络通信模型和总体框架结构,同时简要介绍Kafka网络通信层的设计与具体实现。 一、Ka 阅读全文
posted @ 2019-09-26 11:38 鲁仕林 阅读(2053) 评论(0) 推荐(0) 编辑
摘要: 转载自:https://www.jianshu.com/p/d2cbaae38014 前提: 只针对Kafka 0.9.0.1版本; 说是运维,其实偏重于问题解决; 大部分解决方案都是google而来, 我只是作了次搬运工; 有些问题的解决方案未必一定是通用的, 若应用到线上请慎重; 如有疏漏之处, 阅读全文
posted @ 2019-09-18 20:01 鲁仕林 阅读(1580) 评论(0) 推荐(0) 编辑
摘要: HDFS(Hadoop Distributed File System)是一个分布式文件存储系统,几乎是离线存储领域的标准解决方案(有能力自研的大厂列外),业内应用非常广泛。近段抽时间,看一下 HDFS 的架构设计,虽然研究生也学习过相关内容,但是现在基本忘得差不多了,今天抽空对这块做了一个简单的总 阅读全文
posted @ 2019-07-24 18:09 鲁仕林 阅读(6046) 评论(0) 推荐(0) 编辑
摘要: Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(Uniform Resources Identifier)URI或者统一资源定位符(Uniform Resources Locato 阅读全文
posted @ 2019-07-24 16:50 鲁仕林 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 什么是自旋锁? 自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。 获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务,使用这种锁会造成busy-waiting。 Java如 阅读全文
posted @ 2019-05-14 16:02 鲁仕林 阅读(318) 评论(0) 推荐(0) 编辑
摘要: Kafka Controller 是 Kafka 的核心组件,在前面的文章中,已经详细讲述过 Controller 部分的内容。在过去的几年根据大家在生产环境中应用的反馈,Controller 也积累了一些比较大的问题,而针对这些问题的修复,代码的改动量都是非常大的,无疑是一次重构,因此,社区准备在 阅读全文
posted @ 2019-03-01 21:12 鲁仕林 阅读(1176) 评论(0) 推荐(0) 编辑
摘要: 一直都对内存映射文件这个概念很模糊,不知道它和虚拟内存有什么区别,而且映射这个词也很让人迷茫,今天终于搞清楚了。。。下面,我先解释一下我对映射这个词的理解,再区分一下几个容易混淆的概念,之后,什么是内存映射就很明朗了。 原理首先,“映射”这个词,就和数学课上说的“一一映射”是一个意思,就是建立一种一 阅读全文
posted @ 2018-10-18 14:24 鲁仕林 阅读(697) 评论(0) 推荐(0) 编辑
摘要: 一、学习的原因: 为了实现在服务异常停止运行后,有一个监控程序能监控到它,并自动重新启动这个服务。以下以tomcat为例子 二、工具supervise Daemontools是一个包含了很多管理Unix服务的工具的软件包。其中最核心的工具是supervise,它的功能是监控一个指定的服务,当该服务进 阅读全文
posted @ 2018-10-17 12:12 鲁仕林 阅读(795) 评论(0) 推荐(0) 编辑
摘要: 今天遇到一个linux进程启动时指定Max open files不对的问题,导致程序建立socket异常,进而导致fullgc问题,影响正常服务。所以顺带又温习了下linux下的父子进程的特性。 孤儿进程与僵尸进程[总结] 1、前言 之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸 阅读全文
posted @ 2018-08-01 15:25 鲁仕林 阅读(6535) 评论(1) 推荐(0) 编辑