代码改变世界

基于TCPCopy的Dubbo服务引流工具-DubboCopy

2015-05-31 11:23 by 横刀天笑, 3823 阅读, 收藏, 编辑
摘要: TCPCopy顾名思义,就是一个可以将tcp流量复制的工具(其实也可以复制UDP)。有了这样一个工具,我们就可以真实的复制线上流量,然后将这些流量复制到我们的测试服务器上。这样就可以很容易模拟线上真实用户的访问,做一些功能上的,性能上的测试。而且经过实际测试发现TCPCopy对线上机器的资源消耗也是...阅读全文

Netty中的坑(下篇)

2015-04-21 17:50 by 横刀天笑, 2036 阅读, 收藏, 编辑
摘要: 其实这篇应该叫Netty实践,但是为了与前一篇名字保持一致,所以还是用一下坑这个名字吧。Netty是高性能Java NIO网络框架,在很多开源系统里都有她的身影,而在绝大多数互联网公司所实施的服务化,以及最近流行的MicroService中,她都作为基础中的基础出现。Netty的出现让我们可以简单容...阅读全文

编写明显没有错误的代码

2015-04-08 10:55 by 横刀天笑, 1595 阅读, 收藏, 编辑
摘要: 昨天公司的技术微信公众号贴了一篇关于怎么检索一天所有订单的SQL的写法问题。类似: SELECT order_no FROM orders WHERE create_time >= '2015-04-07 00:00:00' AND create_time = '2015-04-07 00:00:0...阅读全文

Zookeeper-Zookeeper client

2014-11-23 22:27 by 横刀天笑, 5745 阅读, 收藏, 编辑
摘要: 当我写完Zookeeper leader选举后,准备看看Zookeeper的存储和处理客户端请求的时候发现,如果能看看Zookeeper的API是不是在理解后面的过程更好些呢。Zookeeper的client是通过Zookeeper类提供的。前面曾经说过,Zookeeper给使用者提供的是一个类似操...阅读全文

Zookeeper-Zookeeper leader选举

2014-11-23 17:44 by 横刀天笑, 15060 阅读, 收藏, 编辑
摘要: 在上一篇文章中我们大致浏览了zookeeper的启动过程,并且提到在Zookeeper的启动过程中leader选举是非常重要而且最复杂的一个环节。那么什么是leader选举呢?zookeeper为什么需要leader选举呢?zookeeper的leader选举的过程又是什么样子的?本文的目的就是解决...阅读全文

Zookeeper-Zookeeper启动过程

2014-11-22 20:25 by 横刀天笑, 10133 阅读, 收藏, 编辑
摘要: 在上一篇,我们了解了zookeeper最基本的配置,也从中了解一些配置的作用,那么这篇文章中,我们将介绍Zookeeper的启动过程,我们在了解启动过程的时候还要回过头看看上一篇中各个配置参数在启动时的位置。Zookeeper的启动入口在org.apache.zookeeper.server.quo...阅读全文

Zookeeper-Zookeeper的配置

2014-11-22 18:18 by 横刀天笑, 17252 阅读, 收藏, 编辑
摘要: 前面两篇文章介绍了Zookeeper是什么和可以干什么,那么接下来我们就实际的接触一下Zookeeper这个东西,看看具体如何使用,有个大体的感受,后面再描述某些地方的时候也能在大脑中有具体的印象。本文只关注分布式模式的zookeeper,因为这也是在生产环境的唯一部署方式,单机的zookeeper...阅读全文

Zookeeper-Zookeeper可以干什么

2013-11-17 14:45 by 横刀天笑, 19493 阅读, 收藏, 编辑
摘要: 在Zookeeper的官网上有这么一句话:ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.这大概描述了Zookeeper主要可以干哪些事情:配置管理,名字服务,提供分布式同步以及集群管理。那这些服务又到底是什么呢?我们为什么需要这样的服务?我们又为什么要使用Zookeeper来实现呢,使用Zookeeper有什么优势?接下来我会挨个介绍这阅读全文

Zookeeper--Zookeeper是什么

2013-11-13 00:26 by 横刀天笑, 9038 阅读, 收藏, 编辑
摘要: Google的三篇论文影响了很多很多人,也影响了很多很多系统。这三篇论文一直是分布式领域传阅的经典。根据MapReduce,于是我们有了Hadoop;根据GFS,于是我们有了HDFS;根据BigTable,于是我们有了HBase。而在这三篇论文里都提及Google的一个lock service---Chubby,哦,于是我们有了Zookeeper。随着大数据的火热,Hxx们已经变得耳熟能详,现在作为一个开发人员如果都不知道这几个名词出门都好像不好意思跟人打招呼。但实际上对我们这些非大数据开发人员而言,Zookeeper是比Hxx们可能接触到更多的一个基础服务。但是,无奈的是它一直默默的位于二线阅读全文

Linux虚拟文件系统(VFS)

2013-02-24 00:25 by 横刀天笑, 8840 阅读, 收藏, 编辑
摘要: 文件系统是操作系统里非常重要的一个子系统。虚拟文件系统,顾名思义。它为应用程序员提供一层抽象,屏蔽底层各种文件系统的差异。Linux的文件系统采用面向对象的方式设计,这使得Linux的文件系统非常容易扩展,我们可以非常容易将一个新的文件系统添加到Linux中。Linux本身主要是C语言编写的(少量汇编),而大家都知道C语言是典型的结构化语言,不属于面向对象语言,那为什么又说Linux的文件系统采用面向对象设计呢?(从这里可以看出,面向对象设计和面向对象编程语言其实关系并不大,殊不知很多人使用者Java之类的面向对象语言却编写着结构化的代码,也有人用C之类的结构化语言做出精妙的面向对象设计)。这阅读全文