随笔分类 -  架构设计

摘要:1、HTML静态化其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说 阅读全文
posted @ 2011-10-18 18:27 蛤蟆 阅读(826) 评论(0) 推荐(0) 编辑
摘要:今天在网上看到人人网使用的开源软件列表,人人网的架构师写的,看完后,大概了解了人人网的架构信息数据层使用MySQL ,同时使用Tokyo Cabinet(Key-value的存储引擎,简称TC)做一个数据冗余,TC代替MySQL做存储,例如搜索结果页的用户资料,但Tokyo Cabinet没有网络处理能力,需要使用Tokyo Tyrant以提供网络接入能力,并调用Tokyo Cabinet的API进行持久化存储Tokyo Tyrant其实也是Tokyo Cabinet的作者开发的,主要是支持Memcached传输协议的网络接口,可以理解为Tokyo Tyrant处理网络连接,协议解析,然后调. 阅读全文
posted @ 2011-08-31 23:46 蛤蟆 阅读(692) 评论(0) 推荐(0) 编辑
摘要:笔者在仔细阅读了大量这方面文章后,认为许多朋友在分层架构的理解上存在两个比较大的偏颇: 1.没有从本质角度去理解分层的内涵,而只是了解其表象。 2.对分层架构的理解过于狭隘,只是少数概念,而又不够深入。 许多朋友言“分层”则必称“DAL”、“BLL”、“表示层”等概念,殊不知“DAL”的内部还有“DataSource架构模式”、“t-Relational Behavioral 模式”、“t-RelationalStructural模式”等方面,而其中每个方面下下又有诸多具体模式,如“Data Source 架构模式”又有“TableDataGateway”、“Row DataGateway”、 阅读全文
posted @ 2011-07-19 17:04 蛤蟆 阅读(284) 评论(0) 推荐(0) 编辑
摘要:Google MapReduce中文版 译者: alex 摘要MapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。用户首先创建一个Map函数处理一个基于key/value pair的数据集合,输出中间的基于key/value pair的数据集合;然后再创建一个Reduce函数用来合并所有的具有相同中间key值的中间value值。现实世界中有很多满足上述处理模型的例子,本论文将详细描述这个模型。MapReduce架构的程序能够在大量的普通配置的计算机上实现并行化处理。这个系统在运行时只关心:如何分割输入数据,在大量计算机组成的集群上的调度,集群中计算机的错误处理, 阅读全文
posted @ 2011-06-20 16:52 蛤蟆 阅读(337) 评论(0) 推荐(0) 编辑
摘要:FastDHT是一个基于键值对(Key Value Pair)的高效的分布式Hash系统,她可以用来存储大量的Key Value Pair,比如可以用来存储文件名映射表、session数据、用户相关数据等等。 FastDHT服务器端底层存储采用Berkeley DB,支持大数据量;网络IO采用libevent,支持大并发连接。FastDHT只用到了BDB最基本的存储功能,数据同步是自己实现的,采用了binlog的复制方式。 FastDHT集群由一个或多个组(group)组成,每个组由一台或多台服务器组成,同组服务器上存储的数据是相同的,数据同步只在同组的服务器之间进行。组内各个服务器是对等的, 阅读全文
posted @ 2011-06-20 16:51 蛤蟆 阅读(3224) 评论(0) 推荐(1) 编辑
摘要:在了解过世界最大的PHP站点,Facebook的后台技术后,今天我们来了解一个百万级PHP站点的网站架构:Poppen.de。Poppen.de 是德国的一个社交网站,相对Facebook、Flickr来说是一个很小的网站,但它有一个很好的架构,融合了很多技术,如 Nigix、MySql、CouchDB、Erlang、Memcached、RabbitMQ、PHP、Graphite、Red5以及Ts... 阅读全文
posted @ 2010-10-18 17:25 蛤蟆 阅读(418) 评论(1) 推荐(0) 编辑
摘要:转自:http://www.hellodba.net/2010/02/cassandra.html提起NoSQL这个话题,仿佛不应该是DBA要关注的事,而是架构师应该关心的。但是作为一名DBA,在使用传统的关系型思想建模时,应该有必要了解NoSQL的建模方法。各种NoSQL数据库有很多,我最关注的还是BigTable类型,因为它是一个高可用可扩展的分布式计算平台,用来处理海量的结构化数据,而数据库... 阅读全文
posted @ 2010-10-08 18:10 蛤蟆 阅读(281) 评论(0) 推荐(0) 编辑
摘要:垂直分库指的是根据应用来分数据库,比如博客一个数据库,论坛一个数据库。水平分库是指,根据某些规则,将同一个应用/表的数据分布在不同的库上。比如根据用户ID把用户的博客文章分布在5个数据库上。 垂直分库,可以参考如下的文档。 Easy Multi-Database Support for Django http://www.eflorenzano.com/blog/post/easy-multi-d... 阅读全文
posted @ 2010-04-29 11:46 蛤蟆 阅读(842) 评论(0) 推荐(0) 编辑
摘要:转自:http://www.javaeye.com/topic/409294第1章 引言随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限... 阅读全文
posted @ 2010-04-29 11:44 蛤蟆 阅读(377) 评论(0) 推荐(0) 编辑
摘要:一、LiveJournal发展历程LiveJournal是99年始于校园中的项目,几个人出于爱好做了这样一个应用,以实现以下功能:博客,论坛社会性网络,找到朋友聚合,把朋友的文章聚合在一起 LiveJournal采用了大量的开源软件,甚至它本身也是一个开源软件。在上线后,LiveJournal实现了非常快速的增长:2004年4月份:280万注册用户。2005年4月份:680万注册用户。2005年8... 阅读全文
posted @ 2010-04-29 11:42 蛤蟆 阅读(279) 评论(0) 推荐(0) 编辑
摘要:逻辑模型的工具——只反映信息在系统中流动和处理情况的图称为数据流图,它是描述系统逻辑模型的工具之一。数据流图(Data Flow Diagram,简称DFD)是便于用户理解系统数据流程的图形表示。它能精确地在逻辑上描述系统的功能、输入、输出和数据存贮等,而摆脱了其物理内容。数据流图是系统逻辑模型的重要组成部分。  系统分析阶段必须进行全面准确的收集、整理、分析收集的数据及其... 阅读全文
posted @ 2010-01-22 11:42 蛤蟆 阅读(7642) 评论(0) 推荐(1) 编辑
摘要:设计模式<框架<架构<平台,从复用角度讲,设计模式是代码级复用、框架是模块级复用、架构是系统级复用、平台是企业应用级复用。1、设计模式为什么要先说设计模式?因为设计模式在这些概念中是最基本的,而且也比较简单。那么什么是设计模式呢?说的直白点,设计模式就是告诉你针对特定问题如何组织类、对象和接口之间的关系,是前人总结的经验。比如我要在代码中实现一个全局唯一的配置类,那么就使用Sin... 阅读全文
posted @ 2010-01-18 14:44 蛤蟆 阅读(692) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示