zoukankan      html  css  js  c++  java
  • 系统架构

     
    在设计原则基础上,对系统的各个部分组合,形成架构
     
    系统架构两大要素 
        • 各个组件
        • 组件间的相关关联
     
    1.什么是好的软件架构
    – 成本最低
    – 满足用户需求(将来的功能需求)
    – 系统稳定性好
    – 架构足够灵活
         • 数据量维度
         • 并发量维度
         • 部署运维维度
     
    2.什么是坏的软件架构
    – 成本较高– 系统复杂、笨重
    – 系统不稳定
        • 经常发生故障
    – 系统扩展性差
     – 系统维护性差
        • 维护代价高
     
     
    3.软件架构高可用性
     
    系统运行依赖的基础
     
    硬件
    机器
    CPU
    内存
    硬盘
    网卡
     
    软件
    操作系统
    文件系统
    软件本身
     
    系统运行依赖的基础的不可用性
     
    硬件
    生命周期
     
    硬件故障
     
    软件
    软件BUGS
     
    软件间资源的争抢……
     
    任何时间都正常提供读写服务
    7*24
     
    机器硬件故障
    CPU、内存、硬盘、网卡
     
    机器软件故障
    OSFileSystem......
     
    网络划分
    机器间网络隔离
     
     
     
    4.架构高可用的手段
    设计无状态化
    子系统冗余
    幂等性设计
    异步调用
        避免一个服务失败导致的整个服务失败
    超时机制分级管理服务降级......
    – 服务治理
        • 监控
            – 进程
            – 语义
            – 错误
            – Coredump
            – 数据波动
            – ……
        • 服务可管理、可视化
             – 日志监控系统
                – ...... – ……
     
    5.架构高可用评价维度
     
    指系统在面对各种异常时可以提供正常服务的能力
    系统的可用性可以用系统停服务的时间和正常服务时间的比例来衡量
    系统不可用时间(故障时间=故障修复时间点-故障发现时间点)
     
     
     
    – 2个9的可用性(99%)
        • 基本可用
        • 一年停机的时间不能超过88个小时
        • 365*24*60/100 = 88个小时
     
    – 3个99的可用性(99.9%)    
        • 较高可用性
        • 一年停机的时间不能超过9个小时
        • 365*24*60/1000=9个小时
     
    49的可用性(99.99%)
        一年停机的时间不能超过53分钟
        365*24*60/10000 = 53分钟
     
    – 5个99的可用性(99.999%)
         • 极高可用性
         • 一年停机的时间不能超过5分钟
         • 365*24*60/100000=5分钟
     
    – 目标
        • 做到4个9
        • 具备自动恢复能力的高可用   
     
    6.架构高可用涉及环节
     
    系统整体架构层面
    硬件
    DNS
    CDN
    接入层
    逻辑层
    数据存储层
    分布式缓存层
    数据层
    ......
     
    架构关键节点层面
    负载均衡
    软件质量保证
    预发布
    灰度发布
    安全
    监控
    回滚方案
    线上问题定位分析
    ......
     
     
     
  • 相关阅读:
    HDU_1711 Number Sequence(KMP)
    快速排序+归并排序
    贪心算法
    HDU_1496 Equations && POJ_1840 Eqs(Hash)
    POJ_1328 Radar Installation(贪心)
    HDU_1055 && POJ_2054 Color a Tree(贪心)
    HDU_1754 I Hate It (线段树)
    哈希(Hash)表学习笔记
    jQuery插件datepicker的使用详解
    json总结
  • 原文地址:https://www.cnblogs.com/756623607-zhang/p/7503148.html
Copyright © 2011-2022 走看看