博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Pinboard 的 PHP/MySQL 架构。
阅读量:5934 次
发布时间:2019-06-19

本文共 887 字,大约阅读时间需要 2 分钟。

Pinboard 是一个提供在线书签服务的网站,和 Delicious 类似,不同的是 Pinboard 不是免费的,而且是从一开始就收费——采用有趣的渐进式收费,也就是说每增加一个人、后来的人就需多付0.01美元,这样的收费方式利用了人们的 “趁便宜赶快买,明天会更贵” 的心理,提供了一套独特的收费模式。让 VPSee 惊讶的是他们背后的技术出奇的简单,没有 Fotolog 那种 MySQL 集群+Memcached 集群,也没有 Netlog 那么复杂的数据库切分。在他们的 About 页面上,这位来自罗马利亚的创始人说:

数据

1亿6千多万个书签

5200多万个标签
9400多万个 urls
989 GB 的数据

平台

MySQL

PHP
Perl
Ubuntu
APC
Sphinx
Cron jobs
Amazon S3

硬件

服务器 1:64 GB, 主数据库(master),用来存储用户数据和搜索;

服务器 2:32 GB, 备用主数据库(failover master),用来爬 feeds 等一些后台任务
服务器 3:16 GB, web 服务器和从数据库(slave)
另外提一下,他们租用的这三台服务器有两台是从 DigitalOne 租用的,还有一台是从 ServerBeach 租的。

 

架构

  • 他们运行的是 Ubuntu 操作系统;
  • 每台服务器上(一共3台)均保留一份整体数据库的拷贝;
  • 网站运行在 16GB 的服务器上,数据库完全放在内存里,页面装载时间提高了10倍;
  • 采用 master-master 数据库架构加上一个只读的 slave,所有写操作都在一个数据库上进行,第二个 master 数据库服务器主要用来计算,比如统计全局链接数,用户统
  • 签” 这样的功能一般都是在晚上里通过后台的定时任务(cron job)完成。PHP 用来生成 HTML 页面,没有使用任何 templating engine,也没有使用任何框架(framework)。APC 用来做 PHP 缓存,没有用其他缓存技术,Sphinx 用来做搜索引擎。

经验

转载地址:http://iyctx.baihongyu.com/

你可能感兴趣的文章
Normalization – NF1, NF2, NF3. How to normalize your database?
查看>>
实战 MDT 2012(一)---工具准备
查看>>
配置Linux阿里镜像源
查看>>
网站排障分析常用的命令
查看>>
thinkphp简洁、美观、靠谱的分页类
查看>>
python复制目录
查看>>
Ubuntu 11.10 把最小化、最大化和关闭按钮放到右边
查看>>
玩转智能路由器-WRTnode开发板[快速入门]
查看>>
时间戳
查看>>
Singularity:基于Mesos的服务部署和作业调度平台
查看>>
Kubernetes中的Job和CronJob,批量任务执行
查看>>
vi、vim、nano如何退出?
查看>>
互联网商道:自己吃饭,别人给钱
查看>>
我的友情链接
查看>>
#TCP你学得会# 之 TCP端口选择那些事儿
查看>>
我的友情链接
查看>>
Linux--rsync
查看>>
SQL--mysql忘记root密码
查看>>
C语言中对变量定义理解的重要性。
查看>>
VMware Horizon 7问题点处理
查看>>