- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 rsyslog, logstash如何结合收集处理日志信息
rsyslog, logstash如何结合收集处理日志信息一. 简介 rsyslog是日志收集工具,现在很多Linux都自带rsyslog,用其替换掉syslog。 rsyslog本身有一个配置文件 /etc/rsyslog.conf,里面定义了日志文件,以及相应保存的地址。 Logstash是一款轻量级的日志搜集处理框架,可以方便的
2016-07-31 16:50:31 3122
转载 互联网系统可靠性基础:正确的异常处理
互联网系统可靠性基础:正确的异常处理 系统的可靠性比性能、高并发更重要。没人希望整天分析错误数据、修复错误数据。任何一个错误都可能导致客户的损失。 成熟可靠的系统和不可靠系统之间的差别很大程度取决于:异常的正确处理。经验丰富的程序员和经验不丰富的程序员之间的差别是是否考虑到并正确处理可能发生的各种异常。这和处理用户输入数据的验证非常相似。
2016-07-24 21:58:21 1884
原创 Linux上搭建Jenkins
Linux上搭建Jenkins 下面给出Linux上搭建Jenkins的环境,教你一步步搭建起来。 1. Jenkins下载 Jenkins 下载网址: Download Jenkins Jenkins 最新版本: jenkins_1.514_all.deb(Ubuntu/De
2016-07-24 20:18:19 1147
原创 zookeeper Quorum请求的流程图
zookeeper Quorum请求的流程图 Quorum请求是转发给Leader处理,并且需要得一个Follower Quorum确认的请求。这些请求包括: 1)znode的写操作(OpCode.create,OpCode.delete,OpCode.setData,OpCode.setACL) 2)Session的创建和关闭
2016-07-23 23:11:01 1746
原创 服务器编程Actor机制
服务器编程Actor机制 一. 简介Erlang因为其优秀的并发特性而被大家所关注,而其并发特性的关键之一就是在于其采用了Actor模型,与Actor模型相对应的模型则是我们在面向对象编程中使用的Object模型,Object模型中宣扬,一切皆为Object(对象),而Actor模型则认为一切皆为Actor。Actor模型中,Actor之间通过消息相互通信,这是其和
2016-07-19 23:40:33 2712
原创 LevelDB源码分析之内存管理类arena
LevelDB源码分析之内存管理类arena Leveldb的大部分内存管理依赖于C++语言的默认实现,也就是不对内存进行管理。只是在memtable的实现中用到了一个简单的内存管理器(arena)。因为memtable的内部实现skip list写入时,需要分配新节点,大量节点的直接分配可能会带来较多的碎片,影响运行效率。因此,leveldb在每个memtable中
2016-07-09 23:47:49 1964
原创 使用Docker实现持续集成
使用Docker实现持续集成基于Docker的特征,现在常见的利用Docker进行持续集成的流程如下:开发者提交代码;触发镜像构建;构建镜像上传至私有仓库;镜像下载至执行机器;镜像运行。其基本拓扑结构如图1所示。
2016-07-09 16:53:35 1660
原创 同步异步实现代码小结
客户端同步服务端异步。Future future = request(server);//server立刻返回futuresynchronized(future){while(!future.isDone()){ future.wait();//server处理结束后会notify这个future,并修改isdone标志}}return future.get();
2016-07-07 10:13:44 1133
原创 EasyMock记录
EasyMock记录 一般我们先创建一个Mock对象,然后record(录制)这个对象的行为,接着将对象设置为replay(回放)状态,之后我们执行需要测试的业务代码并检验代码是否返回正确的结果,最后,我们可以verify(验证)整个过程中,Mock对象是否完成了record阶段的设定。
2016-07-06 15:23:14 1130
原创 高性能Key/Value存储引擎levelDB, rocksDB, TiDB,InnoDB
高性能Key/Value存储引擎levelDB, rocksDB, sessionDB1. 简单介绍 LevelDB是Google开源的持久化KV单机数据库,具有很高的随机写,顺序读/写性能,但是随机读的性能很一般,也就是说,LevelDB很适合应用在查询较少,而写很多的场景。LevelDB应用了LSM (Log Structured Merge) 策略,l
2016-07-03 23:36:00 15436
原创 RPC调用的流程
RPC调用的流程 要让网络通信细节对使用者透明,我们自然需要对通信细节进行封装,我们先看下一个RPC调用的流程:1)服务消费方(client)调用以本地调用方式调用服务;2)client stub接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体;3)client stub找到服务地址,并将消息发送到服务端;4)server stub收到消息后
2016-07-03 15:33:55 2124
原创 glog详解
glog详解1. glog的安装与使用 1、下载glog。 http://code.google.com/p/google-glog/downloads/detail?name=glog-0.3.3.tar.gz 2、安装glog。 ./configure --preifx=mypath
2016-07-03 00:26:59 10453 2
原创 condition update在分布式系统中设计
condition update在分布式系统中设计 1. 定义 condition update称为条件更新,用于分布式系统中数据一致性,能够保证在并发操作数据时的正确性。 2. 方式 1. 可以通过version来保证condition update,每一次对文件的更新都产生一个version,而且客户端可以拿到这个versio
2016-07-02 16:08:50 807
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人