Archive for 一月 2010

人人网的系统架构

今天在网上看到人人网使用的开源软件列表 ,人人网的架构师写的,看完后,大概了解了人人网的架构信息

数据层

使用MySQL ,同时使用Tokyo Cabinet(Key-value的存储引擎,简称TC)做一个数据冗余,TC代替MySQL做存储,例如搜索结果页的用户资料,但Tokyo Cabinet没有网络处理能力,需要使用Tokyo Tyrant以提供网络接入能力,并调用Tokyo Cabinet的API进行持久化存储

Tokyo Tyrant其实也是Tokyo Cabinet的作者开发的,主要是支持Memcached传输协议的网络接口,可以理解为Tokyo Tyrant处理网络连接,协议解析,然后调用Tokyo Cabinet的API来完成持久化存储

服务端

Web Server : Nginx, 使用Nginx的代理能力,做跨IDC的请求代理,同时与Java Server–Resin搭配,解决Resin网络连接处理能力弱的问题

Java Server: Resin 替代Tomcat作为Java服务器

代理服务器 : Squid 做图片文件的反向代理缓存

Linux服务器集群系统: LVS(Linux Virtual Server),使用它的4层的负载均衡,替代了很多硬件的负载均衡设备

框架

Java web框架: Struts,王兴同学一开始写校内网果然是用structs,现在的人人网开始慢慢舍弃原有的框架,并自己开发了一个web框架,传闻将来也会开源出来

搜索引擎框架: 基于Lucence提供搜索人的服务

网络框架:Netty,一个Java的网络框架,和apache的mina类似,但比mina更高效,用来提供一些小的服务

服务器系统监控

ganglia Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统,如集群和网格

应用层缓存

Memcached   一个纯内存的key-value的cache系统,使用spymemcached作为java的Client

ICE : 一个跨语言的网络通讯框架,框架本身提供了强大的通讯能力,管理工具,负载均衡方案,其跨语言能力也是一个很大的亮点,基于这个框架之上,我们选用合适的语言来提供合适的服务,比如我们使用C++来开发Cache服务,使用Java来开发一些逻辑服务。框架本身可以很重,也可以很轻,具体要看你怎么用:)

Memcached和ICE的缓存服务区别

对Cache的操作粒度不一样,Memcached对Cache对象以binary byte作为一个整体来操作,需要频繁的序列化和反序列化,我们使用ICE提供的Cache服务,可以以Cache对象的一个或者多个字段来操作,比如一个用户对象,我们可以只更新它的姓名。

分享我的2010年博客阅读列表

通过阅读器阅读博客已经成为我获取信息和知识,与朋友们保持联系的一个重要方式,这里列一下2010年会继续阅读的博客类别和列表

1.技术类

继续订阅CU论坛的MySQL板块和ITPUB的Oracle板块,江湖传言,CU的MySQL和ITPUB的Oracle是比较热门的

MySQL  Performance 博客 ,这是一个联合创作的博客,保持每周高质量内容的更新

HackMysql.com,这个博客的主人 贡献了mysqlreport ,mysqlsla ,mysqlidxchxmysqlsniffer等脍炙人口的开源项目

High Availability MySQL 保持着每月更新一次高质量文章的博客

云风的blog 专注与游戏引擎开发的网易公司资深工程师

赖勇浩的编程私活局 游戏人工智能和网游服务器工程师,广州技术分享沙龙发起者之一

Taobao DBA Team 淘宝网DBA团队的官方博客,非常欣赏他们的分享精神

DBA Notes 冯大辉 支付宝数据库首席架构师 Oracle ACE Driector 经常分享大型网站系统架构和先进的技术理念

AnySQL.net 支付宝首席DBA,他的这篇《DBA有什么个人前途》 让我折服,98年出来工作的前辈人物

2. 知识管理,时间管理以及充满阳光的博客

上善若水.萧秋水 <<名博是怎样炼成的>>作者之一,她的博客内容是: 探讨企业、个人知识管理;互联网运营;读书求知、终生学习知识改变命运 协作赢得未来

人月神话的Blog 同样地,以分享高质量文章的博客来的

Amy师姐的博客 捷文师姐,热爱生活,热爱工作的一位校友,有一颗坚强的心

亲爱的糖 博文带有温柔和阳光

思维导图软件Mindjet官方博客 思维导图软件,目前来说还是感觉这个最好用,官方博客的内容也是很有价值的

褪墨博客 以时间管理为主题的博客,从这里我收获了很多关于GTD的概念和方法

3.生活+认识的朋友类

80后男人的厨房 博主是1982年的男人,经常分享他的私房菜,步骤介绍的很详细,适合有兴趣自己做菜的朋友看~

凌峰的博客 更新虽然不多,但都是他认认真真写的,呵呵,希望可以看到更多的分享

燕妃师妹的博客 有着大大的梦想的师妹

少华师弟的博客 专注于.net开发的同学~


毕业半年后的工作回顾

