一, 业务开发与基础开发的区别
- 划分方式
一种将后台开发细分的方式: 前台开发 (业务), 中台开发 (中间件, 应用基础服务, PAAS 服务, IAAS 服务), 后台开发 (运维开发). 一般前台开发对应于业务开发, 中台开发对应基础开发, 后台开发对应运维.
- 规模
基础开发的目标是解决业务的公共痛点, 所以一般数据量, 并发量大于业务. 就美团来说, 一般的基础服务日调用量在十亿到千亿. 因此, 高并发, 高可用是常规话题.
二, 三种高可用架构
- 多租户集群架构
定义:
多租户技术 (Multi-tenancy Technology), 或称多重租赁技术, 是一种软件架构技术. 它是在探讨与实现如何在多用户公用相同的系统或组件时, 仍可确保各用户间的数据隔离性.
目标:
按照业务情况分为不同租户, 单个租户出现问题, 不会影响其他租户.
关键功能模块:
租户管理
权限管理
资源管理
应用举例:
《美团分布式服务通信框架及服务治理系统 OCTO》 https://mp.weixin.qq.com/s/lJeiB3Q44ttsvBCHKp0ptg 里使用 appkey 作为租户, 权限和资源划分的依据来实现多租户集群管理. 各个公司自己的 Kafka 集群也是根据接入业务实现了多租户集群管理.
- 应用熔断架构
目标:
针对混合使用集群, 单个应用的问题可能拖垮整个集群, 单个服务异常情况下, 提供熔断机制, 不会由于单个应用影响整个集群的问题.
常用熔断条件:
线程数过高
熔断原因: 由于容器化技术的广泛流行, CPU 超售普遍存在. 一个业务的异常线程会影响其他业务.
大量慢查询
熔断原因: 在集中式 ES 集群, Redis 集群等场景, 由于存在连接数资源共享, 一个业务的慢查询会阻塞其他业务.
调用量异常
熔断原因: 在同步调用时, 每个调用都不释放线程, 等待结果返回. 一个业务的调用量异常可能会拖垮整个集群.
- 立体监控架构
黑天鹅现象:
非常难以预测的罕见现象, 通常会引起连锁负面反应甚至颠覆.
目标:
为了从海量监控, 报警风暴数据中找到产生影响的「黑天鹅」, 立体监控应任而生.
特点:
多维数据模型
在多维度上灵活查询
多种可视化图表及仪表盘支持
三, 总结
亲身经历是教育的最好形式.
来源: https://www.cnblogs.com/xiexj/p/10451292.html