现在位置: 首页 > 架构师
2014-11-30 08:40 工业·编程 ⁄ 共 5286字 暂无评论
随着移动终端和移动应用的发展将互联网的边界从空间和时间维度无限延伸,企业互联网的构建也成为2014年企业IT的一大主题,互联网用户体验的保障则是企业面临的一道坎。在此背景下,阿里、京东等中国电商巨头如何通过技术创新来保证海量订单压力下的用户体验,成为业界研究的热门对象。 对于京东的技术团队而言,由于中国互联网经济呈现出让美国同行叹为观止的增长速度,每年的6.18、11.11大促,总在不断挑战着他们的智慧。在刚...
阅读全文
2014-11-22 19:10 工业·编程 ⁄ 共 5981字 暂无评论
ODPS是分布式的海量数据处理平台,提供了丰富的数据处理功能和灵活的编程框架。本文从ODPS面临的挑战、技术架构、Hadoop迁移到ODPS、应用实践注意点等方面带领我们初步了解了ODPS的现状与前景。 初识ODPS ODPS是分布式的海量数据处理平台,提供了丰富的数据处理功能和灵活的编程框架,主要的功能组件有如下几个。 Tunnel服务:数据进出ODPS的唯一通道,提供高并发、高吞吐量的数据上传和下载服务。 SQL:基于SQL92并进行了...
阅读全文
2014-11-12 16:06 工业·编程 ⁄ 共 3841字 暂无评论
【导读】自2009年11月11日,淘宝商城(现名天猫)拉开网购狂欢节的序幕,各大电商的促销浪潮此起彼伏。此时的电商大战不仅是价格之争,更是技术的较量。如何设计电商峰值系统来更好地满足用户蜂拥而至的访问,如何在海量数据处理中实时发现有效信息并转化为商机,成为众多电商企业密切关注的问题。 2014年双11异常火爆。天猫、京东、当当、小米、1号店、海尔商城、唯品会、蘑菇街、麦包包等国内各大电商企业,展开了更为激烈的...
阅读全文
在《Web应用的组件化开发:基本思路》中我们提到了组件化的大致思路,这一篇主要讲述在这么做之后,我们需要哪些外围手段去管控整个开发过程。从各种角度看,面对较大规模前端开发团队,都有必要建立这么一个开发阶段的协作平台。 在这个平台上,我们要做哪些事情呢? 1. HTML片段 我们为什么要管理HTML片段?因为有界面要用它们,当这些片段多了之后,需要有个地方来管理起来,可以检索、预览它们,还能看到大致描述。 这应该...
阅读全文
1. 为什么要做组件化? 无论前端也好,后端也好,都是整个软件体系的一部分。软件产品也是产品,它的研发过程也必然是有其目的。绝大多数软件产品是追逐利润的,在产品目标确定的情况下,成本有两个途径来优化:减少部署成本,提高开发效率。 减少部署成本的方面,业界研究得非常多,比如近几年很流行的“去IOE”,就是很典型的,从一些费用较高的高性能产品迁移到开源的易替换的产品集群,又比如使用Linux + Mono来部署.net应用...
阅读全文
2014-09-27 03:22 工业·编程 ⁄ 共 432字 暂无评论
    架构师不是那么好当的,架构设计首先最重要的一点是搞清楚需求,深刻理解业务,做业务和技术的桥梁,因为架构设计的最终目的是满足需求,为客户所用。有以下一些心得: 简单,不过度设计:架构设计需要设计模式,用成熟的设计模式来解决架构问题,但不要滥用而导致过度设计。 重视缓存,消息队列:架构设计当中要给以缓存足够的重视,而异步消息队列系统对分布式系统提高系统吞吐能力非常重要。 框架的...
阅读全文
什么是设计不足?设计出来的系统复用性差,扩展性不强,不能灵活的应对变化,简言之,设计没到位。设计不足,多半是因为经验有限,设计能力有限。 什么是过度设计?设计出来的系统比恰到好处要复杂臃肿的多,过度的封装、一堆继承、接口和无用的方法,超复杂的xml配置文件,简言之,客户需求是要一把杀鸡的刀,你给设计了一把牛刀(杀鸡用牛刀)。过度设计,多半是因为有设计的癖好,喜欢炫耀或玩弄无谓的技巧,或是喜欢把简单...
阅读全文
2014-09-24 03:53 工业·编程 ⁄ 共 2627字 暂无评论
性能(performance)设计非常重要,对于服务器端实时交易系统来说系统性能的重要性不言而喻,对客户端软件来说性能好的软件也会获得良好的用户体验,从而给用户留下高质量软件的良好印象。因此在进行架构设计中性能设计非常重要。 但架构设计实际是一个平衡设计,在可用性、可扩展性、可维护性、可靠性、高性能等之间做个妥协选择。这些非功能性的需求再加上复杂的功能性需求,同时还要考虑到项目管理上tight schedule, low cost,...
阅读全文
2014-09-19 02:50 工业·编程 ⁄ 共 4395字 暂无评论
在进行系统设计时,不仅要考虑软件的功能性需求,还要考虑非功能性需求,比如软件的性能(Performance)、可扩展性(Scalability),系统的稳定性(Reliability)、部署(Deployment)和更新(Upgrade),可维护性(Maintainability),版本的管理,系统的安全(Security),界面的友好程度可用性(Usability, User experience)等。要想覆盖所有需求,实现一个简单而优秀的系统,可谓艰难。 大道至简,合适最好 什么是优秀的系统设计? 这个问...
阅读全文
一、 设计理念 1. 空间换时间 1) 多级缓存,静态化 客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回body,客户端可以继续用cache,减少流量),ETag) 反向代理缓存 应用端的缓存(memcache) 内存数据库 Buffer、cache机制(数据库,中间件等) 2) 索引 哈希、B树、倒排、bitmap 哈希索引适合综合数组的寻址和链表的插入特性,可以实现数据的快速存取。 B树索引适合于查询为主导...
阅读全文