2010-06-23 11:18:41
涉及的技术内容包括:ASM、ANSI C、.NET/C#、Python、Linux/Ubuntu 等。
记录读书笔记、生活点滴。关注基础理论和开发……
除特别标注外,所有文章均为作者原创,转载请注明出处。谢谢!

  查看 "推荐文章目录"。  


  研发中心长期招聘开发人员,详情请点击 "Linux/C, Python 职位"、 ".NET/C# 职位"。
  雨痕内部技术交流群,欢迎熟识的朋友参与。 将 添加为您的 MSN 联系人即可。
  为杜绝垃圾广告的侵扰,只有注册用户可以发表评论和留言。
  如果有什么问题,可以单击右侧图标给雨痕发消息。( 绿色: 在线; 灰色: 脱机)
浏览模式: 普通 | 列表
8月, 2010 | 1

Python Library: dis

[ 2010-08-25 00:46:39 | 作者: yuhen ]
Disassembler for Python bytecode?兴许有用吧。
>>> def test(x):
...     x += 1
...     print x
...     return x
...

>>> import dis

>>> dis.dis(test)
  2           0 LOAD_FAST                0 (x)
              3 LOAD_CONST               1 (1)
              6 INPLACE_ADD
              7 STORE_FAST               0 (x)

  3          10 LOAD_FAST                0 (x)
             13 PRINT_ITEM
...

阅读全文…

MongoDB: 8. Sharding (1)

[ 2010-08-23 19:29:49 | 作者: yuhen ]
将海量的数据水平或垂直切割,分区存储到多台服务器上是一个最基本的现实需求。从 1.6 版开始,MongoDB Sharding 总算打上了 "production-ready" 标记。

MongoDB 的数据分块称为 chunk。每个 chunk 都是 Collection 中一段连续的数据记录,通常最大尺寸是 200MB,超出则生成新的数据块。

要构建一个 MongoDB Sharding Cluster,需要三种角色:
  • Shard Server: mongod 实例,用于存储实际的数据块。
  • Config Server: mongod 实例,存储了整个 Cluster Metadata,其中包括 chunk 信息。
  • Route Server: mongos 实例,前端路由,客户端由此接入,且让整个集群看上去像单一进程数据库。
...

阅读全文…

MongoDB: 7. Replication (2)

[ 2010-08-23 13:14:52 | 作者: yuhen ]
2. Master/Slave

Master/Slave 是一种典型的备份方案,MongoDB 支持 "One Master Multi Salver" 和 "Multi Master One Slave" 等多种部署方式。

先从简单的 "镜像备份" 开始。
$ sudo mkdir -p /var/mongodb/0
$ sudo mkdir -p /var/mongodb/1

$ sudo ./mongod --fork --logpath /dev/null --dbpath /var/mongodb/0 --master
forked process: 1388
all output going to: /dev/null

$ sudo ./mongod --fork --logpath /dev/null --dbpath 
...

阅读全文…

MongoDB: 7. Replication (1)

[ 2010-08-21 16:08:32 | 作者: yuhen ]
最新的 1.6 版总算提供了 Replica Sets,比起有点莫名其妙的 Replica Pairs,这才是高可用集群所需要的。

1. Replica Sets

Replica Sets 使用 n 个 Mongod 节点,构建具备自动容错转移(auto-failover)、自动恢复(auto-recovery) 的高可用方案。通常使用 3 个 mongod 实例,或者 2 mongod + 1 arbiter 方案。

(1) 首先启动所需的 Mongod 节点。注意使用 replSet 参数指定 Sets Name。
$ sudo mkdir -p /var/mongodb/0
$ sudo mkdir -p /var/mongodb/1
$ sudo mkdir -p /var/mongodb/2

$ sudo ./mongod 
...

阅读全文…
1