随着网站业务越来越复杂,对数据存储和检索的需求也越来越复杂,网站需要采用一些非关系型数据库技术(即NoSQL)和非数据库查询技术如搜索引擎.NoSQL数据库一般使用MongoDb,搜索引擎一般使用ElasticSearch,最好可以研究ELK整套解决方案. 使用NoSQL和搜索引擎 NoSQL和搜索引擎对于应用程序来说都可以认为是一种'数据源',所以更新后的架构如下图: 总结: 使用NoSQL和搜索引擎后大大缓存了关系型数据库的压力,网站的性能得到进一步提升.同时衍生出来的问题是:需要在原来的数…
大型网站架构演进 大型网站是一种很常见的分布式系统,除了海量数据和高并发的访问量,本身业务和系统也复杂. 大型网站的架构演进 我们现在常用的大型网站都是从小网站一步一步发展起来的,这个过程中会 有一些通用的问题要解决,而这些也是我们构建中间件系统的基础,那么我们就 从最简单的网站结构开始,看看随着网站从小到大的变化,网站架构发生了哪些 变化. a.用Java技术和单机来构建的网站 我们先从最简单的开始吧.说到做网站,不管大家是自己动手实践过,还是听说过,肯定能反应出很多技术名词,例如LAMP.M…
Drupal与大型网站架构(译)- Large-Scale Web Site Infrastructure and Drupal Linuxjournal 网站经典文章翻译,原文地址: Large-Scale Web Site Infrastructure and Drupal,由于主要按照内容翻译,非逐字翻译,不妥之处,请参考原文阅读. 时至今日,架设一个drupal网站已经是非常容易的了,直到网站规模开始变大, 那么你就需要花费很大的精力在查找和修复网站性能瓶颈上面.本文我们将谈到一些技术可…
职业发展道路基本有3条: 第一条路线(技术专精): 初级Java开发---中级--高级---项目主管--Java项目经理---网站架构师----资深专家 第二条路线(技术转产品):初级Java开发---中级--产品策划--产品经理---产品总监 第三条路线(技术转运营):初级Java开发---中级--运营---运营经理---运营总监 一个好的比方,程序员就是建筑工地的农民工,架构师则是建筑设计师. 唯一不同的是农民工,基本上不可能成长为建筑设计师: 而在 IT业中,程序员可以努力成为架构师/专家…
随着网站业务越来越复杂,对数据存储和检索的需求也越来越复杂,网站需要采用一些非关系数据库技术如NoSQL和非数据库查询技术如搜索引擎,如图. NoSQL和搜索引擎都是源自互联网的技术手段,对可伸缩的分布式特性具有更好的支持.应用服务器则通过一个统一数据访问模块访问各种数据,减轻应用程序管理诸多数据源的麻烦.…
1. PlentyOfFish 网站架构学习http://www.dbanotes.net/arch/plentyoffish_arch.html 采取 Windows 技术路线的 Web 2.0 站点并不多,除了 MySpace ,另外就是这个 PlentyOfFish.这个站点提供 “Online Dating” 服务.一个令人津津乐道的.惊人的数据是这个只有一个人(创建人Markus Frind)的站点价值 10 亿,估计要让很多人眼热,更何况 Markus Frind 每天只用两个小时打…
一.WikiPedia(维基百科) WikiPedia是非盈利网站,因此尽可能地使用免费的软件和廉价的服务器.截止到2012年,这个只有区区数百台服务器和十余个技术人员开发.维护的网站,成为流量全球排名第6的大型网站,可见其架构.性能优化有许多值得我们学习的地方. 1.WikiPedia的数据量 峰值每秒钟3万个 HTTP 请求 每秒钟 3Gbit 流量, 近乎375MB 350 台 PC 服务器 2.WikiPedia的主要架构   3.WikiPedia的性能优化策略 1)前端 ① 网站前端…
中间件就是在大型网站中,帮助各子模块间实现互相访问,消息共享或统一访问等功能的软件产品.常见的有: 远程服务框架中间件:主要解决各子模块之间互相访问的问题. 消息队列中间件:主要解决各子模之间消息共享的问题. 数据访问中间件:用于简化应用层对数据层的访问. 关于远程服务框架中间件,国内目前较多应用的是阿里巴巴的开源分布式服务框架Dubbo.其原理如图:  消息队列中间件是一种EDA架构(event driven architecture):通过在低耦合的模块之间传输事件消息来完成模块之间的合作.…
本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部,不过该企业把这个事业部里的人事成本,系统运维成本特别是硬件采购的成本都由总公司来承担,当然互联网业务上的市场营销成本这块还是由该事业部自己承担,可是网站一年运维下来,该公司发现该事业部里最大的成本居然不是市场营销的开销,而是短信业务和宽带使用上的开销,是不是有点让人感到意外呢?下面我来分析下这个场景吧. 短信这块是和通讯运营商有关,很难从根本上解决,…
本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部,不过该企业把这个事业部里的人事成本,系统运维成本特别是硬件采购的成本都由总公司来承担,当然互联网业务上的市场营销成本这块还是由该事业部自己承担,可是网站一年运维下来,该公司发现该事业部里最大的成本居然不是市场营销的开销,而是短信业务和宽带使用上的开销,是不是有点让人感到意外呢?下面我来分析下这个场景吧. 短信这块是和通讯运营商有关,很难从根本上解决,…