- 浏览: 753189 次
- 性别:
- 来自: 北京
最新评论
-
萨琳娜啊:
Java读源码之Netty深入剖析网盘地址:https://p ...
使用JAVA操作netty框架 -
小灯笼:
Netty源码剖析视频教程网盘地址:https://pan.b ...
使用JAVA操作netty框架 -
luckywind:
请问怎么下载那个svn上的源码啊?
本地调试Hbase源码详解 -
heng123:
Netty视频教程https://www.douban.com ...
使用JAVA操作netty框架 -
kongdong88:
Netty简单应用与线上服 ...
使用JAVA操作netty框架
文章列表
大家好,关于博客的内容,后续主要在如下地址中进行发表,这里的博客只是作为同步记录使用,有可能图片会不能显示出来,请大家移足到这里查看,谢谢。
http://www.jianshu.com/users/a9b2d43bb94e/latest_articles
http://blog.csdn.net/u013970991?viewmode=contents
简书:http://www.jianshu.com/u/a9b2d43bb94e
csdn博客:http://blog.csdn.net/u013970991/
深入淘宝Diamond之客户端架构解析
- 博客分类:
- 开源工具总结
说明:本文不介绍如何使用Diamond,只介绍Diamond的实现原理
一、什么是Diamond
diamond是淘宝内部使用的一个管理持久配置的系统,它的特点是简单、可靠、易用,目前淘宝内部绝大多数系统的配置,由diamond来进行统一 ...
玩转Flume之核心架构深入解析
- 博客分类:
- Flume
玩转Flume之核心架构深入解析
字数2224 阅读29 评论0 喜欢0
前段时间我们分享过玩转Flume+Kafka原来也就那点事儿和Flume-NG源码分析-整体结构及配置载入分析这二篇文章,主要介绍了flume的简单使用和配置文件加载的全过程,那么今天我们重点分析flume核心原理,从而了解Source、Channel和Sink的全链路过程。
Flume-NG源码分析-整体结构及配置载入分析
弦外之音很多朋友都在问我,经常看各种框架的源码会不会感到很枯燥,是什么东西在驱动着我一直看下去。其实我想说的很简单,作为一个程序员,不管你工作了多少年,能够经常学习和借鉴国内外优秀框架设计思想和程序架构,我想对我们来说是最直接的提高。
终于开始Flume源码的分析研究工作了,我也是边学边和大家分享,内容上难免有不足之处,望大家见谅。
在 http://flume.apache.org 上下载flume-1.6.0版本,将源码导入到Idea开发工具后如下图所示:
玩转Flume+Kafka原来也就那点事儿
- 博客分类:
- Flume
好久没有写分享了,继前一个系列进行了Kafka源码分享之后,接下来进行Flume源码分析系列,望大家继续关注,今天先进行开篇文章Flume+kafka的环境配置与使用。
一、FLUME介绍
Flume是一个分布式、可靠、和高可用的海量 ...
这篇文章是作为:[跟我学Kafka源码之Consumer分析](http://flychao88.iteye.com/blog/2268481) 的补充材料,看过我们之前源码分析的同学可能知道。
本文将从客户端程序如何调用Consumer获取到最终Kafka消息的全过程以图解的方式作一个源码级别的梳理。
Akka框架性能的简单测试分析
- 博客分类:
- 开发框架
因为最近工作的关系,要把异步任务从应用服务器中拆分到专门的异步处理服务器中.
方案一
是采用MQ的方式将任务消息发出,在服务端进行处理,如下图所示:
Sample Flowchart Template (2).png
我们的kafka源码分享已经进行过很多期了,主要的内容也都分享的差不多了,那么那么在今后的分享中,主要集中在kafka性能优化和使用
Kafka集群中的其中一个Broker会被选举为Controller,主要负责Partition管理和副本状态管理,也会执行类似于重分配Partition之类的管理任务。如果当前的Controller失败,会从其他正常的Broker中重新选举Controller。
进入KafkaController.scala文件看到如下代码:
class KafkaController(val config :
一、zookeeper存储结构总图
图片
当我们kafka启动运行以后,就会在zookeeper上初始化kafka相关数据,主要包括六大类:
consumers
admin
config
controller
brokers
controller_epoch
1、brokers节点结构说明
很久没有做技术方面的分享了,今天闲来有空写一篇关于Kafka通信方面的文章与大家共同学习。
一、Kafka通信机制的整体结构
74EACA88-8B9D-45F8-B7BF-202D658205A9.png
这个图采用的就是我们之前提到的SEDA多线程模型,链接如下:http:/ ...
为什么说Kafka使用磁盘比内存快
- 博客分类:
- kafka源码分析
学习过[跟我学Kafka源码之LogManager分析]的同学一定会问为什么Kafka大量使用了磁盘作为传统意义的缓存。
其实Kafka最核心的思想是使用磁盘,而不是使用内存,可能所有人都会认为,内存的速度一定比磁盘快,我也不例外。在看了Kafka的设计思想,查阅了相应资料再加上自己的测试后,发现磁盘的顺序读写速度和内存持平。
而且Linux对于磁盘的读写优化也比较多,包括read-ahead和write-behind,磁盘缓存等。如果在内存做这些操作的时候,一个是JAVA对象的内存开销很大,另一个是随着堆内存数据的增多,JAVA的GC时间会变得很长,使用磁盘操作有以下几个好处:
磁 ...
一、传统并发模型的缺点基于线程的并发
特点:每任务一线程直线式的编程使用资源昂高,context切换代价高,竞争锁昂贵太多线程可能导致吞吐量下降,响应时间暴涨。
基于事件的并发模型
【转】Java开发必会的Linux命令
- 博客分类:
- java基础
作为一个Java开发人员,有些常用的Linux命令必须掌握。即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服务器机器交互,就要通过shell命令。
本文并不会对所有命令进行详细讲解,只给出常见用法和解释。具体用法可以使用--help查看帮助或者直接通过google搜索学习。
1.查找文件