大型微服务架构稳定性建设策略

前言

随着业务的不断发展, 我们的系统后台服务将面对越来越多的压力。

业务模式越来越丰富, 系统功能实现越来越多;
系统服务建设越来越多, 彼此交互错综复杂,性能下降;
使用用户逐渐增加, 流量压力加大,系统瓶颈凸显;
促销运营活动带来瞬间高并发流量, 对系统造成影响。
这些问题都将考验我们对大型网站稳定性技术策略的掌握程度。

问题

大型网站的基本特点有哪些;
大型网站稳定性技术策略有哪些;
面对流量峰值的时候,我们需要在事前、事中、事后做哪些事情;
性能优化的方向又有哪些? 我们如何选择。

内容

什么是稳定性

对于大型微服务系统,在错综复杂的服务逻辑各种交互情景下,面对各种未知的条件变化,整体系统依旧能够正常平稳的提供服务,这便是稳定性。

影响稳定性的因素

系统稳定性影响因素非常多,举例来说:

服务间的依赖:某个服务 BUG 造成其他依赖服务的不可用;
业务逻辑变更:业务逻辑不断迭代演变,新老服务的不兼容;
访问流量激增:流量突然增加,比如我们进行促销活动期间,导致服务压力过大 ,达到服务能力上限,从而导致服务崩溃;
机器老化异常:任何机器和人一样,都有生老病死,随着长时间的运行,也会有磨损,因此某个机器故障,也是可能的异常。
还有其他各方面的因素,在这里就不进行穷尽了,大家可以思考一下,还有那些经典的影响因素。

保证稳定性技术策略

大家可以参考以下两个内容:

文字内容请参考:https://gitbook.cn/books/5c3a0f3c116b324e2a845476/index.html
项目实战请参考:http://edu.51cto.com/course/16222.html

原文地址:http://blog.51cto.com/14123565/2348942

时间: 2024-11-05 17:30:34

大型微服务架构稳定性建设策略的相关文章

Java架构:一文读懂微服务架构的重构策略

你很有可能正在处理大型复杂的单体应用程序,每天开发和部署应用程序的经历都很缓慢而且很痛苦.微服务看起来非常适合你的应用程序,但它也更像是一项遥不可及的必杀技.如何才能走上微服务架构的道路?下面将介绍一些策略,帮你摆脱单体地狱,而无须从头开始重写你的应用程序. 通过开发所谓的绞杀者应用程序(strangler application),可以逐步将单体架构转换为微服务架构.绞杀者应用程序的想法来自绞杀式藤蔓,这些藤蔓在雨林中生长,它们包围绕树木生成,甚至有时会杀死树木.绞杀者应用程序是一个由微服务组

Aibabelx-shop 大型微服务架构系列实战之技术选型

一.本项目涉及编程语言java,scala,python,涉及的技术如下: 1.微服务架构: springboot springcloud mybatisplus shiro 2.全文检索技术 solr 3.日志系统技术 elk 4.消息中间件 kafka 5.数据库技术 mysql redis mongoDB mycat 6.缓存技术 redis memcache 7.大数据系列技术 hadoop hbase hive flume strom sprak flink blink beam Im

从无到有构建大型电商微服务架构实际开发案例教程(第三阶段)

从无到有构建大型电商微服务架构实际开发案例教程(第三阶段)课程下载地址:https://pan.baidu.com/s/1oTfj9d-o4URKFzMoVXKxBQ 提取码:8p0s 本课程将手把手带大家从无到有实现一个真实的大型电商微服务项目,该项目是基于真实的知名互联网企业项目讲解的 本课程将讲解如何从无到有搭建一个真实的大型电商微服务项目,涉及的内容较多,录制所需的时间也会比较久,因此整部课程下来售价也比较高,但考虑到课程中讲解的某阶段的知识点,有部分学员可能已经掌握了解,并不需要再次学

微服务架构设计

微服务 软件架构是一个包含各种组织的系统组织,这些组件包括 Web服务器, 应用服务器, 数据库,存储, 通讯层), 它们彼此或和环境存在关系.系统架构的目标是解决利益相关者的关注点. Conway’s law: Organizations which design systems[...] are constrained to produce designs which are copies of the communication structures of these organizati

微服务架构实践

目录 业务背景 微服务概念 微服务技术选型 微服务架构设计 微服务架构设计落地 微服务架构设计过程中积累的心得 总结 一.业务背景 1.1 产品现状 1.各产品系统独立开发,代码复用率低,系统之间互相调用,耦合严重,系统解耦独立部署困难. 2.传统的单体架构,规模越来越大也越来越笨重:当新功能的开发.功能的重构变得不再敏捷可控:测试者的回归测试边界难以琢磨:系统的上线部署也变的艰难 3.高并发访问下无法提供可靠性服务 4.持续集成.持续部署.持续交付等工程效率化工具严重缺失 5.监控系统.日志分

宜信微服务任务调度平台建设实践|分享实录

本文主要围绕SIA平台展开,包括研发背景设计思路和技术架构,以及如何支持业务方. 内容来源:宜信技术学院第4期技术沙龙-线上直播|宜信微服务任务调度平台建设实践 主讲人:宜信高级架构师&开发平台负责人 梁鑫 导读:如今,无论是互联网应用还是企业级应用,都充斥着大量的批处理任务,常常需要一些任务调度系统帮助我们解决问题.随着微服务化架构的逐步演进,单体架构逐渐演变为分布式.微服务架构. 在此背景下,很多之前的任务调度平台已经不能满足业务系统的需求,于是出现了一些基于分布式的任务调度平台.这些平台各

微服务架构的核心要点和实现原理

微服务架构中职能团队的划分 传统单体架构将系统分成具有不同职责的层次,对应的项目管理也倾向于将大的团队分成不同的职能团队,主要包括:用户交互UI团队.后台业务逻辑处理团队与数据存取ORM团队.DBA团队等.每个团队只对自己分层的职责负责,并对使用方提供组件服务质量保证.如果其中一个模块化组件需要升级.更新,那么这个变更会涉及不同的分层团队,即使升级和变更的改变很小,也需要进行跨团队沟通:需求阶段需要跨团队沟通产品功能,设计阶段需要跨团队沟通设计方案,开发阶段需要跨团队沟通具体的接口定义,测试阶段

什么是微服务架构?

微服务(Microservices Architecture)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独立部署,各个微服务之间是松耦合的.每个微服务仅关注于完成一件任务并很好地完成该任务.在所有情况下,每个任务代表着一个小的业务能力. 单体架构(Monolithic Architecture ) 企业级的应用一般都会面临各种各样的业务需求,而常见的方式是把大量功能堆积到同一个单体架构中去.比如:常见的ERP.CRM等系统都以单体架构的方式运行,同时由于提

百度“百老汇”架构师深刻透视微服务架构

首先解释这个"百老汇"=百度老年架构师活动中心.......什么是微服务首先微服务并没有一个官方的定义,想要直接描述微服务比较困难,我们可以通过对比传统WEB应用,来理解什么是微服务.传统的WEB应用核心分为业务逻辑.适配器以及API或通过UI访问的WEB界面.业务逻辑定义业务流程.业务规则以及领域实体.适配器包括数据库访问组件.消息组件以及访问接口等.一个打车软件的架构图如下: 尽管也是遵循模块化开发,但最终它们会打包并部署为单体式应用.例如Java应用程序会被打包成WAR,部署在T