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

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

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


- 划分方式


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


- 规模


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

 

二、三种高可用架构


- 多租户集群架构


定义:


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


目标:


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


关键功能模块:


  • 租户管理


  • 权限管理


  • 资源管理


应用举例:


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

 

- 应用熔断架构


目标:


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


常用熔断条件:


  • 线程数过高


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


  • 大量慢查询


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


  • 调用量异常


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

 

- 立体监控架构


黑天鹅现象:


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


目标:


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


特点:


  • 多维数据模型


  • 在多维度上灵活查询


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



三、总结


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

相关文章
|
10天前
|
API 数据库 开发者
构建高效可靠的微服务架构:后端开发的新范式
【4月更文挑战第8天】 随着现代软件开发的复杂性日益增加,传统的单体应用架构面临着可扩展性、维护性和敏捷性的挑战。为了解决这些问题,微服务架构应运而生,并迅速成为后端开发领域的一股清流。本文将深入探讨微服务架构的设计原则、实施策略及其带来的优势与挑战,为后端开发者提供一种全新视角,以实现更加灵活、高效和稳定的系统构建。
18 0
|
24天前
|
负载均衡 测试技术 持续交付
高效后端开发实践:构建可扩展的微服务架构
在当今快速发展的互联网时代,后端开发扮演着至关重要的角色。本文将重点探讨如何构建可扩展的微服务架构,以及在后端开发中提高效率的一些实践方法。通过合理的架构设计和技术选型,我们可以更好地应对日益复杂的业务需求,实现高效可靠的后端系统。
|
24天前
|
机器学习/深度学习 自然语言处理 并行计算
大模型开发:什么是Transformer架构及其重要性?
Transformer模型革新了NLP,以其高效的并行计算和自注意力机制解决了长距离依赖问题。从机器翻译到各种NLP任务,Transformer展现出卓越性能,其编码器-解码器结构结合自注意力层和前馈网络,实现高效训练。此架构已成为领域内重要里程碑。
27 2
|
26天前
|
监控 Kubernetes 持续交付
构建高效可扩展的微服务架构:后端开发实践指南
在数字化转型的浪潮中,企业对软件系统的要求日益提高,追求快速响应市场变化、持续交付价值成为核心竞争力。微服务架构以其灵活性、模块化和独立部署的特点,成为解决复杂系统问题的有效途径。本文将深入探讨如何构建一个高效且可扩展的微服务架构,涵盖关键设计原则、技术选型及实践案例,为后端开发者提供一条清晰的指导路线,帮助其在不断变化的技术环境中保持竞争力。
127 3
|
19天前
|
监控 Java 开发者
构建高效微服务架构:后端开发的新范式
在数字化转型的浪潮中,微服务架构以其灵活性、可扩展性和容错性成为企业技术战略的关键组成部分。本文深入探讨了微服务的核心概念,包括其设计原则、技术栈选择以及与容器化和编排技术的融合。通过实际案例分析,展示了如何利用微服务架构提升系统性能,实现快速迭代部署,并通过服务的解耦来提高整体系统的可靠性。
|
20天前
|
NoSQL Java Redis
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件(二)
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件
14 0
|
25天前
|
监控 数据管理 API
构建高效微服务架构:后端开发的新趋势
在现代软件开发领域,随着业务需求的不断复杂化以及敏捷迭代的加速,传统的单体应用架构逐渐暴露出其局限性。微服务架构作为一种新的解决方案,以其高度模块化、独立部署和可扩展性,正成为后端开发领域的新趋势。本文将探讨微服务架构的核心概念,分析其优势与面临的挑战,并提供实施高效微服务的策略和最佳实践,帮助读者理解如何利用这一架构模式提升系统的可靠性、灵活性和可维护性。
135 5
|
28天前
|
人工智能 运维 监控
构建高性能微服务架构:现代后端开发的挑战与策略构建高效自动化运维系统的关键策略
【2月更文挑战第30天】 随着企业应用的复杂性增加,传统的单体应用架构已经难以满足快速迭代和高可用性的需求。微服务架构作为解决方案,以其服务的细粒度、独立性和弹性而受到青睐。本文将深入探讨如何构建一个高性能的微服务系统,包括关键的设计原则、常用的技术栈选择以及性能优化的最佳实践。我们将分析微服务在处理分布式事务、数据一致性以及服务发现等方面的挑战,并提出相应的解决策略。通过实例分析和案例研究,我们的目标是为后端开发人员提供一套实用的指南,帮助他们构建出既能快速响应市场变化,又能保持高效率和稳定性的微服务系统。 【2月更文挑战第30天】随着信息技术的飞速发展,企业对于信息系统的稳定性和效率要求
|
4天前
|
监控 负载均衡 API
构建高性能微服务架构:后端开发的最佳实践
【4月更文挑战第14天】 在当今快速发展的软件开发领域,微服务架构已成为构建可扩展、灵活且容错的系统的首选方法。本文深入探讨了后端开发人员在设计和维护高性能微服务时需要遵循的一系列最佳实践。我们将从服务划分原则、容器化部署、API网关使用、负载均衡、服务监控与故障恢复等方面展开讨论,并结合实际案例分析如何优化微服务性能及可靠性。通过本文的阅读,读者将获得实施高效微服务架构的实用知识与策略。
|
25天前
|
API 持续交付 开发者
构建高效微服务架构:后端开发的新范式
在数字化转型和技术迭代的浪潮中,微服务架构以其灵活性、可扩展性和独立性成为现代后端开发的重要趋势。本文深入探讨了构建高效微服务架构的关键要素,包括服务划分策略、容器化部署、API网关设计以及持续集成与持续部署(CI/CD)的实践。通过分析这些组件和流程,我们旨在为后端开发者提供一套实用的指南,帮助他们构建和维护一个高性能、可靠的微服务系统。
25 5