`
m2000hsf
  • 浏览: 100089 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多
此文的真正目的也就是让各位了解,作为一个网站架构的角色,你至少应当具备哪些知识点。当然,如果你现在已经是架构的角色,看到此文有不同见解,你可以提出来。

有人说过,架构的思想就是分分分。那就以此人的思想作为准则,看看是否真的是这样。

我们知道,网站的结构被模式分为MVC三层,作为架构,你考虑问题也主要是从这几个层面考虑。

1. 我们先看View层,这一层真接面向用户,用户的直接使用体验全在这上面。
         这一层思考的方面主要有UI的优化,比方说javascript web2.0 框架的选型, Jquery, prototype, Exjs, Dojo. 比如果严格的DIV+CSS的UI制作,很多人常常会聊到压缩技术,也就是在这一层,适当的使用压缩技术可以减轻网络负担。有的网页的小图片过多,还会带来网站请求数的增加,所以有的网站会将单个网站尽量瘦身。但有些门户网站的首页实在瘦不下来,这时候所考虑的往往是将小图片合并,然后合理使用css 的定位技术。同时,还要合理的利用客户端的cache
        刚刚我们提到过网络负担,想像一下,如果全世界都是你网站的粉丝,再好的服务器都会有些为难。 所以几乎所有的大型网站都会有load balance 技术。也就是说,并不是所有的用户请求都在同一个cpu上完成计算。另外,还有相关的技术可以使得南京用户的请求只在南京的服务器上请求资源,北京的用户则用北京的服务器。这也就是我们常说的CDN 内容分发网络. 但是,这些技术带来的难题便是数据同步,数据库同步,基至内存同步。load balance 叫做 负载均衡。它与我们通常讲的集群不太一样。F5是负载均衡的一种实现.
        任何一种大型 应用都不可能只架设在一个Web Server上面,所以众多的架构者还会考虑将静态文件与执行文件存储在不同的服务器上。我们经常会遇到的静态文件服务器会有Lighttpd apche, 和 Nginx. 通过它们除了用来存储静态内容之外,还有的会做高速文件缓存如Squid和反向代理。
         Java 里面用到的服务器会有Weblogic , Websphere或是 tomcat, 现在的tomcat 6可以很简单的将请求服务中的网络IO模型设置为 NIO, 这种方式也用在架构设计中,如果你需要的话。

2. 再看看Control层,有人讲这一层是程序员的事情,架构在这一层发挥空间不大。但我认为,这里面,架构师仍有它的发挥空间。如果要在这一层做一些performance tuning 的工作,程序员要注意的主要是一些锁机制,利用好工具找到程序哪里耗时最长,哪里耗内存最多,哪里用CPU最历害。

3. 存储层往往是架构师觉得最具挑战性的工作,在这一层,它们要防止过多的DB hits。 甚至有人提出,DB只不过是一个Backup 的工具,逻辑处理产生的临时数据都应存储在内存里面, 间隔一段时间将内存的数据刷到数据库就行了。如果使用文件系统,同样也要防止文件系统的频繁访产问。如果在网上找一下cache这个关键字,它们的名目多的让人一下找不到重点。Memcached, JBossCache, ENCache, OSCache等等。

存储层的IO逻辑也很有讲究,很容易遇到需要经常性的写入很多小文件的问题,这样就会带来小文件随机访问的负担,将众多小文件写入到一个大文件中,可以确保硬盘指针的顺序访问,而不是随机性的满盘去定位。

    许多大型的网站,它们在自己的架构实践中常常指到自己的存储系统采用的根本就不是关系型数据库,也就是说现在出现了许多的基于Key, Value存储方式的产品,合理的设计加上可扩展的架构,相信你会在产品架构路上走得更顺。

4. 当然还有很多,我想到一点补一点吧。这次就写到这里。
分享到:
评论

相关推荐

    大型分布式网站架构设计与实践.带目录书签.完整版.rar

    《大型分布式网站架构设计与实践》主要介绍了大型分布式网站架构所涉及的一些技术细节,包括SOA架构的实现、互联网安全架构、构建分布式网站所依赖的基础设施、系统稳定性保障和海量数据分析等内容;深入地讲述了...

    漫谈MySQL高可用架构

    ### 漫谈MySQL高可用架构 #### 一、引言 随着互联网技术的发展与企业规模的扩大,数据服务的连续性和稳定性变得至关重要。在众多数据库管理系统中,MySQL因其开源性、灵活性以及强大的社区支持而备受青睐。然而,...

    2012 Web_架构师大会资料汇总

    诸超:中型规模的网站架构运维_SAAC.pdf 唐会军:360 Cassandra实践分享.pdf 陈尔冬:破解阿喀琉斯之踵.pdf 吴炳锡:IT168-2012-漫谈MySQL高可用架构.pdf 于江:运维工程师职业发展路线经验分享-正式1.1.pdf

    互联网行业数据仓库数据平台的架构

    在架构设计上,数据仓库通常包括数据采集层、数据存储与分析层、数据共享层和数据应用层。数据存储与分析层主要依赖HDFS和Hive进行大量数据的存储和处理。数据共享层则包含关系型数据库和NoSQL数据库,确保数据能被...

    通往架构师之路(全27)

    本资源整理自CSDN网站 发表者lifetragedy 原文在http: my csdn net lifetragedy 到整理时为止 lifetragedy已发表该系列文章共27篇: 1 Apache整合Tomcat 2 Apache Tomcat https应用 3 Apache性能调优 4 Tomcat...

    2022年漫谈构建和谐高效的网站体系之道(共30张PPT).pptx

    最后,政府网站群的发展经历了从基础架构风格到服务型网站的转变,形成了目标统一、业务协同和管理规范的特点。这一过程中,需要不断适应新的技术发展和社会需求,持续优化和创新,以更好地服务于公众,推动政府向...

    通往架构师的道路

    本资源整理自CSDN网站,发表者lifetragedy, 原文在http://my.csdn.net/lifetragedy, 到整理时为止,lifetragedy已发表该系列文章共7篇: 1、Apache整合Tomcat 2、Apache Tomcat https应用 3、Apache性能调优 4、...

    通往架构师之路

    本资源整理自CSDN网站,发表者lifetragedy, 原文在http://my.csdn.net/lifetragedy, 到整理时为止,lifetragedy已发表该系列文章共12篇: 1、Apache整合Tomcat 2、Apache Tomcat https应用 3、Apache性能调优 4、...

    漫谈C语言及如何学习C语言

    这意味着只要遵循标准,就能轻松将程序部署到不同的操作系统和硬件架构上,极大地提升了程序的通用性。 **1.5 应用领域广泛** C语言的应用范围非常广泛,从操作系统开发、服务器软件编写到图形界面程序设计,都能...

    漫谈网络安全 (2).pdf

    3. 个人电脑的安全措施:个人电脑用户应养成良好的安全习惯,如敏感文件加密、设置复杂的密码、只在官方网站下载软件并检查MD5校验码、及时更新系统补丁、彻底删除不再需要的文件,并确保数据备份得到加密保护。...

    漏洞之王:漫谈高阶漏洞攻防演进和现实威胁.pdf

    从安全架构角度,构建一套大规模应用和系统的防御体系是必要的。Flanker强调了对漏洞发现、漏洞管理和风险评估的研究和投入。安全测试作为发现漏洞的重要手段,应包含自动化测试和人工测试,以便发现漏洞并及时修补...

    漫谈人工智能技术对图书馆的影响.pdf

    未来图书馆应以实现信息无界交流为目标,并与各类交流网站密切往来,实现数据互通。评价因子将会逐步被流量转换因子替代,图书馆也将在此过程中努力获取更多技术和资金的支持。总之,人工智能技术将极大地丰富图书馆...

    计算机网络安全相关资料分享.zip

    网站离线数据安全分析漫谈 现代浏览器新安全研究 新环境下安全基础架构研究 信息等级保护体系在云安全中的应用 一种基于分层聚类方法的木马通信行为检测模型 移动恶意代码的关联与追踪 移动手机应用软件安全测试 ...

    【推荐】最新数据安全解决方案和实践合集.zip

    网站离线数据安全分析漫谈; 新基建中的关键领域安全剖析; 新技术形式下数据安全合规实践; 新一代数据泄露防护; 亚太区隐数据保护趋势探讨; 移动端数据防泄露技术; 移动互联网数据治理研究.数字广告反欺诈研究...

    Java工程师新人入门书籍推荐

    - 《漫谈设计模式:从面向对象开始》:介绍了设计模式,对于软件设计至关重要,尤其是单例、工厂和代理模式。 - 《Spring 3.0就这么简单》:适合初学者快速掌握Spring框架的入门书籍。 - 《Java并发编程实战》:...

Global site tag (gtag.js) - Google Analytics