API设计中时间定义的5条规则

API设计中,如何定义你的时间参数和时间相关的返回值可能会是一个潜在的问题,千万不要低估这些问题,它们可能会对你未来的设计和实现造成很大麻烦。本文提供一些tips可能可以帮助到大家规则#1  使用ISO-8601作为时间格式使用ISO-8601应该没有太大疑问,毕竟W3C/IETF/XKCD都在使用这个标准。ISO-8601可能完美的支持显示日期、时间以及时区ISO-8601有很多优点,包括:自然...
阅读(2990) 评论(0)

对延时敏感的应用是否应该使用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...
阅读(2347) 评论(1)

Redis Cluster(Redis 3.X)设计要点

Redis 3.0.0 RC1版本10.9号发布,Release Note这个版本支持Redis Cluster,相信很多同学期待已久,不过这个版本只是RC版本,要应用到生产环境,还得等等Redis Cluster设计要点:架构:无中心Redis Cluster采用无中心结构,每个节点都保存数据和整个集群的状态每个节点都和其他所有节点连接,这些连接保持活跃使用gossip协议传播信息以及发现新节点...
阅读(23060) 评论(5)

Vector Clock理解

背景最近在重读“Dynamo: Amazon’s Highly Available Key-value Store”(经典好文,推荐!),文章4.4 中聊到了Data Version为了提高可用性,Dynamo允许“更新”操作异步的传播到其他副本,当出现多个写事件并发执行时,可能会导致系统中出现多个版本的对象。由于我们无法保证分布式系统中的多个结点的物理时钟是完美同步的,所以通过物理时钟来确定事件...
阅读(5789) 评论(0)

Redis集群方案及实现

之前做了一个Redis的集群方案,跑了小半年,线上运行的很稳定,还没出过大的状况差不多可以跟大家分享下经验,之前写了一篇文章 数据在线服务的一些探索经验,简单介绍了Reids在我们这边的应用应用我们的Redis集群主要承担了以下服务:1. 实时推荐2. 用户画像3. 诚信分值服务集群状况集群峰值QPS 1W左右,RW响应时间999线在1S左右整个集群:1. Redis节点: 8台物理机;每台128...
阅读(73498) 评论(15)

HBase原子性保证

HBase提供基于单行数据操作的原子性保证 即:对同一行的变更操作(包括针对一列/多列/多column family的操作),要么完全成功,要么完全失败,不会有其他状态...
阅读(7846) 评论(0)

HBase应用:Table设计

从应用角度,有两点比较重要: 1. HBase中RowKey是按照字典序排列的 2. 不同Column Family的数据,在物理上是分开的...
阅读(8898) 评论(0)

数据在线服务的一些探索经验

一个新增的数据服务,在选取存储类型时,follow以下原则: 1. 优先使用HBase/Redis,HBase/Redis无法支持的查询语义使用Mysql(分页查询,count) 2. 小数据量(内存占用<10G量级)或者对查询响应时间要求很高的应用使用Redis(user profile) 3. 海量数据使用HBase(用户行为流水/消息)...
阅读(6377) 评论(0)

Redis 存储结构设计

Redis是一个包含了很多Key-Value对的大字典,这个字典支持的Value非常丰富,可以为字符串、哈希表、列表、集合和有序集,基于这些类型丰富的value,扩展出了功能强大的操作,例如hmset、lpush、sadd等...
阅读(17914) 评论(0)

Redis Sentinel的信息同步

Sentinel采用Gossip的思想来做sentinel信息的同步,11年写了一篇文章Gossip算法学习 ,可以看下 其核心思想如下: 1. 去中心化,各个节点之间完全对等,不需要任何的中心节点。 2. 每个参与者都有关于一个自己信息的表, 同时每一个参与者要知道所有其他参与者的信息, 即要维护一个全局的表 Sentinel本地维护了2个字典,包括其监控的各个master节点的信息...
阅读(3754) 评论(0)

Redis Sentinel源码分析(二)

sentinelTimer函数周期性运行,第一次在服务启动后1ms执行,后续执行周期1000/server.hz(sentinelTimer函数会修改server.hz的值) sentinelTimer内部包含sentinel模式需要定期执行的操作,包括check master、slave、sentinel的状态,并根据配置的条件判断是否需要fail over。...
阅读(4244) 评论(0)

Redis Sentinel源码分析(一)

Base 2.8.7 在代码分析前,先总体介绍下sentinel 的机制。 1. 下线定义 sentinel对下线有两种定义: a.主观下线(sdown):sentinel实例本身对服务实例的判断 b.客观下线(odown):多个sentinel实例对同一个服务SDOWN的状态做出协商后的判断,只有master才可能在odown状态 简单的说,一个sentinel单独做出的判断只能是s...
阅读(7535) 评论(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会立即发送同步数据,没有延迟 前者关注性能,后者关注一致性...
阅读(5018) 评论(1)

hive UDF

HIVE允许用户使用UDF(user defined function)对数据进行处理。 用户可以使用‘show functions’ 查看function list,可以使用'describe function function-name'查看函数说明。 hive> show functions; OK ! != ...... Time taken: 0.275 seconds hive>...
阅读(30502) 评论(3)

Sqoop:容错

对于一个传输工具/平台,传输任务失败不可怕,可怕的地方在于“脏数据”如何处理,3种思路: 1. 临时表:使用临时表缓存数据,然后在一个transaction中将临时表的数据move到目的表 2. 自定义回滚:通过用户自定义的语句/方法,在任务失败后,执行清数据操作 3. 传输任务的幂等性:如果一个任务失败了,产生了脏数据,解决问题后,再跑一次任务,能够最终正确,例如hive写入使用INSERT OVERWRITE,...
阅读(5227) 评论(1)

用MapReduce做相似度分析

Q: 有一批数据(10亿量级),数据内容包括: 列 类型 id INT content String id为key,全局唯一 content为一个句子 列之间以\t分割 like: 1  “互联网够公司的日志无处不在,web日志,js日志,搜索日志,监控日志等等” 2  "对于这些日志的离线分析(Hadoop),wget&r...
阅读(5271) 评论(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....
阅读(37603) 评论(5)

Kafka(一):基础

1. 引言 互联网够公司的日志无处不在,web日志,js日志,搜索日志,监控日志等等。对于这些日志的离线分析(Hadoop),wget&rsync虽然人力维护成本较高,但可以满足功能行需求。但对于这些日志的实时分析需求(例如实时推荐,监控系统),则往往必须要引入一些“高大上”的系统。 传统的企业消息系统(例如WebSphere)并不是非常适合大规模的日志处理系统,理由有三: 1) 过于关注可...
阅读(31304) 评论(2)

大众点评数据平台架构变迁

最近和其他公司的同学对数据平台的发展题做了一些沟通,发现各自遇到的问题都类似,架构的变迁也有一定的相似性。 以下从数据&架构&应用的角度对2012.07-2014.12期间大众点评数据平台的架构变迁做一个概括性的总结,希望对还处在数据平台发展初期的同学有一些帮助,欢迎线下沟通。...
阅读(11125) 评论(4)

一封模块短板分析的邮件

针对国君提出的“map1-stat在极限情况下cpu idle在33%,无法再压下去,而目前处理的瓶颈在与统计线程的计算。统计线程处理逻辑存在短板,没有最有效的利用CPU,”(简称短板问题),进行了如下场景分析: ..........
阅读(2491) 评论(1)
163条 共9页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1270945次
    • 积分:1265
    • 等级:
    • 排名:千里之外
    • 原创:0篇
    • 转载:6篇
    • 译文:2篇
    • 评论:217条
    联系方式
    博客专栏