存档

‘架构设计’ 分类的存档

一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案(转)

2013年4月27日 没有评论

数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案
版权声明:本文由本人撰写并发表于2012年9月份的《程序员》杂志,原文题目《一种支持自由规划的Sharding扩容方案——主打无须数据迁移和修改路由代码》,此处作为本系列的第五篇文章[......]

Read more

分类: 架构设计 标签:

Unique ID generation in distributed systems

2012年9月7日 没有评论
分类: 架构设计 标签:

Instagram 的ID生成策略

2012年9月7日 没有评论

项目中遇到一个ID生成策略的需求:需要在系统中为每个用户分配一个ID用作以后的用户标示。这个需求应该是非常普遍的,对于使用人数较少的系统而言不会是一个问题,不过对于向用户众多的互联网系统来讲这不是一个简单的问题。下面是翻译的最近最火爆的Instagram应用开发者的一篇文章,看看他们一个十几个人的公[......]

Read more

分类: 架构设计 标签:

大规模网站架构

2012年9月5日 没有评论
分类: 架构设计 标签:

Feed系统架构设计

2012年9月5日 没有评论

(1)完全用nosql轻松打造千万级数据量的微博系统

http://www.cellphp.com/article-read-nosql-20-handlersocket-nosql-zeromq-micro-blog-gps-tokyocabinet.html

(2)微博feed系统的pus[......]

Read more

分类: 架构设计 标签:

MessagePack、Avro、Thrift、Protocol Buffers、JSON序列化协议

2012年6月16日 没有评论

在Web开发中,难免遇到需要跨语言甚至跨平台进行通信的场景,不论是PHP到C还是PHP到Java,或者C到Java,都需要双方有一个约定的协议来打包和解包所传输的数据。双方自定义的协议固然效率高,但是通用性差,因此便出现了本文将要讨论的这些通用的、跨平台的数据打包协议。这些协议各有特点,应用场景也不[......]

Read more

分类: 架构设计 标签:

转:Memcache mutex设计模式

2012年6月16日 没有评论

场景
Mutex主要用于有大量并发访问并存在cache过期的场合,如

首页top 10, 由数据库加载到memcache缓存n分钟
微博中名人的content cache, 一旦不存在会大量请求不能命中并加载数据库
需要执行多个IO操作生成的数据存在cache中, 比如查询db多次
问[......]

Read more

分类: 架构设计 标签: ,