欢迎您光临本小站。希望您在这里可以找到自己想要的信息。。。

大型网站架构学习总结

架构&设计模式 water 2518℃ 0评论

网站运营总结

  1. 大访问量

  2. 大储存量

  3. 访问速度

  4. 服务器监控

大访问量

  1. 负载均衡(是把众多的访问流量分配到不同的服务器上,让每个服务器的压力减少,负载降低,以轮询的方式分担到不同的服务器上)

    1. Cisco以太网通道(网络层)

    2. Windows NLB技术(服务器层)

    3. Linux LVS技术(服务器层)

    4. F5等负载均衡器(网络层)

  2. 冗余技术(是为了避免单点故障,在其他服务器+一个备份服务器,只有一台是激活状态,其它机器是休眠状态,一台机器出现问题,其他机器会选出一台机器激活,是通过心跳线)

    1. Windows集群技术(服务器集群技术)

    2. Linux HA集群技术(服务器集群技术)

    3. IBM AIX集群(服务器集群技术)

    4. Cisco HSRP热备份路由(网络端不间断,网络端的冗余,计算出一个小的逻辑虚拟路由器(它是由两个真实的路由器计算出来))

    作为一个架构师,来运营一家公司的网站,三部分都必须涉及,1.网络构架 2.服务器构架 3.应用程序构架

大的数据存储

    主流数据库:

    1.Mysql(主、从复制,主服务器主要就行增加删除修改、从服务器主要就行查询操作)

    2.Oracle(甲骨文)

    3.Db2(IBM)

    4.Nosql(mongodb、redis)

    MongoDB是一个基于分布式文件存储的数据库。由c++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案

    MongoDB
是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的
bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现
类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

网站加速技术

    1.Squid代理缓存技术

        是一个软件(最初用来做代理服务器),公司内部员工上网一般两个技术(snat和squid代理服务器),代理服务器内保证内部和外部网完全隔离。Squid三大功能(1.普通代理服务器、2.透明代理服务器、3反向缓存代理服务器)

    静态数据:

        静态页面、图片/Flush、CSS文件、JS文件

        新浪北京总服务器-》各地市的反向代理Squid服务器(静态数据)-》各地市访问的网民客户端

        可以把静态和动态数据分离,同时实现代理

    2.页面静态化缓存

        方法一.使用现成的插件 Apache 的mod_rewrite

        方法二.创建FSO对象、利用模版框架技术、使用server.Transfer技术

        方法三.是使用ajax技术

    3.Memcache

        Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,让后从内存中读取,从而大大提高读取速度。

        Memcached是一守护程序方式运行于一个或多个服务器中,随时会接收客户端的连接和操作。

        内存缓存机制(主要缓存查询数据),机器宕机会造成数据丢失

    4.Sphinx搜索加速

        Sphinx是一个基于SQL的全文检索引擎,可以结合Mysql,PostgreSQL做全文搜索,使得应用程序更容易实现专业化的全文检索。搜索引擎具有中文分词、高亮技术。

服务器监控(双向监控)

    1.服务监控

        1)apache web服务监控

        2)mysql数据库监控

        3)磁盘空间监控、cpu和内存监控

    2.流量监控

        1)网站流量监控

1).Mrtg网站监控
2).Postfix邮件服务器
3).Shell邮件报警
4).Cacti网站监控
5).Cacti邮件报警

转载请注明:学时网 » 大型网站架构学习总结

喜欢 (0)or分享 (0)

您必须 登录 才能发表评论!