• 业务开发转基础开发,这三种「高可用」架构你会么?


    一、业务开发与基础开发的区别

    - 划分方式

        一种将后台开发细分的方式:前台开发(业务)、中台开发(中间件、应用基础服务、PAAS服务、IAAS服务)、后台开发(运维开发)。一般前台开发对应于业务开发,中台开发对应基础开发,后台开发对应运维。

    - 规模

        基础开发的目标是解决业务的公共痛点,所以一般数据量、并发量大于业务。就美团来说,一般的基础服务日调用量在十亿到千亿。因此,高并发、高可用是常规话题。

    二、三种高可用架构

    - 多租户集群架构

    定义:

        多租户技术(Multi-tenancy Technology),或称多重租赁技术,是一种软件架构技术。它是在探讨与实现如何在多用户公用相同的系统或组件时,仍可确保各用户间的数据隔离性。

    目标:

        按照业务情况分为不同租户,单个租户出现问题,不会影响其他租户。

    关键功能模块:

    • 租户管理

    • 权限管理

    • 资源管理

    应用举例:

       《美团分布式服务通信框架及服务治理系统OCTO》里使用appkey作为租户、权限和资源划分的依据来实现多租户集群管理。各个公司自己的Kafka集群也是根据接入业务实现了多租户集群管理。

    - 应用熔断架构

    目标:

        针对混合使用集群,单个应用的问题可能拖垮整个集群,单个服务异常情况下,提供熔断机制,不会由于单个应用影响整个集群的问题。

    常用熔断条件:

    • 线程数过高

        熔断原因:由于容器化技术的广泛流行,CPU超售普遍存在。一个业务的异常线程会影响其他业务。

    • 大量慢查询

        熔断原因:在集中式ES集群、Redis集群等场景,由于存在连接数资源共享,一个业务的慢查询会阻塞其他业务。

    • 调用量异常

        熔断原因:在同步调用时,每个调用都不释放线程,等待结果返回。一个业务的调用量异常可能会拖垮整个集群。

    - 立体监控架构

    黑天鹅现象:

        非常难以预测的罕见现象,通常会引起连锁负面反应甚至颠覆。

    目标:

        为了从海量监控、报警风暴数据中找到产生影响的「黑天鹅」,立体监控应任而生。

    特点:

    • 多维数据模型

    • 在多维度上灵活查询

    • 多种可视化图表及仪表盘支持

    三、总结

        亲身经历是教育的最好形式。

    相关阅读:

    程序常用的设计技巧

    到底多大才算高并发?

    美团分布式服务通信框架及服务治理系统OCTO

    学会用数据说话-分布式锁究竟可以多少并发?

    大话高可用

  • 相关阅读:
    Unzip 解压报错
    Linux ftp安装
    关于vsftp出现Restarting vsftpd (via systemctl): Job for vsftpd.service failed because the control 的解决办法
    ASP.NET开发知识总结
    移动端开发调试方法总结
    移动H5优化指南
    基于windows下,node.js之npm
    微服务理解
    SQL Server 触发器
    jQuery验证控件jquery.validate.js使用说明+中文API
  • 原文地址:https://www.cnblogs.com/xiexj/p/10451292.html
Copyright © 2020-2023  润新知