架构设计
gstormspire
这个作者很懒,什么都没留下…
展开
-
《软件架构设计》读书笔记
一、什么是架构?从书中可以看到两个观点:1. 架构=组件 + 交互2.架构= 重要决策集我更倾向于第一个观点,而用第二个观点提醒自己系统概要设计、详细设计等架构落地时候是否设计原则遵守了架构原则。二、子系统、框架和架构在解释这三个概念的时候,我想还要再加上要给概念:平台。好吧,分裂吧,程序员们。子系统:这个概念最为简单,就是一个系统的细分,它具有系统的完整特性,要应用原创 2012-12-12 15:00:47 · 1403 阅读 · 0 评论 -
SpringMVC与Struts2的对比
下面这些东西基本都是我从网上粘贴过来的,没有那么多耐心和时间一个字一个字的敲了,但是基本能表明我选择SpringMVC的思路和原因。把这张图放在这里,我是想说SpringMVC和Struts2真的是不一样的,虽然在都有着核心分发器等相同的功能组件(这些由MVC模式本身决定的)。 为什么SpringMVC会赢得最后的胜利呢?谈几点我自己的看法: 第一、MVC框架的出现是为原创 2012-11-29 14:42:42 · 215132 阅读 · 40 评论 -
SoundCloud研发团队Sean Treadway谈SoundCloud架构演变
SoundCloud是一个新兴的社会化音乐创建和分享平台,前不久,他们研发团队的Sean Treadway在SoundCloud的博客上谈到了SoundCloud的架构演变。Sean开门见山指出:扩展是一个奢侈的问题,它与组织架构的关系远超与具体技术实现的关系。在每个变化阶段,我们都会预测用户的下一个数量级,从数千开始,我们的设计现在支持数亿用户。我们识别出瓶颈,解决它转载 2012-10-08 11:06:52 · 873 阅读 · 0 评论 -
利用tcpcopy引流做模拟在线测试
一、工具介绍Tcpcopy是一个分布式在线压力测试工具,可以将线上流量拷贝到测试机器,实时的模拟线上环境,达到在程序不上线的情况下实时承担线上流量的效果,尽早发现bug,增加上线信心。Tcpcopy是由网易技术部于2011年9月开源的一个项目,现在已经更新到0.4版本。与传统的压力测试工具(如:abench)相比,tcpcopy的最大优势在于其实时及真实性,除了少量的丢包,转载 2012-09-13 10:47:28 · 578 阅读 · 0 评论 -
Mysql 读写分离实现方案一:Mysql Proxy
Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力 这样的方案来进行部署与实施的。原创 2012-09-27 10:22:05 · 1739 阅读 · 0 评论 -
大型网站架构要思考的几个问题
1.如何分层?业务逻辑集中在哪几层中处理,为将来的垂直拆分打下基础。2.如何划分组件?3.前台高并发如何处理?4.Cookies 还是 Session ?5.海量数据如何存储?6.如何消除分库、分表对业务层的影响?7.分库、分表之后如何实现排序、分页?8.需要几级缓存?9.缓存层面和数据库之间如何保持数据一致性?10.分布式缓存有多少种实现方案?11.分原创 2012-09-04 11:14:05 · 514 阅读 · 0 评论 -
百万级访问网站前期的技术准备
对互联网有了解的人都有自己的想法,有人就把想法付诸实现,做个网站然后开始运营。其实从纯网站技术上来说,因为开源模式的发展,现在建一个小网站 已经很简单也很便宜。当访问量到达一定数量级的时候成本就开始飙升了,问题也开始显现了。因为带宽的增加、硬件的扩展、人员的扩张所带来的成本提高是显而 易见的,而还有相当大的一部分成本是因为代码重构、架构重构,甚至底层开发语言更换引起的,最惨的就是数据丢失,辛辛苦苦转载 2012-09-04 18:49:26 · 2053 阅读 · 0 评论 -
由12306.cn谈谈网站性能技术
12306.cn网站挂了,被全国人民骂了。我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促,而且完全基于本人有限的经验和了解,所以,如果有什么问题还请大家一起讨论和指正。(这又是一篇长文,只讨论性能问题,不讨论那些UI,用户体验,或是是否把支付和购票下单环节分开的功能性的东西)业务任何技术都离不开业务需求,所以,要说明性能问题,首先还是想先说说业务问题。转载 2012-08-22 10:18:20 · 945 阅读 · 0 评论 -
【tips】网站应用架构
随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来转载 2012-08-21 11:49:53 · 1970 阅读 · 0 评论 -
浅谈千万级PV/IP规模高性能高并发网站架构
高并发访问的核心原则其实就一句话“把所有的用户访问请求都尽量往前推”。如果把来访用户比作来犯的"敌人",我们一定要把他们挡在800里地以外,即不能让他们的请求一下打到我们的指挥部(指挥部就是数据库及分布式存储)。如:能缓存在用户电脑本地的,就不要让他去访问CDN。 能缓存CDN服务器上的,就不要让CDN去访问源(静态服务器)了。能访问静态服务器的,就不要去访问动态服务器。以此类推:能不访问转载 2012-08-10 11:24:57 · 5718 阅读 · 0 评论 -
知名网站的技术实现
网站需要具有良好的可伸缩性,来应对不断增长的访问量和数据量。《程序员》杂志5月刊的《可伸缩性的10年探索:知名网站的技术发展历程》一文中介绍了一些Alexa排名较前的网站的技术发展历程,本文将结合提及的Google、Facebook、Twitter等网站的技术发展历程,总结它们在可伸缩性、可用性、高性能以及低成本四点上通常采用的技术。可伸缩可伸缩分为垂直伸缩和水平伸缩两类,垂直伸缩通过升级转载 2012-06-14 12:10:52 · 1131 阅读 · 0 评论 -
谈谈MIXI的开源SNS架构
分布式的部署web应用的例子已经很多了,自己没有真正意义上实践过,特别期待与有这方面经验的大虾沟通,充实一下自己,前段时间有关于technorati的数据库架构的文章,其中提到了藏袍的文章,关于日本网站MIXI的应用架构的,谈到的东西中规中矩,但是很实用,比如数据库的分表、分库,按照逻辑上、物理上对数据进行组织。技术架构上,mixi崇尚开源,Linux2.6,Apache 2.0,MySQL,转载 2012-06-13 17:16:27 · 876 阅读 · 0 评论