• 读书笔记(三)


    大型网站核心架构要素

    一,性能

    网站一般性能指标:响应时间,并发数,吞吐量(TPS,QPS,HPS),性能计数器等;

    WEB前端性能优化:浏览器访问优化,CDN加速,反向代理
    应用服务器性能优化:分布式缓存,异步操作,使用集群,代码优化(多线程,资源复用,数据结构)
    存储性能优化:机械硬盘VS固态硬盘,B+树VS LSM树,RAID VS HDFS

    二,可用性

    高可用的目的:保证服务器硬件故障时服务依然可用,数据依然保存并能够被访问
    
    高可用应用:通过负载均衡进行无状态服务的失效转移,应用服务器集群的session管理
    高可用服务:分级管理,超时设置,异步调用,服务降级,幂等性设计
    高可用数据:数据备份和失效转移,CAP原理
    高可用软件质量保证:网站发布,自动化测试,预发布验证,代码控制(svn,git),自动化发布,灰度发布
    网站监控:监控数据采集,监控管理

    三,伸缩性

    不同功能进行物理分离实现伸缩
    单一功能通过集群规模实现伸缩
    
    负载均衡技术:HTTP重定向负载均衡,DNS域名解析负载均衡,反向代理负载均衡,IP负载均衡,数据链路层负载均衡(LVS)
    负载均衡算法:轮询,加权轮询,随机,最少连接,源地址散列
    路由算法:一致性HASH
    关系数据库伸缩性:单表数据量过大时数据库分片,实现:Cobar做集群的伸缩
    NoSQL的伸缩性:HBase架构原理

    四,扩展性

    设计网站可扩展性的核心思想是模块化,并在此基础上,降低模块间的耦合性,提高模块的复用性。
    
    模块化:软件架构师的最大价值
    降低耦合:分布式消息队列(各种MQ)
    可扩展的数据结构:NoSql中的ColumnFamily设计
    分布式服务框架:dubbo(taobao),thrift(facebook)

    五,安全性

    全球70%的Web应用攻击来自XSS和SQL的注入攻击,其它还有CSRF,Session劫持
    
    XSS,SQL注入的防御
    其它常用漏洞:
    error code回显,html注释,文件上传,路径遍历 加密解密技术:单向散列加密,对称加密,非对称加密,密钥安全管理 信息过滤与反垃圾:文本匹配算法(trie tree,多级Hash表),分类算法,黑名单(布隆过滤器)
    别让生活压力挤走快乐~
  • 相关阅读:
    百度编辑器图片在线流量返回url改动
    谋哥:悟马道长第一句话之“不要赚屌丝的钱”
    HDOJ 题目3518 Boring counting(后缀数组,求不重叠反复次数最少为2的子串种类数)
    mysqlbinlog高速遍历搜索记录
    推断整数、推断邮箱、推断手机号码、推断邮政编码、推断中文
    用筛选法求100以内的素数(数组)
    【DataStructure】One of queue usage: Simulation System
    Registry Connect failed,Windows服务诊断
    Struts2 的工作原理
    vue上传图片到服务器
  • 原文地址:https://www.cnblogs.com/cookiehu/p/5068566.html
Copyright © 2020-2023  润新知