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

栏目: 后端 · 发布时间: 6年前

内容简介:一种将后台开发细分的方式:前台开发(业务)、中台开发(中间件、应用基础服务、PAAS服务、IAAS服务)、后台开发(运维开发)。一般前台开发对应于业务开发,中台开发对应基础开发,后台开发对应运维。基础开发的目标是解决业务的公共痛点,所以一般数据量、并发量大于业务。就美团来说,一般的基础服务日调用量在十亿到千亿。因此,高并发、高可用是常规话题。多租户技术(Multi-tenancy Technology),或称多重租赁技术,是一种软件架构技术。它是在探讨与实现如何在多用户公用相同的系统或组件时,仍可确保各用户

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

- 划分方式

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

- 规模

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

二、三种高可用架构

- 多租户集群架构

定义:

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

目标:

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

关键功能模块:

  • 租户管理

  • 权限管理

  • 资源管理

应用举例:

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

- 应用熔断架构

目标:

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

常用熔断条件:

  • 线程数过高

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

  • 大量慢查询

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

  • 调用量异常

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

- 立体监控架构

黑天鹅现象:

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

目标:

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

特点:

  • 多维数据模型

  • 在多维度上灵活查询

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

三、总结

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

相关阅读:

程序常用的设计技巧

到底多大才算高并发?

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

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

大话高可用


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

腾讯之道

腾讯之道

艾永亮、刘官华、梁璐 / 机械工业出版社 / 2016-7-19 / 59

放眼整个中国乃至全球,腾讯都是一家成功的互联网企业,它代表中国企业在世界互联网版图中竖起了一面高高的旗帜。腾讯为何能取得如此大的成就,它的成功方法和商业逻辑是什么?你是不是和无数中国企业和商界人士一样,都想向腾讯取取经,但是又不得其门而入? 腾讯一直以低调、务实著称,所 以腾讯及其内部员工都极少对外界分享他们的经验;加之腾讯的商业模式多元、业务繁多且交叉、体量又极其庞大,使得从外部来系统研究......一起来看看 《腾讯之道》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具