zoukankan      html  css  js  c++  java
  • 《大型分布式网站架构》阅读笔记二

    分布式系统基础设施
    分布式缓存memcache:先装libevent,再装memcache。演变:分布式session
    持久化存储:
        mysql:dual-master配置(个人觉得:不如keepalive做一主两从),master写压力主要通过分库分表。但缺点是:关联查询,跨表查询上升为分布式事务,迁移不便
        HBase
        Redis(Key-value数据库)

    垂直化搜索引擎:Lucene,Solr

    消息系统:activeMQ,kafka,memcacheQ。ActiveMQ & JMS 。两种模式:P2P,Pub/Sub

    互联网安全架构
    常见WEB攻击手段:XSS,CRSF,SQL注入,DDos,其它:DNS域名劫持,CDN回源,缓冲区溢出

    常用安全算法:非对称加密RSA,数字签名,数字证书。摘要认证。签名认证。(当年做大宗商品交易平台,用到建设银行E商贸通接口,基本涉及到公私钥生成--》公钥交换--》对称钥匙传输--》加签--》验签)

        摘要认证:取决于对称secret

        签名认证:用非对称公/私钥对

        HTTPS协议:密钥随机产生,通过数字证书验证双方身份。全程加密。

        OAuth:用户(User)通过平台商(Platform)对第三方软件商(ISV)的应用进行授权。

    系统稳定性
    检测机制

        网络层:ping -c 2 www.123.com
        应用层:运行curl访问目标机check.html
        业务检测:curl -L www.host.com
        系统压测:qps,rt两个指标   qps=(总PV*80%) / (60*60*24*20%)   再除以  单台qps最高值
    流量控制:
         原子性(Atomic)
        一致性(Consistency)
        隔离性(Isolation)
        持久性(Durability)
    可用性:
         一致性:强一致性,弱一致性,如mysql的主从数据同步,Zookeeper的选举和原子广播

        扩展性:

        高并发:有种方案,把单行库存拆成多行 ,比如1000个,拆成五个2000个

    性能测试工具:前端工具:YSlow

         ab:ApacheBench
        JMeter:
        HP LoadRunner
        TCPCopy:请求复制工具,将在线流量复制到TEST
    性能优化:
        前端:减少http请求数量:合并样式和脚本;是否使用CDN网络;使用压缩
        java端:单例,Future模式,线程池:ExecutorService exec=Executors.newFixedThreadPool(5),选择就绪:减少上下文切换,降低锁竞争。
    java应用故障排查常用工具:jps,jstat,jinfo,jstack,jmap,btrace,jconsole,mat

  • 相关阅读:
    PyCharm 的安装与入门操作
    第一个 Python 程序
    ubuntu中使用apt命令安装ipython失败解决方案
    MOS管学习笔记
    arm-none-linux-gnueabi-gcc No such file or directory这个错误的解决方法
    Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded.
    linux 下chown改变隐藏文件夹
    busybox编译 fatal error: curses.h: 没有那个文件或目录解决办法
    mount加载虚拟机增强工具步骤
    命令行终端快捷键
  • 原文地址:https://www.cnblogs.com/jccjcc/p/13054198.html
Copyright © 2011-2022 走看看