罗道文的私房菜

分享知识,分享快乐

  • 首页
  • 归档
  • 阅读
  • 书签
  • 关于
  • 搜索

kafka源码分析之Producer

发表于 2017-05-02   |   分类于 kafka   |   阅读次数
最近在kafka的代码,着实有点吃力,因为这是我第一次看java类代码,没有当时看redis(c语言)和NSQ(golang语言)那种享受,第一是kafka代码量非常大,第二是kafka代码封装较多。我们知道数据库或者文件戏系统的客户端一般都是当需要获取数据时,发送请求和等待回复。然而消息队列的客户端比上述复杂,例如,kafka一般是用在分布式架构下,因此kafka server都不止一台,所以kafka消息队列的Producer就需要一个IO多路复用进行每个连接是否可写以及可读;而且kafka ...
阅读全文 »

kafka源码分析之概述

发表于 2017-04-24   |   分类于 kafka   |   阅读次数
最近帮实验室写了一个Spark+kafka实时处理日志的监控系统案例,大概流程为: 用户购物日志发送给Kafka; Spark实时从Kafka接收购物日志,利用Spark Streaming实时处理,最后将结果发送给Kafka; 用Flask构建一个web程序接收Kafka处理后的数据,用Flask-SocketIO实时将每秒的数据发送给客户端浏览器; 浏览器利用socket.io.js实时接收web发送来的数据,利用highcharts.js展示出来。 这个案例很好的展示了利用Spark+ ...
阅读全文 »

nsqd执行解析

发表于 2017-04-14   |   分类于 nsq   |   阅读次数
这几天因为实验室原因,接触了kafka,又因为这个kafka,我就记起来早在去年看NSQ消息队列,而且之前也忘了写篇关于nsqd的原理介绍,因此这两天看了下nsqd代码,也就有了这篇文章。nsqd用golang语言编写,整体的框架以及代码都写得很棒,很好发挥了golang中goroutine和channel的结合使用,看nsq代码可以学习如何更优雅的使用golang,就如看redis可以学习原来c语言还可以写的那么优雅。 nsqd是NSQ中最重要的组件,接收生产者的消息以及给消费者发送消息都由n ...
阅读全文 »

Lua原来这么好用

发表于 2017-03-24   |   分类于 lua   |   阅读次数
今天这篇文章就随意谈谈lua。最近在看nginx+lua,刚好学了lua,就被这门语言的简练给吸引了。lua语言可以大大减轻一个人的心智负担,除了变量,操作符,语句以及函数这些最基础的语言功能外,剩下最重要的就是数据结构table(数组本质上也是table的特例)了。不用去记那么多的语法以及黑魔法,简直大快人心。 我现在对Lua使用感兴趣部分就是nginx+lua和redis内嵌lua;特别是前者,nginx+lua+redis构建高性能应用。lua+nginx可以使nginx不需要重新编译的情 ...
阅读全文 »

Nginx是这么运行的

发表于 2017-03-17   |   分类于 nginx   |   阅读次数
很早之前就有看nginx的冲动,但是一直被一些事耽搁着,最近在繁忙之中,抽出点时间,看了下nginx代码,发现整体上并不是很难看懂,而且刚好想学习nginx+lua开发。nginx在互联网公司使用很广,最重要的功能当属反向代理和负载均衡了吧,当然还有缓存。所以有必要对nginx熟悉使用和深入了解。 记得我之前在很多文章有提到,后台组件框架主要有三种:redis单进程单线程,memcache单进程多线程,nginx多进程;等看了nginx之后,我也算集齐了;nginx以模块化方式开发,比如核心模块 ...
阅读全文 »
12…22
罗道文

罗道文

分享知识,分享快乐

106 日志
33 分类
116 标签
RSS
github weibo zhihu
Creative Commons
Links
  • 赖明星的博客地址
  • 蔡珉星的博客地址
  • 阮榕城的博客地址
  • 陈友兵的博客地址
  • 郑江龙的博客地址
  • 厦门大学数据库实验室
© 2017 罗道文
由 Hexo 强力驱动
本站总访问量次 |
主题 - NexT.Pisces