你是如何保证服务高可用性?
分析&回答
对于系统的稳定性,人为因素占比最大,所以我们在这方面下工夫最多。
研发流程方面
- 尽可能把所有流程都流程化、标准化、自动化,减少人为的过多的干预。
- 上线流程:测试(自测、CR、QA测试)、预发、灰度、小流程、全量 CheckList、上线发布策略(先单台,再批量)、上线监控策略(系统指标、业务指标监控)
- 配置变更流程:修改线上配置的 DoubleCheck,上线审批流程、回滚流程等
代码方面
- 第三方工具进行代码检测,提前发现一些问题。工具可以帮助检测的内容如下:不遵循代码标准、潜在的缺陷、糟糕的复杂度分布、重复、注释不足或者过多、缺乏单元测试、糟糕的设计等,避免这些问题带到生成环境。比如:CheckStyle等
- 上线之前代码 Review:对某段逻辑处理错误、参数校验合法性、异常逻辑处理、是否死循环、第三方依赖库是否正确使用等等
配置方面
- 超时参数配置,对于用TO-C服务、TO-B服务(业务后台)可能某些接口超时参数是不一样的,可能对TO-C比较短,业务最快响应,对TO-B可能面对某些大数据库查询,超时时间也是不一样的,需要根据业务场景及接口区分开合理配置。
- 重试次数配置,重试次数1和3的区别很大,因为是每个请求连接可能可能会流量放大1倍或3倍,试想下,重试参数配置很简单,带来的效果是完全不一样的,针对不同的场景对重试次数合理配置,或不配置用户侧重试,其实是对服务的一种保护机制。
反思&扩展
影响稳定性因素有哪些?
为了大家更加方便的刷题,我们对文章进行了分类和整理,免费为大家提供刷题服务。程序员不欺骗程序员,赶紧扫码小程序刷起来!
为了一站式解决面者刷题问题,部分内容可能存在摘录情况,如有侵权辛苦您留言联系我们,我们会删除文章或添加引用文案,Thanks!
你是如何保证服务高可用性?相关推荐
- 面对突发流量,保证服务可用的4个手段
面对突发流量,保证服务 前言 不知道你有没有这样的经历,线上的系统突然来了很大的流量,有可能是黑客的攻击,也有可能是业务量远远大于你的预估,如果你的系统没有做任何的防护措施,这时候系统负载过高,系统资 ...
- RabbitMQ 入门系列(7)— 如何保证 RabbitMQ 高可用性
RabbitMQ 有三种模式:单机模式,普通集群模式,镜像集群模式: 1.单机模式 单机模式就是说只有一台机器部署了一个 RabbitMQ 程序.这台机器宕机后就玩不转了. 2.普通集群模式 这个模式 ...
- 如何部署云服务器,保证应用高可用性,永不停机
公司需求: 本地数据中心总是会偶尔停电,造成业务应用总会停止工作.每当服务器启动后问题各种各样,忙着各应用业务服务启动健康状况检查,逐个问题排查.对于维护人员来说工作量太大. 解决方案: ...
- 大天使黎明服务器维护,亲爱的玩家: 您好,为保证服务
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 亲爱的玩家: 您好,为保证服务器稳定运营,优化游戏体验,我们将在7月16日对以下区服进行停服维护更新,具体维护时间将视情况提前或延后,更新安排如下: 维护 ...
- android服务常驻后台,[问答] Android应用中,如何保证服务常驻内存?
不可避免,当系统内存非常紧张并且轮到 Service 进程被杀的时候,这时候在非 root 的 Android 手机/平板 都是无力回天的:一般来说系统杀掉 Service,过 5-10 秒会再次启动 ...
- TCP如何保证服务的可靠性
这里写目录标题 确认应答 超时重传 流量控制 滑动窗口机制概述 发送窗口和接收窗口的工作原理 几种滑动窗口协议 1比特滑动窗口协议(停等协议) 后退n协议 选择重传协议 采用滑动窗口的问题(死锁可能, ...
- 如何保证服务不受第三方影响?
上周有个朋友问我说: 我们有很多服务依赖第三方接口,他们的接口不稳定,从而影响我们的服务,有没有什么方法避免? 今天和大家聊一聊这个问题. 首先,可以将第三方接口,收口到一个服务内. 这样,可以避免每 ...
- nohup + 保证服务后台运行不中断
nohup和&后台运行,进程查看及终止 1.nohup 用途:不挂断地运行命令. 语法:nohup Command [ Arg - ] [ & ] 无论是否将 nohup 命令的输出重 ...
- 你如何理解高可用性?
分析&回答 什么是高可用性? 高可用(HA)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间. 服务器的可用性是指单位时间内(通常一年),服务器可以正常 ...
最新文章
- jboss 7 as1 日志配置
- Serverless的4种错误打开方式
- 爱情麻辣烫:浓缩了中华美食精华与火锅的精髓
- 【Java】Maven报错 Dependency ‘aspectj:aspectjrt:1.5.4‘ not found 的解决方法
- 《玩转掌上生活——手机网上生活达人秘笈》一1.2 迎接掌上生活
- 基于JS实现新闻列表无缝向上滚动实例代码
- c语言用switch字母判断星期几,c语言程序,输入年月日,判断这一天是这一年的第几天,同时判断这一天是星期几。(用switch语句)...
- 中国蔬菜汤市场趋势报告、技术动态创新及市场预测
- linux 命令find
- 条件include_10_函数原型、条件编译与重复定义错误 | C语言入门
- 暂别ACM,转移阵地
- java程序包condition不存在,Ant javac:包x不存在,但我将x.jar添加到java构...
- 486微型计算机的字长是 8位 16位 32位 64位,大学计算机基础考试试题
- jboss 服务器配置文件,Apache jboss 集群详细配置
- 信息安全从业者工作规划及能力建设
- 使用文本/CAD数据集添加地图注记
- java安卓软件开发_9大安卓app开发软件盘点,0基础自己也能开发开发安卓app
- 微信内测推出新功能,朋友圈“修改可见范围”
- 《打造Facebook》书摘(1):CEO小扎
- HDU5142 NPY and arithmetic progression BestCoder Round #23 1002