常见的三种主流技术架构为
(1)Linux+Apache/Nginx/Lighttpd+Mysql/MariaDB+Perl/PHP/Python
常见网站:新浪,维基百科,youtube,facebook,flickr
(2)J2EE:jsp
(3).NET:asp
下面是wiki的网站架构
其中,squid是用来缓冲internet数据的服务器软件。起到代理服务器的作用,如果本地没有缓存,则向远距离的服务器请求数据。lucene是一个开源的全文搜索引擎工作包,属于Apache基金会。
从上图可以看到,网站的大体架构统一如下
其中,服务用语实现快速复杂的业务逻辑,缓存用来应付简单快速的请求,数据库虽然慢,但是用语进行数据的持久化存储。
CAP定理:
任何基于网络的数据共享系统,最多只能在数据一致性,可用性和分区容忍性三者之中满足两个。
所谓容忍网络分区,指的是是否可以容忍数据不能再任意指定时限内保证完成同步。一般而言这是网络的共性,在这样的基础上,要求一致性就会损失可用性。
比如让服务器分别存储不同的内容,所以对读取来说肯定只能读到一份内容,满足一致性。但是此时系统如果服务器损坏的话,就会丢失数据,系统可用性差。