解读,Yupoo使用的软件

今早发现有人推荐了这个,Yupoo使用的软件,对成熟解决方案的学习一直是我的一个爱好。做为国内图片托管的历史比较长的公司,虽然我从来没有使用过,但是名声还是经常耳闻的。

TAG云中果然好多软件!壮观:

Apache AWStats bottle CentOS Cacti cURL Debian Erlang Firebug google-perftools gevent Hadoop Heartbeat ImageMagick IPVS imagick ibrowse Java lighttpd Lua libmemcached libevent MySQL mochiweb Memcached MySQLdb Mogilefs Mercurial Mootools MacOSX Nginx Nagios NTP Net-SNMP OpenVPN PHP Python Predis php-amqp pylibmc php-memcached Postfix Redis Riak RabbitMQ Redmine Readline Solr Squid Twisted Ubuntu VIM vsftpd XCache Xdebug


好罢,我们来归归类吧:
1. 操作系统: CentOS、Debian、MacOSX、Ubuntu
以CentOS的文字状态和这个系统的定位基本可以确认,这个应该是用于主力的Web Server吧。MacOSX机器基本上只有美工才用了,如果iMac交给程序员来使用,那是多么让人神往啊。如果是MacMini就算了,对这种性能的主机没有什么兴致了。

2. Web服务器:Apache、Nginx, lighttpd, Mochiweb
Nginx的突出说明了张宴大侠的工作影响深远。
Mochiweb的使用说明什么呢?轻量web, erlang,难道用这个东东提高响应?
3. 数据库服务器:MySQLDb, Redis, predis(php client library)
见到noSQL家族的Redis,现在是火啊。网站为了规模,纷纷尝试向这个方向迁移了。
4. 邮件服务器: Postfix
5. ftp服务器:vsftpd, NTP
6. 缓存系统:Memcached, Squid, php-memcached, libmemcached, pylibmc
用php-memchached是因为早期的系统都是用php来编写的吗?

7. 版本管理:Mercurial
8. 编程语言:LUA, Erlang, Python, JavaScript, Java
说句实话,我并不相信他们会真正使用Erlang。这应该是使用了某种noSQL吧。列出了mootools却没有写JavaScript,是忘了吧?

9. 调试和性能优化工具:Firebug, google-perftools, xdebug

10. 框架: Bottle, Cacti
11. 统计工具:AWStats
12. 负载均衡关联:Hadoop, Heartbeat, IPVS
mogilefs,开源的分布式文件系统
看到IPVS还真没有反应过来,不过链接的网站显示的可是The Linux Virtual Server Project啊。记得这个负载均衡的系统还是国内某牛人的力作呢。里面的说明表示IPVS=IP Virtual Server。

消息服务 RabbitMQ, php-amqp

搜索引擎:Solr

13. 开发管理:
Mercurial版本管理
Redmine项目管理

14. 网络管理:NTP, Net-SNMP, OpenVPN
NTP 时间同步
除了会见莺莺小姐之途,他们用OpenVPN是在内部建立专用网建立虚拟网络吗?

如果我们把关联都放到一起:
Erlang
mochiweb
ibrowse HTTP客户端

Python Bottle轻量的Web框架, gevent协同网络库,基于libevent

PHP(cURL)
LUA用在何处?

分析:
1. 美工们使用的是iMac,程序员们有可能有使用iMac的,也会有使用MacMini的。但更多的可能是使用Ubuntu。
2. 服务器估计还是以CentOS为主吧。这个在生产环境中比较常见。
3. URL的风格好象python,当然可以使用htaccess做更改,但是那样的话效率可能不会太好。
4. 现在在积极开展移植到noSQL?
5. 用的操作系统如此之杂,会增加运营成本的。记得哪个国内的公司统一用gentoo,感觉不错。生产环境保持稳定一致非常重要。
6. 用到了版本管理系统。
7. 框架故意选择了Bottle这样不如Django知名的不知道是什么原因。更容易改造么?难道Bottle不是GPL协议?
8. 我想他们一定用到了Windows。

此猜,乐趣无限。

打赏

《解读,Yupoo使用的软件》有6个想法

  1. 猜的很好。
    不过不用被这种罗列吓到。
    它连cURL都写上去,有点做作了。

  2. 列了大面积的erlang让我感觉有点特别。我是对python/lua/erlang有特别的好感的。但就象你说的,他们列出这些东西有特意混淆的可能。

  3. 列erlang是因为他们用了rabbitmq.
    看了这份清单,感觉他们的业务也不复杂
    Mootools做js库
    Bottle之类的web框架和一些php做表现层,
    Twisted,gevent做网络层,提供某些网络库的功能
    rabbitmq做消息队列
    memcached+redis做缓存
    lvs做负载均衡,Nginx,lighttpd做webserver,
    mysql 做数据库
    Hadoop 做存储
    Solr 做搜索
    Squid Mogilefs做反向代理
    ubuntu做开发机

  4. 他有提到mochiweb,這個可是定制能力很強的。那麼webserver至少有四種:Nginx/lighttpd/mochiweb/apache,生產環境做這種安排合理?還是只是用apache做開發,其餘的才是最終布署的?
    1. 越看這個列表越覺得他們的運維人員一定不少。
    2. 技術複雜度這麼高,開發團隊重複性也很強。
    3. 這麼做有什麼好處嗎?

发表评论

电子邮件地址不会被公开。 必填项已用*标注