zoukankan      html  css  js  c++  java
  • 大型网站技术架构学习摘要


    网站架构目标与挑战--网站架构是不断调整的过程,如何高效、精准、灵活扩展需要结合业务发展调整。
    1高效率[可用性](high availability): 负载均衡 数据备份 异地容灾
    2 高精确性,高性能(high performance):高速缓存 并行计算 异地镜像
    3 可伸缩性(Scalability):开发框架 多次设计 业务分割

    最初单台服务器又放web服务又放db服务,随着发展web和db服务分离,动静页面分离,再发展然后多台服务器,就需要考虑负载均衡、高性能等。

    Step1]Web动静态资源分离及其与DB物理分离--
    优点:“简单”、安全性提高
    缺点:存在单点,谈不上高可用性(high availability架构目标)
    技术点:应用设计要保证可扩展(framework很重要Spring/Beetle)、Web Server动/静态资源分离
    Web Server(ApacheNginxIISJBoss…)、
    Database Server(MysqlOracleRedis…)


    缓存处理--  优点:简单有效、维护方便
    缺点:依然存在单点
    技术点:客户端(浏览器)缓存、前端页面缓存、页面片段缓存、本地数据缓存/数据库缓存

    客户端(浏览器)缓存--能够让浏览器缓存的数据一定要缓存;浏览器能够处理的运算,决不放在服务器端来处理。

    前端页面缓存--http方向代理服务器

    页面片段缓存ESI(edge side includes)--ESI需要服务器端支持,常见apache(mod_esi)、WebLogic、
    JSP标签库(JESI)等。ESI是一个基于XML的标记语言,目的是在HTTP中组装各种资源。

    本地数据缓存--需要考虑两个层面,从数据库和web服务器考考缓存

    增加机器做HA、数据库读写分离--优点:增加服务器和HA机制,系统性能及可用性得到保证
    缺点:读写分离,增加程序难度,架构变复杂,维护难度增加
    技术点:负载均衡、DAL、数据库读写分离

    Apache Hadoop(HDFS|Map/Reduce|HBase)

    架构设计理论与原则
    ■关于数据一致性—ACID vs BASE
    ■关于分布式系统—CAP理论
    ■无共享架构(Share Nothing Architecture)
    ■ED-SOA架构
    ■考量成本,先硬后软原则




    语言的选择意味着不同的架构路线、不同的开发测试框架、不同的部署方式及不同的开发效率,最终到底,语言选择涉及到资源成本。
    钱和人是最终要的o(∩_∩)o…




  • 相关阅读:
    go资料
    typescript 装饰器 decorator
    【转】typescript class decorator装饰器
    【转】Best way to get result count before LIMIT was applied
    DirectX11 采样状态对象
    React通过redux-persist持久化数据存储
    禁止网页查看源代码
    css3 动画 -- 加载动画 Loader
    css3 动画 -- 旋转线条 rotate_line
    读书打卡:《微信互联网平民创业》
  • 原文地址:https://www.cnblogs.com/wellsoho/p/3232287.html
Copyright © 2011-2022 走看看