为了追寻微软的架构师文化,我们采访了微软Windows HPC Server架构师徐明强博士,邀请他为我们解密微软的架构师之路。
分布式(Distributed)数据访问层(Data Access Layer)(以下简称DAL)是综合MySQL Proxy、Memcached、集群等等技术优点而构建的一个软件系统。
选择什么样的并发架构会对多线程软件的设计和性能产生极大的影响,而对分布式软件的影响尤为明显。然而,还没有一种并发架构是适合所有的负载情况和平台的。本章所介绍的四种并发模式可以应对多种并发问题——从将异步并发处理与同步并发处理组合起来到将对共享组件的访问进行同步,同时保证性能和吞吐量的最大化。
本文向您讲解架构、框架和设计模式之间的关系,框架是软件,框架比架构更具体,更偏重于技术涉嫌。而设计模式是软件的知识体,提升框架的设计水平。
在请求中传递SessionID被普遍认为是unRESTful的,而将用户的credentials包含在每个请求里又是一种非常RESTful的做法。这样一个问题经常会造成困扰。本文就REST的一些概念进行了探讨,解释了REST架构中的状态,无状态(stateless),以及两种状态的区别。
增量迭代开发(敏捷实践之一,它意味着每次迭代的产出只是本次迭代范围内的需求)真的不利于产生好的设计吗?Scrum真的提倡“忽视架构问题”吗?如果没有敏捷技术实践的话,架构设计能有效的演化吗?测试先行式的开发真会产生优雅的设计吗?在红绿条提示下的重构循环只在局部小范围内有效吗?
Twitter服务团队的总工程师谈到了Twitter的技术架构,从缓存,MQ以及Memcached客户端三个方面讲解Twitter的架构变迁,从而看出Web2.0站点的架构技术思路。
笔者这里简单的针对.NET下的Web高性能开发来说下,其实这个不是只针对.NET,毕竟架构不分语言。这里将架构分两种来讨论的,一种是开发架构,一种是部署架构。
本文介绍了什么是REST,以及RESTful的实现。简单的说,REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。
本章中我们对敏捷架构设计的4种过程模式做一个小结,并讨论4者间的关系以及体现在模式中的敏捷方法论特色。通过这一章的描述,大家能够对前面的内容有更进一步的了解。
在不同的架构设计方法中出现的软件架构视图种类很多,本文介绍最常用的两种架构视图——逻辑架构视图和物理架构视图,并通过具体案例的分析说明如何运用它们进行架构设计。
在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。 单单抽象出生产者和消费者,还够不上是生产者/消费者模式。该模式还需要有一个缓冲区处于生产者和消费者之间,作为一个中介。生产者把数据放入缓冲区,而消费者从缓冲区取出数据。
Evan Weaver是Twitter服务团队的总工程师,他的主要工作是优化与伸缩性。在一个技术峰会上,他谈到了Twitter的架构,特别是在过去一年当中为提升Web站点性能所执行的优化。 Twitter使用的大部分工具都是开源的。其结构是用Rails作前端,C,Scala和Java组成中间的业务层,使用MySQL存储数据。所有的东西都保存在RAM里,而数据库只是用作备份。Rails前端处理展现,缓存组织,DB查询以及同步插入。这一前端主要由几部分客户服务粘合而成,大部分是C写的:MySQL客户端,Memcached客户端,一个JSON端,以及其它。
Evan Weaver是Twitter服务团队的总工程师,他的主要工作是优化与伸缩性。在一个技术峰会上,他谈到了Twitter的架构,特别是在过去一年当中为提升Web站点性能所执行的优化。 Twitter使用的大部分工具都是开源的。其结构是用Rails作前端,C,Scala和Java组成中间的业务层,使用MySQL存储数据。所有的东西都保存在RAM里,而数据库只是用作备份。Rails前端处理展现,缓存组织,DB查询以及同步插入。这一前端主要由几部分客户服务粘合而成,大部分是C写的:MySQL客户端,Memcached客户端,一个JSON端,以及其它。
据国外媒体报道,印度一家颇具影响力的软件外包企业高层主管表示,目前全球经济危机使得一切都陷入未知的领域当中。他无奈指出,今年公司财政年度的成长率可能会大幅下滑,仅剩个位数。
什么是架构,架构作为系统的骨架而存在,正因为这个原因才说所有的系统都是有架构的,有架构自然就有设计,尽管它也许只是浮在你脑海中的某个东西而已,从架构中我们可以看到对于整个系统的支持,包括系统的各个方面,业务需求、用户需求以及功能需求的满足...