上个星期公司的第四季度的绩效考核结束了,这也意味着我出来工作已经整整半年了,而2009年作为我人生的一个极其重要的转折点将永远刻入我的生命之中。
09年,我进入了国内排前列的互联网公司工作,成为了一名数据库管理员,这意味着我不再是一名学生,而是用自己的知识和劳动来养活自己。
今天这篇文章主要是写工作方面的
七月
公司行政培训: 让我记忆最深刻的是:公司副总监以”社会需要的人才所具备的七种能力”为主题的企业文化培训
户外拓展: 七巧板,大风车,爬天梯,指导我们拓展的是一个专业的团队,在”玩”的过程中,其实很多事情都是性质一样,表现出来的形式不一样而已,以上的游戏都是模拟企业
运作中的实际场景而来,也让自己对一些似懂非懂的事情逐渐明朗
专业技术培训:  培训其实就像是学校的饭堂,只能充饥,如果想吃自己喜欢吃的,得要另外下功夫
八月
新员工,特点是:有充沛的精力和新奇的想法,以及对工作的热情
接手了一个java工具开发,忽然主管提及,当初面试我的时候发现我的简历有java方面的项目经验,没想到大二的时候一个项目会在大四求职的时候给予我莫大的帮助,嗯,平时
的积累很重要。
有实际价值的项目总是让我兴奋不已,可谓高高兴兴上班去,平平安安回家去的度过了8月份
9月
经过八月的开发,小工具终于发布,而随着工具的深入使用,循环于发现问题,解决问题的轨迹中,嗯,工作需要的是一种耐性和平静如水的心态来对待
月底考核, 老大和我分析了我的优缺点,工作中有一位指导你成长的前辈,是件不可多得的事情
10月
小工具暂告一段落,工作内容变更了,开始着手协助组长维护好几个数据库。接到工作任务,对任务怎样做,怎样保证安全,怎样检验,是否有更好的方法,10月份把一个历史遗
留的问题用了更有效的方法来解决,是很开心。
这个月看了<<程序员修炼之道>>,向同学们推介之,他们也很喜欢。
11月
边维护数据库,边开发一些自动化的数据库维护小工具,能够投入实际使用,是对我工作的认可
12月
终于体会了半夜起来升级数据库的生活了,第一次是出了点小意外,第二次也遇到意外,公司的内网DNS用不了,估计是因为人品真的很好,凌晨四点,ding deng 同学居然是隐身
在线
第四季度绩效考核,很开心,小组第一,拿A了,在整个部门是排第四,姑姑问我有什么奖,我说:其实认可我的能力,对我来说,是最好的奖励了
绩效考核继续让我知道自己的最短的木板是哪块,接下来,就是找材料来补好这个缺口了

上个星期公司的第四季度的绩效考核结束了,这也意味着我出来工作已经整整半年了,而2009年作为我人生的一个极其重要的转折点将永远刻入我的生命之中。

09年7月,我进入了国内排前列的互联网公司工作,成为了一名数据库管理员,今天这篇文章主要是这半年来工作方面的收获和感受

七月 关键词 培训

公司行政培训: 让我记忆最深刻的是:公司副总监以”社会需要的人才所具备的七种能力“为主题的企业文化培训

户外拓展: 七巧板,大风车,爬天梯,指导我们拓展的是一个专业的团队,在”玩”的过程中,其实很多事情都是性质一样,表现出来的形式不一样而已,以上的游戏都是模拟企业运作中的实际场景而来,也让自己对一些似懂非懂的事情逐渐明朗

专业技术培训:  培训其实就像是学校的饭堂,只能充饥,如果想吃自己喜欢吃的,得要另外下功夫

八月 关键词 新员工特点–精力充沛

新员工,特点是:有充沛的精力和新奇的想法,以及对工作的热情

接手了一个java工具开发,忽然主管提及,当初面试我的时候发现我的简历有java方面的项目经验,没想到大二的时候一个项目会在大四求职的时候给予我莫大的帮助,嗯,平时的积累很重要。

有实际价值的项目总是让我兴奋不已,可谓高高兴兴上班去,平平安安回家去的度过了8月份

9月 工作需要的是耐性

经过八月的开发,小工具终于发布,而随着工具的深入使用,循环于发现问题,解决问题的轨迹中,嗯,工作需要的是一种耐性和平静如水的心态来对待月底考核, 老大和我分析了我的优缺点,工作中有一位指导你成长的前辈,是件不可多得的事情

10月 关键词  学而时习之,乐

小工具暂告一段落,工作内容变更了,开始着手协助组长维护好几个数据库。接到工作任务,对任务怎样做,怎样保证安全,怎样检验,是否有更好的方法,10月份把一个历史遗留的问题用了更有效的方法来解决,是很开心。

这个月看了<<程序员修炼之道>>,向同学们推介之,他们也很喜欢。

11月 关键词 认可与成就感

边维护数据库,边开发一些自动化的数据库维护小工具,能够投入实际使用,是对我工作的认可

12月 关键词 最短的那块木板

终于体会了半夜起来升级数据库的生活了,第一次是出了点小意外,第二次也遇到意外,公司的内网DNS用不了,估计是因为人品真的很好,凌晨四点,ding deng 同学居然是隐身在线,问题最终解决

第四季度绩效考核,很开心,拿到不错的成绩,姑姑问我有什么奖,我说:其实认可我的能力,对我来说,是最好的奖励了

绩效考核继续让我知道自己的最短的木板是哪块,接下来,就是找材料来补好这个缺口了

远程连接MySQL速度慢的解决方法以及MySQL解析DNS的流程图[附PDF下载]

很多人遇到过远程连接MySQL数据库的时候发现很慢,但本地连接MySQL的时候是很快的,出现这种问题的原因是因为默认安装的MySQL,MySQL远程连接速度慢的问题可以有多种解决方法

1. 在MySQL的配置文件增加 skip-name-resolve

[mysqld] 

skip-name-resolve   在连接远程数据库的时候,直接跳过MySQL的DNS解析

2. 在启动mysqld服务器的时候,附加 –skip-name-resolve 选项  ,原理与第一个一样

3. 增大HOST_CACHE_SIZE的值,HOST_CACHE_SIZE的默认值是128   适合多个远程主机

MySQL解析DNS的流程图

mysql 解析DNS 流程图

MySQL DNS 解析流程图 PDF 下载