一个具有一定知名度的网站,面对的问题无非是:稳定的性能、海量访问、海量数据。
优秀的website architecture应该良好的解决上述问题,那么Terry认为应该熟悉或了解下面的技术:
- 开发语言架构:应该至少熟悉一种web开发语言,包括java、web、python、ror等,然后采用比较稳健的、成熟的开发语言架构
- 单点登陆
- 自建session server,类似discuz的passport的方案
- 目前常用的是cas sso解决方案
- web服务器集群:
- 负载均衡:软件比如keepalived,ultramokey.硬件如四层交换机;
- web服务器集群方案:常用lvs
- web服务器选型:apache、Nginx、lighttpd
- 其他服务器-如java 应用服务器的集群部署;
- 利用缓存:
- 页面静态化规则,页面缓存;缓存软件:squid,oscache,等
- 常用数据缓存解决方案,缓存数据命中率
- 如果采用ORM,考虑采用二级缓存
- ajax:避免页面全局刷新,提高用户体验;合理使用,避免泛滥。
- 数据库
- 集群数据库
- 如果数据库采用mysql,那么一般是master-slave,对master进行写入或更新数据,对slave进行数据的查询。如果使用hibernate那么,使用native sql太动态绑定不同的数据库表。复杂一些可以研究一下Hibernate Shards,这是google捐献给hibernate的项目的。
- oracle数据库集群,可以采用磁盘阵列方式,oracle部署在几个服务器上,表和数据文件放在磁盘阵列上
- 做好备份策略
- 分清不同数据的生命周期。根据不同的生命周期,做好数据的归档/转存的工作
- 商业数据存储首选大型商业数据库,其他数据可以用mysql等开源数据库。
- 搜索引擎:
- 常用的技术选型是lucene ,另外有ferret,Sphinx。
- 分布式存储和分布式查询
- 中文分词
- 网络蜘蛛:
- 知道如何抓取别人网站的网页
- 懂得如何屏蔽未知或部分蜘蛛访问你的网站
- seo
- 关注互联网业内的情况
- facebook的f8是啥回事
- google的产品和api,了解Google Maps API、OpenSocial API、Google Apps等等
- 找到sns,blog,wiki等web2.0的技术表现形式
- guice、google toolkit、Android
- 关注新冒出来一些网站的情况
- 研究和分析知名网站的架构
- 跟踪一些知名技术专家的文章或blog
- 适当的参加一些技术或互联网聚会和话题讨论
- 了解比较新的一些技术概念,如soa、esb、云计算、MapReduce、BigTable、Google
- “隔河观景的心态应该尽量避免”-- 个人技术学习路上的那些事儿
分享到:
相关推荐
然而,成为一个优秀的架构师并不是一件容易的事,它需要深厚的技术底蕴和实践经验。本文将探讨如何成为一名合格的架构师,以及为何架构师必须具备出色的编程能力。 首先,架构师的基础是编程。如同Fred George先生...
通过《架构师成长之路》这本书,读者可以系统地学习到这些关键的知识点,并结合实际工作经验,逐步成长为一名出色的架构师。书中的案例分析和实战指导,将帮助读者在理论与实践中找到平衡,加速自己的职业发展。
在IT行业中,软件架构师是一个至关重要的角色,他们负责规划、设计和指导软件系统的构建,确保系统...记住,成为一名出色的架构师不仅需要技术知识,更需要对业务的理解、团队合作的能力以及不断学习和适应变化的心态。
在IT行业中,系统架构师扮演着至关重要的角色,他们负责设计和规划复杂的软件系统,确保其...通过学习这些案例,读者不仅能提升自己的技术素养,还能掌握如何将理论知识应用于实际工作,从而成为一名出色的系统架构师。
如何成为一名出色的管理架构师.doc
《架构师文集100本》是一个包含丰富IT知识的压缩包,涵盖了大数据、Shell编程脚本以及架构师相关领域的经典著作。...通过深入研读并实践这些知识,你将能够更好地应对复杂的技术挑战,成为一名出色的架构师。
本教程将涵盖多个关键知识点,助你成为一名出色的软件架构师。 一、软件架构基础 1. 架构定义:理解软件架构的含义,包括主要组件、接口和关系,以及它们如何协同工作。 2. 基本架构模式:学习常见的架构模式,如...
整体来看,系统架构设计师的学习笔记是一份系统而全面的学习资料,覆盖了架构师的理论知识、技术实践以及行业应用,为准备成为系统架构师的专业人士提供了宝贵的学习资源。对于软件架构师的培养,笔记强调了需要通过...
在IT行业中,软件架构师是至关重要的角色,他们负责设计和规划软件系统的整体结构,确保其可扩展性、可维护性和高效性...通过深入学习和实践,你可以不断提升自己在系统架构领域的专业水平,成为一名出色的软件架构师。
作为团队领导者,架构师需要有出色的沟通技巧,能够清晰地传达设计意图,引导团队达成共识。 12. **持续学习与技术趋势**: 技术发展迅速,架构师需要保持学习新知识的习惯,跟踪云计算、大数据、人工智能等领域...
这就需要架构师具备一系列的个人特性和技术技能,形成一个完整的能力模型。本文将深入解析架构师能力模型,揭示架构师应该具备的各项能力。 架构师的能力模型涵盖了“个人特性”和“技术技能”两个维度。在个人特性...
《J2EE架构师培训手册》是一本专为有志于成为优秀J2EE架构师的人士准备的指导性读物。它全面地涵盖了成为J2EE架构师所需掌握的各项核心技术,旨在帮助读者深入理解J2EE平台的核心概念、设计原则和最佳实践。 J2EE...
他的经历可以分为几个阶段,每个阶段都为其成为一位出色的架构师奠定了坚实的基础。 **阶段一:打基础** 在五八同城工作期间,沈剑涉足了多个技术领域,包括即时通讯(11年)、支付及信息系统(13年)、智能推荐...
- **数据中心高可用性**:通过构建冗余的数据中心结构,确保即使在一个中心出现故障时,另一个中心也能迅速接管服务。 - **ISP链路高可用性**:通过智能路由和备份链路设计,确保网络连接的稳定性和可靠性。 #### ...
大多数优秀的架构师至少拥有一个相关的学士学位。 #### 三、职业发展路径 1. **从开发人员到架构师的转变**: - 很多成功的架构师是从优秀的开发人员逐步成长起来的。他们在早期的职业生涯中积累了丰富的技术经验...
尽管架构师的工作更多地涉及到系统设计和决策,但成为一名好的架构师往往始于成为一名出色的程序员。编程能力是架构师的基础,因为这有助于他们深入理解技术细节,更好地评估技术选择,以及解决实际开发中遇到的问题...
以某位系统架构师的职业经历为例:他从一名普通的软件工程师做起,在不断的学习和实践中逐渐成长为一名优秀的系统架构师。在这个过程中,他不仅掌握了多种编程语言和技术框架,还积累了丰富的项目管理经验。特别是在...