2011一月20
Poppen.de 是德国的一个社交网站,相对Facebook、Flickr来说是一个很小的网站,但它有一个很好的架构,融合了很多技术,如 Nigix、MySql、CouchDB、Erlang、Memcached、RabbitMQ、PHP、Graphite、Red5 以及 Tsung。YWi平坦软件园 Poppen.de目前有200万注册用户数、2万并发用户数、每天20万条私有消息、每天25万登录次数。而项目团队有11个开发人员,两个设计,两个系统管理员。该站点的商业模式采用免费增值模式,用户可以使用搜索用户、给好友发送消息、上载图片和视频等功能。YWi平坦软件园 如果用户想享受不受限制发送消息和上载图片,那么就得根据需要支付不同类型的会员服务,视频聊天及网站其他服务也采用同样的策略。YWi平坦软件园 NginxYWi平坦软件园 Poppen.de 所有的服务都是基于Nginx服务上的。前端有两台Nginx服务器在高峰期提供每分钟15万次请求的负载,每个机器已经有四年寿命,并且只有一个CPU 和3GB RAM。Poppen.de拥有三台独立的图像服务器,由三台Nginx服务器为*.bilder.poppen.de提供每分钟8万次请求服务。YWi平坦软件园 Nginx 架构中一个很酷的设计就是有很多请求是由Memcached处理的,因此请求从缓存中获取内容而不需要直接访问PHP机器。比如,用户信息页(user profile)是网站需要密集处理的内容,如果把用户信息页全部缓存到Memcached上,那么请求直接从Memcached上获取内容。 Poppen.de的Memcached每分钟可以处理8000次请求。YWi平坦软件园 架构中有三个Nginx图像服务器提供本地图像缓存,用户上载图 像到一个中央文件服务器。当向这三个Nginx之一中请求图像时,如果服务器本地中没有存在该图像,则从中央文件服务器下载到该服务器上作缓存并提供服 务。这种负载均衡的分布式图像服务器架构设计可以减轻主要存储设备的负载。YWi平坦软件园 PHP-FPM (FastCGI Process Manager – http://php-fpm.org)YWi平坦软件园 该网站运行在PHP-FPM上。共有28台双CPU、6GB内存的PHP机器,每个机器上运行100个PHP-FPM的工作线程。使用启用了APC的PHP5.3.x。 PHP5.3可以降低CPU和内存使用率的30%以上。YWi平坦软件园 程序代码是基于Symfony1.2框架之上开发的。一是可以使用外部资源,二是 能够提高项目开发进度,同时在一个著名的框架上可以让新开发人员更容易加入到团队中来。虽然没有任何事情都是十全十美的,但可以从Symfony框架中得 到很多好处,让团队可以更多的精力放在Poppen.de的业务开发上去。YWi平坦软件园 …
2011一月17
1、先下载codeblocks安装包http://dl.dbank.com/c0zoigc1rv,默认安装好 2、再下载汉化包codeblocks.mo.zip http://dl.dbank.com/c0enmcdio9 3、到你的安装目录,进入share\CodeBlocks子目录并创建一个目录,命名为“locale” 4、在locale目录中创建一个目录,命名为“zh_CN” 5、解压缩codeblocks.mo.zip,将“.mo”文件拷贝至“share\CodeBlocks\locale\zh_CN” 6、然后,运行codeblocks,进入“Settings”-“Environment”菜单,在右边的窗口中,选定“Internationalization”,并选择chinese 7、重新启动codeblocks,看看是不是中文的
2010十月29
如果你已经是一名优秀的Web开发人员,那请路过即可。如果你还是一个准备入行或刚入行的菜鸟,那本文倒值得一读。要成为一名优秀的Web开发人员,没有捷径可走,本文就是为那些还在苦苦寻找学习目标的人编写的。 第一步:学好HTML HTML(超文本标记语言)是网页的核心,因此你首先应该学好它,不要害怕,HTML很容易学习的,但也很容易误用,学懂容易要学精还得费点功夫,但学好HTML是成为Web开发人员的基本条件。 学习资源: HTML Dog (http://htmldog.com/) HTML入门指南 (http://www.w3.org/MarkUp/Guide/) W3C HTML学习教程 (http://www.w3schools.com/html/) 第二步:学好服务器端脚本语言 服务器端脚本编程也是Web开发人员的基本功之一,你只需挑选一个服务器端脚本语言,然后学好它,目前流行的服务器脚本语言有: PHP (http://php.net/) Python (http://www.python.org/) Ruby (http://www.ruby-lang.org/en/) 第三步:学好SQL 要构建动态页面就必须使用到数据库,但这么多数据库产品,该如何是好呢?别担心,它们都会遵循标准的SQL原则,学习SQL的资源包括: W3C SQL学习教程 (http://www.w3schools.com/SQl/default.asp) MySQL主页 (http://www.mysql.com/) SQL维基百科 (http://en.wikipedia.org/wiki/SQL) 第四步:学好CSS 涉及到网页外观时,就需要学习CSS了,它可以帮你把网页做得更美观。 学习资源: HTML Dog (http://htmldog.com/) CSS禅意花园 (http://www.csszengarden.com/)已有中文版图书。 第五步:学好JavaScript 今天大部分Web开发人员都喜欢使用jQuery(http://jquery.com/),学习JavaScript的基本语法,以及如何使用JavaScript编程将会提高你的技能。 学习资源: …
2010十月21
国内开放api集锦 所谓的开放API(OpenAPI)是服务型网站常见的一种应用,网站的服务商将自己的网站服务封装成一系列API(Application Programming Interface,应用编程接口)开放出去,供第三方开发者使用,这种行为就叫做开放网站的API,所开放的API就被称作OpenAPI(开放API)。 网站提供开放平台的API后,可以吸引一些第三方的开发人员在该平台上开发商业应用,平台提供商可以获得更多的流量与市场份额,第三方开发者不需要庞大的硬件与技术投资就可以轻松快捷的创业,从而达到双赢的目的,开放API是大平台发展、共享的途径,让开发者开发一个有价值应用,付出的成本更少,成功的机会更多。今天,OpenAPI作为互联网在线服务的发展基础,已经成为越来越多互联网企业发展服务的必然选择。下面我就列举一些常见网站服务的Open API文档资源索引。 SNS类网站API Facebook – http://developers.facebook.com/ 人人网开放平台 – http://dev.renren.com/ 51.com开放平台 – http://developers.51.com/ MySpace开发者平台 – http://developer.myspace.cn/ Opensocial – http://wiki.opensocial.org/ Google Gadgets 小工具 API 开发人员指南 – http://www.google.com/intl/zh-TW/apis/gadgets/docs-home.html Gadgets API 开发人员指南 – http://code.google.com/intl/zh-CN/apis/gadgets/docs/dev_guide.html Gadgets API – http://code.google.com/intl/zh-CN/apis/gadgets/ 电子商务类 Amazon …
2010九月28
一、概述 一般rsync软件是通过crond这支后台进行(计划任务)来实现自动同步数据,如今已有更好的开源软件来代替使用crond了,那就是lsyncd( Live Syncing (Mirror) Daemon),它的工作原理:监视本地(rsync client)的目录,当源数据有文件或目录更新时,更新本地文件或目录到远端机器(rsync server),保持实时文件同步,但是它更新数据时需要远端rsync server运行rsync demon 配置环境如下(1)需要配置rsyncd.conf文件的一端,称为rsync server(2)不需要配置rsyncd.conf文件的一端,称为rsync client(3)本次环境如下rsync服务器:192.168.0.53(安装rsync)rsync客户端:192.168.0.54(安装rsyncd+lsyncd) lsyncd的功能:(1)开源软件lsyncd采用inotify原理监听某一目录,如果目录内发生增、删、改、利用rsync协议自动同步到多个服务器(2)inotify,从kernel 2.6.13开始正式并入内核,RHEL5支持(3)可以本地多点目录的监控并实现到远程目录的同步(4)在rsync client上通过lsyncd监控并推送数据给rsync server的rsync daemon,rsync server接收lsyncd推送过来的数据,并写入本地磁盘(5)官方介绍:http://code.google.com/p/lsyncd注意:而对于那种实时都在变化的数据(例如:数据库),那么这种数据的同步,DRBD技术是一个更好的选择 二、软件的下载与安装 1、服务器端(rsync)(1)下载并安装rsync[root@example1 ~]# wget http://www.samba.org/ftp/rsync/src/rsync-3.0.7.tar.gz[root@example1 ~]# tar zxvf rsync-3.0.7.tar.gz[root@example1 ~]# ./configure –prefix=/usr/local/rsync –with-rsyncd-conf=/usr/local/rsync/etc/rsyncd.conf –disable-ipv6 && make && make install(3)创建用于同步数据的目录(rsync服务器端)作用:该目录用于存放lsyncd推送过来的数据[root@example1 ~]# …