文章分类 - 05-软件设计
设计模式、架构模式、软件体系结构
摘要:Design is there to enable you to keep changing the software easily in the long term. -- Kent Beck. 设计是什么 正如Kent Beck所说,软件设计是为了「长期」更加容易地适应未来的变化。正确的软件设计
阅读全文
摘要:一个出发点 当谈起软件设计的目的时,能够获得所有人认同的答案只有一个:功能实现。 因为这是一个软件存在的根本原因。 而在计算机软件发展的初期,这一点也正是所有人做软件设计的唯一动机。因而,很自然的,整个软件都被放在单一过程中,然后用到处存在的goto语句控制流程。 尽管理论上讲,任意复杂的系统都可以
阅读全文
摘要:原文:http://www.skywind.me/blog/archives/1265 手游页游和端游的服务端本质上没区别,区别的是游戏类型。 类型1:卡牌、跑酷等弱交互服务端 卡牌跑酷类因为交互弱,玩家和玩家之间不需要实时面对面PK,打一下对方的离线数据,计算下排行榜,买卖下道具即可,所以实现往往
阅读全文
摘要:敏捷建模方法的重点有: 来源-http://www.infoq.com/cn/articles/agile-modeling-part-one
阅读全文
摘要:1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:“我这篇文章的
阅读全文
摘要:原文:58沈剑-架构师之路 前篇: 《无限容量数据库架构设计》 《MQ消息可达性+幂等性+延时性架构设计》 《无限容量数据库架构设计》 《MQ消息可达性+幂等性+延时性架构设计》 都收到网友好评: 系统性,全局性看问题体会更深刻 简单易懂 系统性,全局性看问题体会更深刻 简单易懂 本文再做总结,体系
阅读全文
摘要:基于功能场景的模式组织方式 体系结构模式 设计模式 惯用法 层管道和过滤器黑板 解释器 代理者管道和过滤器微核 MVCPAC 微核映像 抽象工厂原型建造者 单件工厂方法 整体-部分组合 主控-从属职责链命令中介者 代理外观迭代器 网桥策略状态 模板方法 装饰访问者 命令处理器视图处理程序备忘录 适配
阅读全文
摘要:前言 十二要素 基准代码 依赖 配置 后端服务 构建发布运行 进程 端口绑定 并发 易处理 开发环境与线上环境等价 日志 管理进程 前言 今天看“如何实现现代应用的快速落地”公开课,提到十二要素,之前文章也提到多次,这里统一汇总下: 十二要素 如今,软件通常会作为一种服务来交付,它们被称为网络应用程
阅读全文
摘要:“架构的视角每个人都不一样,这位在eBay、携程、唯品会等平台型互联网公司都工作过的老司机就以平台架构视角和大家分享架构心得体会。一家之言,欢迎讨论。 本文首发于InfoQ垂直公众号「聊聊架构」,ID:archtime。 本文首发于InfoQ垂直公众号「聊聊架构」,ID:archtime。 我对架构
阅读全文
摘要:参考: http://blog.chinaunix.net/uid-12916063-id-2910803.html 编写连接数巨大的高负载服务器程序时,经典的多线程模式和select模式都不再适用。 应当抛弃它们,采用epoll,kqueue,dev/poll来捕获I/O事件。最后简要介绍了AIO
阅读全文
摘要:最近到处在争论这些话题,发现很多人对一些基础的常识并不了解,在此发表一文做一下解释。此文未必能解答所有问题,各位能有一个大致的了解就好。 C10K的由来 大家都知道互联网的基础就是网络通信,早期的互联网可以说是一个小群体的集合。互联网还不够普及,用户也不多。一台服务器同时在线100个用户估计在当时已
阅读全文
摘要:既然我们已经解决了 C10K并发连接问题,应该如何提高水平支持千万级并发连接?你可能会说不可能。不,现在系统已经在用你可能不熟悉甚至激进的方式支持千万级别的并发连接。 要知道它是如何做到的,我们首先要了解Errata Security的CEO Robert Graham,以及他在Shmoocon 2
阅读全文
摘要:引言 如今移动互联网行业呈爆发式发展,随着业务用户规模和业务逻辑趋向复杂,后端系统的开发和维护变得越来越困难,目前业界涌现出各种各样的技术文章介绍分布式缓存设计、分布式数据库设计、负载均衡、HA策略等等,这些都是支撑分布式数据访问层的基石,不过,本文将从另一个角度探讨分布式数据访问层 (Data A
阅读全文
摘要:前言 高并发经常会发生在有大活跃用户量,用户高聚集的业务场景中,如:秒杀活动,定时领取红包等。为了让业务可以流畅的运行并且给用户一个好的交互体验,我们需要根据业务场景预估达到的并发量等因素,来设计适合自己业务场景的高并发处理方案。 在电商相关产品开发的这些年,我有幸的遇到了并发下的各种坑,这一路摸爬
阅读全文
摘要:日均数十亿请求!京东评价系统海量数据存储高可用设计 京东的商品评论目前已达到数十亿条,每天提供的服务调用也有数十亿次,而这些数据每年还在成倍增长,而数据存储是其中最重要的部分之一,接下来就介绍下京东评论系统的数据存储是如何设计的。 整体数据存储包括基础数据存储、文本存储、数据索引、数据缓存几个部分。
阅读全文
摘要:1、什么是LVS? 首先简单介绍一下LVS (Linux Virtual Server)到底是什么东西,其实它是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构
阅读全文
摘要:原文:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/ 安装和配置详解 本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zo
阅读全文
摘要:1. 各种计数,商品维度计数和用户维度计数 说起电商,肯定离不开商品,而附带商品有各种计数(喜欢数,评论数,鉴定数,浏览数,etc),Redis的命令都是原子性的,你可以轻松地利用INCR,DECR等命令来计数。 商品维度计数(喜欢数,评论数,鉴定数,浏览数,etc) 采用Redis 的类型: Ha
阅读全文
摘要:【编者按】在公司的发展中,保证服务器的可扩展性对于扩大企业的市场需要具有重要作用,因此,这对架构师提出了一定的要求。Octivi联合创始人兼软件架构师Antoni Orfin将向你介绍一个非常简单的架构,使用HAProxy、PHP、Redis和MySQL就能支撑每周10亿请求。同时,你还能了解项目未
阅读全文

浙公网安备 33010602011771号