taoCMS是基于php+sqlite/mysql的国内最小(100Kb左右)的功能完善的CMS管理系统

针对架构设计的几个痛点,我总结出的架构原则和模式

【编者的话】本文来自Firat Atagun的《架构演化中的软件设计原则》,文中给出了软件架构演化过程中出现的4种经典架构,就每种架构,分析了其主要特点并在几个度量维度给出结论。在文章的最后,Firat Atagun给出了4种架构的多维对比。本文的完整演讲稿是架构演化中的软件设计原则。1 分层架构分层架构是最常见的架构,也被称为n层架构。多年以来,许多企业和公司都在他们的项目中使用这种架构,它已经几乎成为事实标准,因此被大多数架构师、开发者和软件设计者所熟知。分层架构中的层次和组件是水平方向的分层,每层扮演应用程序中特定的角色。根据需求和软件复杂度,我们可以设计N层,但大多数应用程序使用3-4层。有太多层的设计会很糟糕,将导致复杂度的上升,因为我们必须维护每一层。在传统的分层架构中,分层包括表现层、业务或者服务
发布时间:2016-04-08 | 类别:技术文章 | 阅读:34187 | 评论:1063 | 标签:架构

构建亿级前端读服务

从入职京东到现在,做读服务已经一年多的时间了,经历了各种亿级到百亿级的读服务;这段时间也进行了一些新的读服务架构尝试,从架构到代码的编写,各个环节都进行了反复尝试,压测并进行调优,希望得到一个自己满意的读服务架构。 一些设计原则无状态数据闭环缓存银弹并发化降级开关限流切流量其他无状态如果设计的应用是无状态的,那么应用就可以水平扩展,当然实际生产环境可能是这样子的: 应用无状态,配置文件有状态。比如不同的机房需要读取不同的数据源,此时就需要通过配置文件指定。 数据闭环如果依赖的数据来源特别多,此时就可以考虑使用数据闭环,基本步骤:1、数据异构:通过如MQ机制接收数据变更,然后原子化存储到合适的存储引擎,如redis或持久化KV存储;2、数据聚合:这步是可选的,数据异构的目的是把数据从多个数据源
发布时间:2015-11-18 | 类别:技术文章 | 阅读:28194 | 评论:0 | 标签:架构

构建需求响应式亿级商品详情页

该文章是根据velocity 2015技术大会的演讲《京东网站单品页618实战》细化而来,希望对大家有用。 商品详情页是什么商品详情页是展示商品详细信息的一个页面,承载在网站的大部分流量和订单的入口。京东商城目前有通用版、全球购、闪购、易车、惠买车、服装、拼购、今日抄底等许多套模板。各套模板的元数据是一样的,只是展示方式不一样。目前商品详情页个性化需求非常多,数据来源也是非常多的,而且许多基础服务做不了的都放我们这,因此我们需要一种架构能快速响应和优雅的解决这些需求问题。因此我们重新设计了商品详情页的架构,主要包括三部分:商品详情页系统、商品详情页统一服务系统和商品详情页动态服务系统;商品详情页系统负责静的部分,而统一服务负责动的部分,而动态服务负责给内网其他系统提供一些数据服务。 &nbs
发布时间:2015-11-18 | 类别:未分组 | 阅读:29124 | 评论:0 | 标签:架构

中大型移动互联网公司技术架构选择

