今天比较失望,收获不多,免费拿了两本书,听讲座糊涂糊涂的,就不多写了。
本来是选了本书的,但迟到了,结果早没了。。。唉,这个书真的很抢手呢。。。
南非蜘蛛说的太虚了,涵盖面太广了。。。听下来,实在没得到什么阿。。。我昨天听sina 的,好像都说是7×24 值守的,但sohu 已经开始无人值守了,应该部分已经实现了
sery 仍然与以前的演讲风格一样。。。我想说。。。这样是不行的阿。。。
今天比较失望,收获不多,免费拿了两本书,听讲座糊涂糊涂的,就不多写了。
本来是选了本书的,但迟到了,结果早没了。。。唉,这个书真的很抢手呢。。。
南非蜘蛛说的太虚了,涵盖面太广了。。。听下来,实在没得到什么阿。。。我昨天听sina 的,好像都说是7×24 值守的,但sohu 已经开始无人值守了,应该部分已经实现了
sery 仍然与以前的演讲风格一样。。。我想说。。。这样是不行的阿。。。
SACC (system architect conference china) ,系统架构师大会第一天,写着8 点进场,我想想,估计不会那么早演讲吧,于是赶在8 点15 到喜来登,想不到还是早了,傻B 了,9 点才开始。
随便说说我的感想笔记吧,我一般选择不在ppt 出现的那些话,或我觉得很有趣的部分mark 下。
1,阿里云,纯讲运维管理
有一个庞大的运维数据库,储存了很多方面的信息,还包括了哪些应用对应哪些配置的,很多很多。web 界面展示,很强大。。。
提供给运维的接口,包括:web , api , cli 。cli 我觉得最有趣!!提供一个简单的cli 界面给运维,不需要ssh 。
还有一个有趣的,他们可以做到,down 了一两台服务器不要紧,每周统一一个时间去弄那些down 了的服务器。。。强大。。。我们可是马上去处理的。。。
2,F5 ,纯sell 自己的产品。
没怎么听,F5 我之前只是以为它是一家专卖负载均衡设备的公司,想不到现在卖解决方案了,做得挺好的嘛,但是,大家追求的都是低碳,低成本。。。
Q & A 环节,第一个发问的人非常V5 ,说:“我们是来听技术的”,全场鼓掌。。。让讲师郁闷死了。。。
3,QQ 游戏运营,就是讲运营的
既然讲运营的,就是拿些数据出来show show ,其实,也很有分量阿!
QQ 游戏相关的部分数据:2W台server、44个IDC、160TB数据、100G带宽。还不包括 qzone 的,可怕。。。
分发配置脚本,都是一个一个IDC 来分发的了。。。我们还是一台一台地来。。。
4,章文嵩介绍的淘宝图片CDN 服务(今天最亮点)
我也是看这次架构师大会的讲师介绍,才知道他去了淘宝呢。。。我上一年没听到他的讲座,今天第一次听,大师阿,整个演讲下来朴实无华,听就知道是搞技术的很实在的人。
淘宝开发了自己的文件系统来承载,叫 taobao file system ,就是 TFS 了。据说,原理和 GFS 差不多,将在9 月开源呢。
整个架构说下来,真让人流口水阿,但无奈 ,自己的应用去不到这个量。不过,又是怎么样的应用才会像淘宝那么大的量呢??放眼全世界,真的少之又少。
淘宝的那些图片,都是实时生成缩略图的哦,强大。现在的淘宝,已经可以向cpu 厂商提需求了,让后者帮它们打造低碳cpu ,牛X 阿!
想当初,他们也只是花钱解决问题,购买大量昂贵的设备去撑业务。到后来,厂商的设备已经无法满足他们的需求了,于是就自己搞了这么一套东西出来。他们也说得对,厂商是面对多数客户的,淘宝已经超越了那个量级,厂商也不会重点考虑这些少数派客户的了。
哈哈,我们就停留在花钱解决问题的程度上,什么时候才能长进呢?
5,chinacache ,自己业务的简介
这部分。。。也是卖广告,不过没有F5 吹得那么过分。。。只是平时都有用他们的服务,觉得还行,亮点不多,回去看看ppt 就行了。
6,sina ,平台化的介绍
童剑的讲座,上一年没听到,今年,也错过了。。。因为有报障要处理!!。。。真倒霉!!
就听了开头的部分,有一点比较有趣的,一般的gslb ,都是基于全局dns 的,但他们有一些应用,好像说是大文件下载吧,是基于文件的 gslb ,第一次听呢。。。
7,sina ,门户CDN 平台的介绍
其实,这个与我们的环境非常相似,我很认真地听完了。
有几点又是十分有趣的:
他们的4 层负载均衡,是 arp proxy+ lvs ,据说可以解决lvs 的瓶颈(单一的网卡局限),我还听不太明白呢。。。回头研究一下 ppt 。。。
由于squid 只能利用到单cpu ,他们倒是挺巧妙地利用了,假设有4 核,1核用于系统调用,1 核用于进程A squid ,1 核用于进程B squid ,1 核用于io 。
一般的dns 是根据地区来解析到最近的一个边缘服务器,但是,如果用户自己设定了 local dns 呢?这样就会造成不准确的解析了。他们的做法是,根据用户的 ip 再作判断,重定向到用户最近的边缘服务器。
Michael Lee 因为身体原因无法出席,昨晚我也看到他的blog 了,猜想他今天不会来的了,果然。。。很可惜。。。我看的第一篇关于架构的文章,就是他写的
小测试了一下,发现我一直用的 proftpd 其实速度并不甚好,就是功能完善。
此测试使用大量小文件,从ftp server 上,下载回来本地。
大文件测试意义不大。
测试数次,速度上可能会稍有不同,不过相对速度是一致的。
纯玩玩,只用了几分钟测试,不作权威对比。
proftpd:
Total: 62 directories, 28853 files, 0 symlinks
332649527 bytes transferred in 270 seconds (1.18M/s)
pureftpd :
Total: 62 directories, 28817 files, 0 symlinks
332166614 bytes transferred in 129 seconds (2.46M/s)
vsftpd;
Total: 62 directories, 28853 files, 0 symlinks
332649527 bytes transferred in 146 seconds (2.17M/s)
职位:门户网站运维工程师
职责:负责服务器的架设与管理优化,保证服务器稳定运行。
要求:
1、精通 linux 操作系统及其下各类工具。
2、掌握 shell/perl/python 任一种语言,并懂得用其进行系统管理。
3、熟悉配置常见的web server ,如nginx / apache / squid 等。
4、有开源软件开发经验,或开源软件hack 经验者,优先考虑。
5、有在LAMP 下web 开发者,或有门户网站维护经验者,或DBA,优先考虑。
工作地点:北京
如有兴趣者,请将简历投递至这里 dc -e 2218434977265587644887655654201409471708622090P
开了个个人主页,全手工书写html ,且极其简洁,全英文。
写了个nginx module ,第一次写,纯练练手,业务有个需求,想用nginx module 来完成,就试着写一个来练习下先。
这个模块很简单,就是定义返回头的server 的值。以前lighttpd 有个 server.tag 的配置,就是差不多的用途的。
这个模块是在nginx 配置的 server 栏定义的,但直到使用时,我才发现,其实这个模块应该是放在main 那里才合适的。。。呃。。。算了,不改了!
鉴于某规定,微博需要考核。
作弊是肯定的,大部分都是这样,我也是。
注册用户这个比较难,我做不了。。。手工注册的。。。
注册马甲了以后,使用以下两条语句,就可以很方便地发推了。
curl -c cookie.txt -d ‘username=&password=’ https://reg.163.com/logins.jsp
curl -b cookie.txt -d ‘status=curl test’ http://t.163.com/statuses/update.do
作弊与否,其实也不管,需要的是一个数字,数字就是绩效。哼
done, that’s all . ok, KISS .
nginx 0.8.42 有个新功能:
Feature: a text answer may be added to a “return” directive. (via nginx.org )
这个功能其实很有趣,当然自己写也不难,官方实现了就最好。
找了下,找不到相关的配置说明,只好自己摸索一下吧。一试就出来了,真神奇,哈哈。
三步走(./configure ; make ; make install)安装好 nginx 后,在配置上加一段:
我的想法是。。。快点,快点,再快点!!
apt-get install spawn-fcgi php5-cgi
用 spawn-fcgi 启动 fcgi ,
spawn-fcgi -a 127.0.0.1 -p 8000 -u nobody -f /usr/bin/php-cgi -C 5 ;
在 nginx 里配置加一句:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:8000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
然后把一个 php 放在 /home/nginx/html 里,就可以使用了。
最近首页要改版,瞎折腾,还要新首页和旧首页并行服务,只有网友点击了“新版首页”的按钮后,才会显示新版首页,否则,显示旧版首页。
灵感来自 ayou 的一段配置,我的实现原理如下:
网友点击了切换按钮以后,利用 javascript set 一个 cookie ,如 newindex=y ,首页的 / 会作判断cookie ,然后 rewrite 到相应的页面。
具体实现:
1, 网友点击 set cookie,我抄了一段最简单的东西:
2,nginx 配置:
location =/ {
root html ;
index index.html ;
if ( $cookie_newindex = “y” )
{
rewrite ^/*$ /index_new.html break;
}
}
其中 /index.html 是旧首页,/index_new.html 是新首页。
如此一来,网友访问 http://www.helosa.org/ 时, location / 就会根据cookie rewrite 到相应的首页。但是要注意的是,
http://www.helosa.org/index.html
http://www.helosa.org/index_new.html
访问的是正确的页面,因为判断 cookie 只在 / 做。
haproxy 可以把 log 打印到 syslog 去,但是,如果单纯地在 haproxy 的配置上写了这句:
log 127.0.0.1 local0
是不够的,即使你在 syslog 的配置里也写上了这句:
local0.* /var/log/haproxy/local0.log
也还是不够的,haproxy 也不会把log 打印到相应的文件里。
需要修改 /etc/default/syslogd ,把
SYSLOGD=”" 修改为 SYSLOGD=”-r”
然后重启一下 syslogd
/etc/init.d/sysklogd restart
我的系统是 debian ,centos 没去测试,syslog 的配置上印象中有点不同的。
原因可以参考这两段东西:
man 8 syslogd :
-r This option will enable the facility to receive message from the network using an internet domain socket with the syslog service (see ser-
vices(5)). The default is to not receive any messages from the network.
———————————–
less configuration.txt:
log <address> <facility> [max level [min level]]
<address> can be one of:
- An IPv4 address optionally followed by a colon and a UDP port. If
no port is specified, 514 is used by default (the standard syslog
port).
- A filesystem path to a UNIX domain socket, keeping in mind
considerations for chroot (be sure the path is accessible inside
the chroot) and uid/gid (be sure the path is appropriately
writeable).
———————————————
haproxy 可以把log 打印去两个地方,一个是 监听着 514 udp 端口的 syslog ,一个是 unix socket 。而 syslog 的 -r 参数,就是让 syslog 监听514 port 的。
又或者让 haproxy 连接去 syslog 的 unix socket 也行,
syslogd -a /etc/haproxy/syslog.sock 让 syslogd 监听在unix socket ,这时,haproxy 可以这样配置
log /etc/haproxy/syslog.sock local0
此 socket 必须在 haproxy 的 chroot 环境中。
==========================
update:
centos 下,修改 /etc/sysconfig/syslog ,把
SYSLOGD_OPTIONS=”-m 0″
改为
SYSLOGD_OPTIONS=”-m 0 -r”