
架构与程序设计
泊川
现任阿里巴巴研发工程师,多年从业经验,技术扎实精湛,专注互联网、企业级应用系统开发。
展开
-
Java框架的思考
目前的JAVA 企业级开发框架,我们常用的大致包括IOC AOP MVC ORM框架 1、 IOC spring是一个非常棒的ico容器,其思想非常简单,用一个集合对象如MAP 来缓存对象(对象都是单例的),这也就是spring 所说容器内单例,它和java中的单例模式的区别在于单例模式是在当前java进程中保持单例,因为它有三个必要条件:private static 自身对象、pri原创 2014-06-17 14:48:50 · 548 阅读 · 0 评论 -
QPS、PV和需要部署机器数量计算公式(转)
术语说明:QPS = req/sec = 请求数/秒【QPS计算PV和机器的方式】QPS统计方式 [一般使用 http_load 进行统计]QPS = 总请求数 / ( 进程总数 * 请求时间 )QPS: 单个进程每秒请求服务器的成功次数单台服务器每天PV计算公式1:每天总PV = QPS * 3600 * 6公式2:每天总PV = QPS * 3600 *原创 2014-06-17 14:50:12 · 758 阅读 · 0 评论 -
Rest风格的Web开发
业务场景:以某零件公司的零件仓库Web服务为例来解释REST Web服务的基本思想。部署在服务器上的零件仓库对外发布一些服务,从而客户能够:l 获取 一 份元件清单。l 获取某个特定元件的详细信息。l 提交一个采购清单(OP)。l 获取元件清单 实现:由 于 基 于 REST的Web服务可以通过一个URI来访问,因此调用一个Web服务就十分简单。顾客在订购单(Ord原创 2014-06-17 14:46:33 · 655 阅读 · 0 评论 -
应用程序扩展性实现的十宗罪
可扩展性方面专家Sean Hull曾发表文章指出实现 可扩展性的五大毒药,最近他又指出了实现 可扩展性的五大致命错误。 一、缓慢的磁盘I/O - RAID 5 -多用户的EBS。RAID 10可以提供良好的数据保护,同时具备良好 的读写性能。RAID 5设计意味着性能差,失败后修复时间长。在AWS上考虑使用预设的IOPS解决IO瓶颈问题。二、使用数据库存储作业队列。数据库看起来很适合存原创 2014-06-17 14:47:59 · 1339 阅读 · 0 评论 -
面向接口编程优缺点
下面是我对面向接口编程的理解优点:1.程序结构清晰,使用方便2.接口经过合理设计后,有利于程序设计的规范化,并可以并行开发,提高工作效率3.实现了程序的可插拔性,对于不同的需求切换不同的实现,降低了耦合度,随着系统复杂性的提高这个优势会越来越明显4.允许多重实现,弥补了继承的缺陷缺点:1.增加了设计的复杂度,不佳的接口的设计会对所有使用接口的层都有影响,并且并不是所有的原创 2014-06-17 14:46:52 · 8709 阅读 · 0 评论 -
理解RESTful架构
越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必须考虑,原创 2014-06-17 14:50:54 · 492 阅读 · 0 评论 -
高性能并发系统架构应该如何设计?关键是什么?12306
范凯 写道高性能并发系统其实分很多种类,是并发读,并发写,并发长连接,还是并发事务?不同类型的架构设计是不同的。具体到12306就是并发事务,在这个领域,我个人没有什么经验。陈雄华 写道1) 优化前端网页充分利用CDN,使JS、图片等静态资源的请求能够就近访问(顺便说一下,如果12306订票插件能从google提供的http://cdnjs.com原创 2014-06-17 14:48:31 · 739 阅读 · 0 评论 -
我心目中最好的框架组合是
我心目中最好的框架组合是: 表示层:spring mvc 3.1 + annotation 控制层:spring 3.1 持久层:hibernate 3.6 +jdbcTemplate 后台列表控件:displaytag 1.2 Ajax框架: DWR 3 JS框架 : Jquery 缓存机制:spring 3.1 cache + ehcache/原创 2014-06-17 14:46:58 · 527 阅读 · 0 评论