开源学习分享
文章平均质量分 83
yfk
这个作者很懒,什么都没留下…
展开
-
源码分享:c++配置类
网上一个热心的大牛分享了一个c++配置类,如下:Config.h //Config.h #pragma once #include #include #include #include原创 2011-09-23 02:14:16 · 4648 阅读 · 0 评论 -
Kafka(二):环境搭建&测试
参考:Kafka QuickStart在一台机器上构建一个3个节点的kafka集群,并测试producer、consumer在正常情况下的行为,以及在lead broker/follow broker失效情况下的行为1.下载并解压kafka 0.8.0 release$ mkdir kafka$ wget http://apache.dataguru.cn/kafka/0.原创 2013-12-18 19:17:03 · 52091 阅读 · 3 评论 -
Sqoop:容错
对于一个传输工具/平台,传输任务失败不可怕,可怕的地方在于“脏数据”如何处理,3种思路:1. 临时表:使用临时表缓存数据,然后在一个transaction中将临时表的数据move到目的表2. 自定义回滚:通过用户自定义的语句/方法,在任务失败后,执行清数据操作3. 传输任务的幂等性:如果一个任务失败了,产生了脏数据,解决问题后,再跑一次任务,能够最终正确,例如hive写入使用INSERT OVERWRITE,原创 2014-01-03 19:16:48 · 15685 阅读 · 1 评论 -
Redis Sentinel的信息同步
Sentinel采用Gossip的思想来做sentinel信息的同步,11年写了一篇文章Gossip算法学习 ,可以看下其核心思想如下:1. 去中心化,各个节点之间完全对等,不需要任何的中心节点。2. 每个参与者都有关于一个自己信息的表, 同时每一个参与者要知道所有其他参与者的信息, 即要维护一个全局的表Sentinel本地维护了2个字典,包括其监控的各个master节点的信息原创 2014-04-14 19:35:41 · 13738 阅读 · 0 评论 -
Redis Sentinel源码分析(二)
sentinelTimer函数周期性运行,第一次在服务启动后1ms执行,后续执行周期1000/server.hz(sentinelTimer函数会修改server.hz的值)sentinelTimer内部包含sentinel模式需要定期执行的操作,包括check master、slave、sentinel的状态,并根据配置的条件判断是否需要fail over。原创 2014-03-31 19:09:32 · 14700 阅读 · 0 评论 -
Redis Sentinel源码分析(一)
Base 2.8.7在代码分析前,先总体介绍下sentinel 的机制。1. 下线定义sentinel对下线有两种定义:a.主观下线(sdown):sentinel实例本身对服务实例的判断b.客观下线(odown):多个sentinel实例对同一个服务SDOWN的状态做出协商后的判断,只有master才可能在odown状态简单的说,一个sentinel单独做出的判断只能是s原创 2014-03-31 18:59:03 · 20437 阅读 · 0 评论 -
Redis repl-disable-tcp-nodelay配置
Redis的Replication有一个配置“repl-disable-tcp-nodelay”在slave和master同步后(发送psync/sync),后续的同步是否设置成TCP_NODELAY假如设置成yes,则redis会合并小的TCP包从而节省带宽,但会增加同步延迟(40ms),造成master与slave数据不一致假如设置成no,则redis master会立即发送同步数据,没有延迟前者关注性能,后者关注一致性原创 2014-03-20 19:14:02 · 17619 阅读 · 1 评论 -
Hadoop数据传输工具sqoop
概述sqoop是Apache顶级项目,主要用来在Hadoop和关系数据库中传递数据。通过sqoop,我们可以方便的将数据从关系数据库导入到HDFS,或者将数据从HDFS导出到关系数据库。sqoop架构:sqoop架构非常简单,其整合了Hive、Hbase和Oozie,通过map-reduce任务来传输数据,从而提供并发特性和容错。sqoop的进一步发展可以参考:A Ne原创 2013-03-24 19:22:05 · 64165 阅读 · 4 评论 -
[源码分享] HIVE表数据量统计&邮件
概要:计算HIVE BI库下每天数据表总大小及增量输出:总大小:xxxG日同比新增数据量:xxxG周同比新增数据量:xxxG月同比新增数据量:xxxG总表数:xxx日新增表数:xxx周新增表数:xxx月新增表数:xxx最大的20张表:......表数据增量TOP20:......代码:bi_report.sh#!/bin/bashGI原创 2013-10-29 20:40:57 · 8028 阅读 · 1 评论 -
对延时敏感的应用是否应该使用Docker?
I keep hearing about [Docker] as if it is the greatest thing since sliced bread, but I've heard anecdotal evidence that **low latency apps take a hit原创 2015-12-23 09:35:51 · 4438 阅读 · 1 评论 -
配置管理系统浅析
我们的程序常常有一些配置信息,例如连接的数据库配置、缓存大小、线程数等等。这些配置信息的管理一般有两种方式:a. 配置信息放到文件中,程序启动时导入,或者在程序运行过程中监控文件的修改重新导入配置文件b. 公司或者部门范围内构建统一的配置管理系统,应用通过API获取配置服务。通过配置文件管理配置信息的方式存在一些问题,主要有:1.部署和更新成本高当前一个互联网服务常常部署在多台原创 2013-06-13 21:42:29 · 15768 阅读 · 2 评论 -
c++开源日志库log4cplus
1. 简介log4cplus是C++编写的开源的日志系统,The purpose of this project is to port the excellentLog for Java (log4j)logging library to C++。log4cplus具原创 2011-09-23 01:28:04 · 8383 阅读 · 4 评论 -
源码分享:输出到mysql包装
mysql输出接口,包扩重连接Output_mysql.h// Output_mysql.h: interface for the Output_mysql class./////////////////////////////////////////////////原创 2011-10-08 13:57:15 · 1714 阅读 · 0 评论 -
Sector/Sphere:High Performance Distributed File System and Parallel Data Processing Engine
1. Overviewsector/sphere was created by Dr. Yunhong Gu in 2006 and it is now maintained by a group of open source developers, available from : http://sector.sourceforge.net/sector : Distrubuted fi原创 2011-10-24 22:49:11 · 3024 阅读 · 0 评论 -
jemalloc: another option
1. 概述jemalloc起源于Jason Evans 2006年在BSDcan conference发表的论文:A Scalable Concurrent malloc Implementation for FreeBSDjason认为phkmalloc(FreeBSD’s previous malloc implementation by Kamp (1998))没有考虑多处理器的情况原创 2011-12-13 23:32:13 · 18772 阅读 · 1 评论 -
Redis源码分析:内存管理
源码版本:redis 2.4.4redis内存相关函数都放在zmalloc.h zmalloc.c中redis中可以使用tcmalloc、jemallocMakefile:ifeq ($(USE_TCMALLOC),yes) ALLOC_DEP= ALLOC_LINK=-ltcmalloc ALLOC_FLAGS=-DUSE_TCMALLOCendifif原创 2012-01-06 14:03:42 · 4138 阅读 · 0 评论 -
API设计中时间定义的5条规则
API设计中,如何定义你的时间参数和时间相关的返回值可能会是一个潜在的问题,千万不要低估这些问题,它们可能会对你未来的设计和实现造成很大麻烦。本文提供一些tips可能可以帮助到大家规则#1 使用ISO-8601作为时间格式使用ISO-8601应该没有太大疑问,毕竟W3C/IETF/XKCD都在使用这个标准。ISO-8601可能完美的支持显示日期、时间以及时区ISO-8601有很多优点,包括:自然翻译 2016-07-18 20:21:53 · 6514 阅读 · 0 评论