小米科技2012校园招聘行程
一年一度的校园招聘又开始了,在这里发一发,对我们有兴趣的应届生,欢迎提前联系,主动改动人生。mail to chenzhen at xiaomi.com
区域
学校
校区
预定时间
日期
东北
大连理工
西部校区
10/24-25
吉林大学
南区
10/26-27
哈工大
本部
10/28-29
合肥
中国科学技术大学
西校区
10/31-01
广州
华南理工
南校区
11/01--02
中山大学
东校区
11/02--03
上海
复旦大学
张江校区
11/02--03
同济大学
嘉定校区
11/04--05
上海交通大学
闵行校区
11/11-12
南京
南京大学
鼓楼校区
11/08--09
南京理工大学
本部
11/09-10
东南大学
九龙湖校区
11/10-11
南京邮电大学
三排楼校区
11/11-12
南京航天航空
明宫校区
11/14-15
杭州
浙江大学
玉泉校区
11/17-18
西安
西安电子科技大学
北校区
11/18-19
西北大学
南校区
11/21-22
西北工业大学
友谊校区
11/22-23
西安交通大学
本部
11/23-24
成都
电子科技大学
清水河校区
11/21-22
四川大学
江安校区
11/22-23
天津
南开大学
本部
11/17-18
天津大学
本部
11/25-26
武汉
武汉大学
人文学部
12/07-08
华中科技大学
本部
12/08-09
北京
清华大学
11.16
北京大学
riak源码阅读手记 操作列表及supervisorTree一览
基于0.14.2的记录,1.0的变化会在后续记录。
riak源码阅读手记一 初出茅庐 项目入口
http://www.54chen.com/_linux_/riak-source.html
riak源码阅读手记二 左右开弓 启动
http://www.54chen.com/_linux_/riak-cource-code.html
riak源码阅读手记 运行安装
http://www.54chen.com/_linux_/riak-source-install-run.html
一些常用的指令:
http://wiki.basho.com/Command-Line-Tools.html#riak-admin
riak源码阅读手记 压力测试
http://www.54chen.com/_linux_/riak-benchmark.html
riak源码阅读手记 操作列表及supervisorTree一览
http://www.54chen.com/_linux_/riak-source-notes-operation-supvisor-detail.html
[山寨收集操作列表]
看系统状况,有各种内存cpu硬盘的情况
bin/riak-admin status
节点更换新的ip地址:
如果是所有的节点都换,那在停下来集群,在每个节点都依次运行:
./riak-admin reip riak@192.168.103.9 riak@10.235.2.226
./riak-admin reip riak@192.168.97.48 riak@10.235.2.183
./riak
54chen Twitter memo 2011-10-16
http://t.co/ubbcGIuv http service test case首选。 #
http://t.co/eJXNz8pe web test利器,还有更利的吗? #
riak-java-client 1.0.0 released;跟进riak1.0的同志们,可以更新了! #
54chen Twitter memo 2011-10-09 http://t.co/2FTs3k7n #
54chen Twitter memo 2011-10-09
十一回来,小米米聊team吸各路php好手,一到两年经验的大侠们,团队主要方向:php java erlang,如果你有计划在php以外的领域有所建树,请速来:chenzhen at xiaomi.com。 #
54chen Twitter memo 2011-10-02 http://t.co/cCI9keqP #
54chen Twitter memo 2011-10-02
riak java client针对riak1.0.0的rc1昨天才发出来,想尝鲜还需要时日,官方的宣传以http为主,实际使用时pb才是王道。 #
北京时间1号凌晨4点,riak 1.0 正式发布。此版本经2年时间15次RC,话说我也贡献了一个bug。这次改动实际上弱化了bitcask,巧妙利用了leveldb完成了Secondary Indexes。http://t.co/TI4z1Ymh (左右键翻页) #
@rednaxelafx @turingbook OceanBase不能算作一类,tair beansdb nuclear或多或少都有dynamo的影子,而oceanbase已经很不一样了。 #
“API design is like sex: Make one mistake and support it for the rest of your life.” – @joshbloch #
thrift最佳实践:版本与兼容 http://t.co/419R7gYk #
riak坏处:不好debug,节点关系变化是危险的,默认使用的bitcask所有的key都维护在内存里,List-keys操作可能会搞死一个集群。 #
54chen Twitter memo 2011-09-25 http://t.co/jIjRPKtr #
thrift最佳实践:版本与兼容
十分苦逼的api提供过程。一次提供,终身负责制。
"API design is like sex: Make one mistake and support it for the rest of your life." - @joshbloch
Structs:
在许多系统里面,被称做message.
协议随着岁月而演变,如果一个已经存在的消息类型不再满足需求,但是你仍然想使用原来使用thrift文件生成的代码,比如你想在现在的消息类型上增加一个额外的字段。
不用担心人,不搞坏原来的任何代码而更新消息类型,是非常简单的,只需要时刻记录以下的规则:
1.不要修改现存的任何已经存在字段的数字标签
2.任何新增的字段应该是optional的,这就意味着,所有新定义产生的代码都能解析新老的格式,因为一定会有任何一个标上required的元素。你应该设置可能的默认值给这个元素,让新代码与老数据也能正常协作。与此类似,新数据也能被老代码解析,老的实现解析时会忽略新的字段。尽管如此,未知的字段不能被丢弃,并且如果消息被延迟序列化,未知的字段也会被一起序列化,因此当消息到达新代码的时候,新字段依旧可用。
3.当你更新的消息类型里不再包括相关的标签数字时,非required字段可以删除。(把这个废字段改名,比如说加个前缀OBSOLETE_ ,可以防止未来维护.thrift文件人误用原来的数字,这做法可能更好。)
4.修改默认值基本上是OK的,但是你记得这个默认值永远不会“串线”。比如,如果程序收到一个在某个字段没有值的消息,程序会看那个
54chen Twitter memo 2011-09-25
riak的开发很细致,test很全,我提的bug确认就修改了,还不忘邮件告诉我已经merge了代码:http://t.co/s1HZVaoG #
小数一下,我们已经使用了十多项开源系统或者技术了,包括的范围有网络框架、存储系统、项目管理、分布式计算、持续构建、代码质量、包管理、监控、服务管理... #
@arthur369 @virushuo 汗死了。。。 #
http://t.co/Z9t3ESH5 riak1.0.0 rc1放出来了,亮点:Secondary Indexes;LevelDB;Search。修复了许多bug。 #
用supervisord管理杂乱的服务 http://t.co/3TY9Ubwj #
54chen Twitter memo 2011-09-18 http://t.co/tbb4VqGM #
54chen Twitter memo 2011-09-18 http://t.co/IXhzMo9s #
用supervisord管理杂乱的服务
Supervisord是用Python实现的一款非常实用的进程管理工具,在批量服务化管理时特别有效。
环境
centos
python2.4
安装
wget http://pypi.python.org/packages/source/s/supervisor/supervisor-3.0a10.tar.gz#md5=99c6fbd45bade87301296b7a597fb68e
tar zxvf supervisor-3.0a10.tar.gz
cd supervisor-3.0a10
python setup.py install
如果上述遇到问题,请按如下操作。
依赖setuptools安装
wget http://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c11-py2.4.egg#md5=bd639f9b0eac4c42497034dec2ec0c2b
sh setuptools-0.6c11-py2.4.egg
产生基础配置文件
echo_supervisord_conf > /etc/supervisord.conf
配置
[inet_http_server]前面的分号去掉;
定义port=192.168.1.1:8888
启动
supervisord -c /etc/supervisord.conf
查看
浏览器打开 http://192.168.1.1:8888
深入配置
[program:service]
command=sh /opt/soft/service/run.sh
54chen Twitter memo 2011-09-18
riak源码阅读手记 压力测试 http://t.co/WxuWVpQi #
riak源码阅读手记 与Cassandra相比 http://t.co/iNidnsc #
@Fenng 汗颜呀哥,帮我在大众之下自嘲一下,并非有意为之,只是突发流量dz要想立马优化非一日之寒。 #
54chen Twitter memo 2011-09-11 http://t.co/9KkhSyL #
riak源码阅读手记 压力测试
基础环境:
三个台式机
一次操作:
操作一段购物车数据,先写包括3个货物的数据,然后取出来,再加上三个后存入。
压力结果:
1) 10个线程,无连接池化,每次新连接。PBClient。每次req包括上述一次操作里的一写一读一写三次。
Rate: 122 req/s
Rate: 103 req/s
Rate: 119 req/s
Rate: 110 req/s
Rate: 117 req/s
Rate: 116 req/s
Rate: 121 req/s
Rate: 110 req/s
Rate: 116 req/s
Rate: 111 req/s
Rate: 123 req/s
Rate: 122 req/s
Rate: 119 req/s
Rate: 123 req/s
Rate: 110 req/s
三个节点平均load为小于1。
2)50个线程,无连接池化,每次新连接。PBClient。每次req包括上述一次操作里的一写一读一写三次。
Rate: 124 req/s
Rate: 119 req/s
Rate: 124 req/s
Rate: 127 req/s
Rate: 114 req/s
Rate: 103 req/s
Rate: 93 req/s
Rate: 110 req/s
Rate: 120 req/s
Rate: 117 req/s
Rate: 121 req/s
Rate: 119 req/s
Rate: 109 req/s
三个节点平均load为1。接入节点load略高。
3)100个线程,无连接池化,每次新连接。PBClient。每次req包括上述
54chen(陈臻),大负载构架挑战者,不折不扣的blogger,曾经还是业余老湿,梦想把技术变成科学,现在奋斗在无线互联网创业公司。
EX:
人人网分布式研究人员
雅虎、淘宝搜索技术人员
金山抠腚人员
暂居北京,情绪稳定。
曾用代号有:cc0cc、零蛋。
EX:
人人网分布式研究人员
雅虎、淘宝搜索技术人员
金山抠腚人员
暂居北京,情绪稳定。
曾用代号有:cc0cc、零蛋。
SEARCH
Tag
Comments
- wendell: 初学,不知道load的文件怎么来的, ...
- nodexy: 看起来好适合铁道部啊 哈哈 个人...
- robin: 陈兄,我要买小米手机,帮我搞一个...
- 54chen: 您能提供下zip包的名字、configure参数...
- yaodong: nginx/1.0.10 刚刚测试 body_max_count 这个...
- paying: 老兄给我一份好吗?476356282@qq.co...
- 54chen: 感谢测试,已经fixed且push到gi...
- yaodong: 谢谢 辛苦啦, 我会及时关注 如果有...
- 54chen: 结果:1.0.10的参数检查严格了,今天...
- 54chen: 1.0.9下测试通过,今天我试试1.0.10版...





