突然看到这篇文章, 值得反省, 乐在其中, 在接下来的发展中不被淘汰的都来看看,
如何成为一个架构师
先明确这里所指的PHP工程师,是指主要以PHP进行Web系统的开发,没有使用其的语言工作过。工作经验大概在3~4年,普通的Web系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得心应手,没有什么问题。但他们会有这样的误点:
◆ 除了PHP不使用其它的语言,可能会点shell 脚本。
◆ 对PHP的掌握不精(很多PHP手册都没有看完,库除外)。
◆ 知识面比较窄(面对需求,除开使用PHP和MySQL,不知道其它的解决办法)。
◆ PHP代码以过程为主,认为面向对象的实现太绕,看不懂。
这些PHPer在遇到需要高性能,处理高并发,大量数据的项目或业务逻辑比较复杂(系统需要解决多领域业务的问题)时,缺少思路。不能分析问题的本质,技术判断力比较差,对于问题较快能找出临时的解决办法,但常常在不断临时性的解决办法中,系统和自己一步步走向崩溃。那怎么提高自己呢?怎么可以挑战难度更高的系统?
更高的挑战在那里?
结合我自己的经验,我列出一些具体挑战,让大家先有个感性的认识。
高性能系统的挑战在那里?
◆ 如何选择Web服务器?要不要使用fast-cgi 模式;
◆ 要不要使用反向代理服务?选择全内存缓存还是硬盘缓存?
◆ 是否需要负载均衡?是基于应用层,还是网络层? 如何保证高可靠性?
◆ 你的PHP代码性能如何,使用优化工具后怎么样? 性能瓶颈在那里? 是否需要写成C的扩展?
◆ 用户访问有什么特点,是读多还是写多?是否需要读写分离?
◆ 数据如何存储?写入速度和读出速度如何? 数据增涨访问速读如何变化?
◆ 如何使用缓存? 怎么样考虑失效?数据的一致性怎么保证?
高复杂性系统的挑战在那里?
◆ 能否识别业务所对应的领域?是一个还是多个?
◆ 能否合理对业务进行抽象,在业务规则变化能以很小的代价实现?
◆ 数据的一致性、安全性可否保证?
◆ 是否撑握了面向对象的分析和设计的方法?
这里所列出的问题,你都能肯定的回答,说明在技术上你基本已经可能成为架构师了。如何你还不能回答,你需要在以下几个方向加强。
怎么样提高,突破瓶颈
如何你还不能回答,你需要在以下几个方向加强:
◆ 分析你所使用的技术其原理和背后运行的机制,这样可以提高你的技术判断力,提高你技术方案选择的正确性;
◆ 学习大学期间重要的知识,操作系统原理,数据结构和算法。知道你以前学习都是为了考试,但现在你需要为自己学习,让自己知其所以然;
◆ 重新开始学习C语言,虽然你在大学已经学过。这不仅是因为你可能需要写PHP扩展,而且还因为,在做C的应用中,有一个时刻关心性能、内存控制、变量生命周期、数据结构和算法的环境;
◆ 学习面向对象的分析与设计,它是解决复杂问题的有效的方法。学习抽象,它是解决复杂问题的唯一之道。
WEB架构想法考虑
时间: 2024-11-03 16:38:35
WEB架构想法考虑的相关文章
Web安全(上) Web架构分析
一. Web安全不仅仅是互联网才需要 Web服务是指采用B/S架构.通过Http协议提供服务的统称,这种结构也称为Web架构,随着Web2.0的发展,出现了数据与服务处理分离.服务与数据分布式等变化,其交互性能也大大增强,也有人叫B/S/D三层结构.互联网能够快速流行得益于Web部署上的简单,开发上简便,Web网页的开发大军迅速超过了以往任何计算机语言的爱好者,普及带来了应用上繁荣.J2EE与.NET的殊途同归,为Web流行扫清了厂家与标准的差异:众望所归,SOA选中Web2.0作为其实现的基本
web架构设计经验分享(转)
本人作为一位web工程师,着眼最多之处莫过于 性能与架构,本次幸得参与sd2.0大会,得以与同行广泛交流,于此二方面,有些心得,不敢独享,与众博友分享,本文是这次参会与众同撩交流的心得,有兴趣者可以查看视频 架构设计的几个心得: 一,不要过设计:never over design 这是一个常常被提及的话题,但是只要想想你的架构里有多少功能是根本没有用到,或者最后废弃的,就能明白其重要性了,初涉架构设计,往往倾向于设计大而化一的架构,希望设计出具有无比扩展性,能适应一切需求的增加架构,web开发领
[精华]web架构设计经验分享!
经验|经验分享|精华|设计|web架构 本人作为一位web工程师,着眼最多之处莫过于 性能与架构,本次幸得参与sd2.0大会,得以与同行广泛交流,于此二方面,有些心得,不敢独享,与众博友分享,本文是这次参会与众同撩交流的心得,有兴趣者可以查看视频 架构设计的几个心得: 一,不要过设计:never over design 这是一个常常被提及的话题,但是只要想想你的架构里有多少功能是根本没有用到,或者最后废弃的,就能明白其重要性了,初涉架构设计,往往倾向于设计大而化 一的架构,希望设计出具有无比扩展
WEB架构师成长之路
牛人就是是牛人,看了他写的,再回过头来想想,我为什么写不出来呢~ 来源地址:http://www.cnblogs.com/seesea125/archive/2012/04/17/2453256.html 赵学智@行胜于言 本人致力于学习面向对象.设计模式.重构.极限编程.大型网站架构设计.管理等知识,希望有不正确之处多多指出,共同学习提高,为了方便查阅,特做出索引一页. 序言 WEB架构师成长之路之一-走正确的路 WEB架构师成长之路之二-大牛的法宝 WEB架构师成长之路之三-架构师都要懂哪些
【好书试读】架构即未来:现代企业可扩展的web架构、流程和组织
开始试读:https://yqfile.alicdn.com/3ff554317b7d8280a4ad75c3abad3ebb.pdf 天猫购买链接:架构即未来:现代企业可扩展的web架构.流程和组织 这是一本教你如何建设一个世界级工程组织的实战手册,包括领导.架构.运维和过程.就像一本驾驶手册教你怎么起步.如何上路一样,本书告诉你如何扩展业务.有了这本书,就可以少犯错误.换句话说,如果你有什么疑问,那就去读这本书吧! --郎·班德,Warby Parker技术副总裁 我在AKF公司一直负责解决
可扩展Web架构与分布式系统
原文:可扩展Web架构与分布式系统 开放源代码已经成为一些大型网站的基本原则.而在这些网站成长的过程中,一些优秀的实践经验和规则也出现在他们的结构中.本文旨在介绍一些在大型网站结构设计的过程中需要注意的关键问题以及实现目标的基础工作. 本文侧重于介绍网络系统,尽管一些准则在其他分布式系统中也是适用的. 1.1. web分布式系统的设计原则 搭建和运营一个可伸缩的web站点或者应用程序意味着什么?在原始层面上这仅仅是用户通过互联网连接到远程资源-使系统变得可伸缩的部分是将资源.或者访问的资源,
架构即未来:现代企业可扩展的web架构、流程和组织书评
一个网站的架构是非常重要的,他不只是能用,而且要好用,架构是一个网站的核心,本人是一个小菜鸟,有一天,突然看到<架构即未来:现代企业可扩展的web架构.流程和组织>这本书的适度章节,然后就看了一下,这本书主要讲了1.这是一本教你如何建设一个世界级工程组织的实战手册,包括领导.架构.运维和过程.就像一本驾驶手册教你怎么起步.如何上路一样,本书告诉你如何扩展业务.2.讲了与AKF公司一直负责解决棘手的技术难题等等真实案例.通俗易懂.3.作者从过程.人员.性能和技术的角度解决扩展性问题.帮
springMVC + oracle存储过程架构高性能java web架构
MVC让简单的业务也变得复杂 不知道你在使用MVC模式开发项目的时候是否觉得很麻烦,一个简单的增删改查动作却要涉及到多个文件操作. 以一条数据增加为例说明. 假设我们使用hibernate并且dao层是已经封装好的 从图中可以看出如果我们在系统中写一个增加功能需要自己动手写的地方至少是 jsp , action , service,servicesImpl 四层. 如果是复杂的添加操作那么我们很可能还会自己定义dao层的接口和方法,那样就是6层操作了. 如果使用mybatis 至少也是写4层,常
关于web架构的一个想法(欢迎讨论)
问题描述 我现在设计一个web网站,技术上确定采用struts2+spring+ibatis+mysql(当然还有ajax等其它技术),现在主要是架构这块儿,我想把美工和业务处理的java程序员的工作分开,前后台之间定义好数据传输的接口,这样后台只负责处理业务并根据接口向前台提供数据等功能,而前台的美工会写些java脚本(也算个初级程序员吧),前台的界面布局完全由前台人员负责,那么我目前由以下问题需要考虑:1.前后台之间的数据传输采用什么方式比较好,我认为考虑到网站性能问题不能使用webserv