总体思考总结这些年经验,进行构架演进的方向选择时,大致要做到下面的目标:可快速开发部署 (五分钟写出来一个经过测试的hello world并可访问/调用,并可在公网访问)天然可扩展(业务层无状态,尽可能全部放到最后)自动化(内存不足了,除了报警,应该自动加点机器进去; 新的项目,基础代码应该都不用写,自动生成即可)框架化(公共层面的东西尽可能框架化,一层类似日志、counter、trace,应该不需要开发再写一行代码即默认打开)量化(所有的调用都应该有percentile与rps,透明反馈服务质量,跟踪系统更是可以模拟用户进行系统内部)同构化(因为搞两套的成本巨大,整体应该越来越趋同于同一种语言)硬件虚拟化(整个平台应该对进程透明下面的硬件情况)版本化、灰度化(所有的软件都应该在线上有明确的版本,且上线过程是一
发布时间:2014-05-10 | 类别:技术文章 | 阅读:33815 | 评论:0 | 标签:架构

网站架构收集

来自sudone.com 服务器系统架构分析日志csdn.net的系统架构研究 http://sudone.com/archie/csdn_archive.html图片服务器的hash架构 http://sudone.com/archie/image_hash.html天涯bbs系统架构分析 http://sudone.com/archie/tianya.cn.htmlv.2008.163.com对新架构的尝试 http://sudone.com/archie/v.2008.163.com.htmlnginx和squid配合搭建的web服务器前端系统 http://sudone.com/archie/app_nginx_squid.htmlnginx作为最前端的web cache系统 http://sudone
发布时间:2012-06-25 | 类别:技术文章 | 阅读:41193 | 评论:0 | 标签:架构

国内图片网站Yupoo的架构

之前向大家介绍过全球最大在线图片服务网站Flickr网站架构,Yupoo(又拍网)作为国内最大的图片服务提供商,我们也一起来看看它的架构,同样是提供图片服务,看看他与Flickr的差别在哪里,大家看完本文可以思考一下。一、先来看看Yupoo网站的基本信息:带宽:4000M/S (参考)服务器数量:60 台左右Web服务器:Lighttpd, Apache, nginx应用服务器:Tomcat其他:Python, Java, MogileFS 、ImageMagick 等其架构图如下:原图链接二、关于 Squid 与 TomcatSquid 与 Tomcat 似乎在 Web 2.0 站点的架构中较少看到。我首先是对 Squid 有点疑问,对此阿华的解释是"目前暂时还没找到效率比 Squid 高的缓存系统
发布时间:2012-01-17 | 类别:技术文章 | 阅读:37309 | 评论:0 | 标签:架构 架构

Twitter网站架构介绍

作为140个字的缔造者,twitter太简单了,又太复杂了,简单是因为仅仅用140个字居然使有几次世界性事件的传播速度超过任何媒体,复杂是因为要为2亿用户提供这看似简单的140个字的服务,这真的是因为简单,所以复杂。可是比较遗憾的是目前在中国大陆twitter是无法访问的,但作为一个爱好架构的程序猿,这道墙是必须得翻的,墙外的世界更精彩。今天就结合网络上的一些资料,来浅谈一下我对twitter网站架构的学习体会,希望给路过的朋友一点启示.......一、twitter网站基本情况概览截至2011年4月,twitter的注册用户约为1.75亿,并以每天300000的新用户注册数增长,但是其真正的活跃用户远远小于这个数目,大部分注册用户都是没有关注者或没有关注别人的,这也是与facebook的6亿活跃用户不能相提并
发布时间:2012-01-17 | 类别:技术文章 | 阅读:40647 | 评论:0 | 标签:架构 架构

杨建:网站加速--服务器编写篇(上)

-提升性能的同时为你节约10倍以上成本 From: http://blog.sina.com.cn/iyangjian 一,如何节约CPU 二,怎样使用内存 三,减少磁盘I/O 四,优化你的网卡 五,调整内核参数 六,衡量Web Server的性能指标 七,NBA js直播的发展历程 八,新浪财经实时行情系统的历史遗留问题 (7 byte = 10.68w RMB/year) ----------------------------------------------------------------------------------------- 一,如何节约CPU 1,选择一个好的I/
发布时间:2011-12-19 | 类别:技术文章 | 阅读:45268 | 评论:0 | 标签:架构 架构 架构

【google论文一】面向星球的网络搜索:google集群架构

为了能够支持可扩展的并行化,google的网络搜索应用让不同的查询由不同的处理器处理,同时通过划分全局索引,使得单个查询可以利用多个处理器处理。针对所要处理的工作负载类型,google的集群架构由15000个普通pc机和容错软件组成。这种架构达到了很高的性能,同时由于采用了普通pc机,也节省了采用昂贵的高端服务器的大部分花费。 很少有网络服务的单个请求像搜索引擎占用那样多的计算资源。平均来看,在google上的每次查询需要读取数百m的数据耗费数10亿的cpu指令循环。为了能够支持峰值在每秒数千次请求流,需要与世界上最大的超级计算机规模相当的硬件设施。通过容错性软件将15000个普通pc机联合起来,提供了一种比使用高端服务器更廉价的解决方案。 本文我们将介绍google的集群架构,讨论那些影响
发布时间:2011-12-19 | 类别:技术文章 | 阅读:43624 | 评论:0 | 标签:架构 架构

讨论:烦人的细节

Bob大叔和Simon Brown关于描述系统架构时基础架构(infrastructure)所起的作用展开了讨论。在之前标题为 《尖叫的架构(Screaming Architecture)》的文章中,Robert Martin(也就是Bob大叔)阐述了这样的观点:软件产品的架构应该让所有人都很容易了解产品所要达到的目的,并且系统的架构应该反应系统的用例而不是它使用的框架:架构不是(或者说不应该是)关于框架的内容。架构不应该由框架支持。框架是我们要使用的工具,而不是要符合的架构。如果你的架构基于框架,那么它就无法基于你的用例。此外,好的架构应该让我们可以推迟那些不确定的,与框架、数据库、web服务器等等相关的决定,Bob大叔如是说:好的架构让我们直到项目的后期才需要决定使用Rails,或是Spring,或是Hib
发布时间:2011-12-07 | 类别:技术文章 | 阅读:41634 | 评论:0 | 标签:架构 架构

公告

taoCMS发布taoCMS2.5Beta5(最后更新14年05月25日),请大家速速升级,欢迎大家试用和提出您宝贵的意见建议。

捐助与联系

☟请使用新浪微博联系我☟

☟在github上follow我☟

标签云