线上故障处理指南

一、最重要的三件事1、止损 2、止损 3、止损 故障损失≈单位时间内的损失*故障时长 尽快恢复,是止损的最佳办法,至于查找根本原因,或者从根本上解决问题,那是服务恢复可用后的事情 二、故障处理三板斧由于止损解决根本问题,所以当故障来了,简单粗暴的三板斧往往是止损行之有效的手段 1、重启如果是单个或多个机器上的服务出现响应问题,先重启就能先恢复,能恢复就能止损 2、回滚如果是发布...

如何设计API返回码(错误码)?

一、前言客户端请求API,通常需要通过返回码来判断API返回的结果是否符合预期,以及该如何处理返回的内容等 相信很多同学都吃过返回码定义混乱的亏,有的API用返回码是int类型,有的是string类型,有的用0表示成功,又有的用1表示成功,还有用”true”表示成功,碰上这种事情,只能说:头疼 API返回码的设计还是要认真对待,毕竟好的返回码设计可以降低沟通成本以及程序的维护成本 二、HTTP状态...

高并发网站/服务常规应对方案和思路

一、并发量预估作为后端的程序开发人员,经常听到高并发,但是高并发到底有多高?其实是没有数值定义的 但是如果在面试的过程中,或者跟别人沟通的过程中,有人提到百万级并发那么可能三种情况 他在吹牛皮他没有用对并发这个词他真的很NB(例如:天猫双11关联项目组的) 截至2019/11/11,支付宝双11订单峰值是 54.4W笔/秒,单个服务的集群的QPS破百万的应该也很少 要应对多少并发,我们要看一...

如何在团队中做好Code Review

一、Code Review的好处想要做好Code Review,必须让参与的工程师充分认识到Code Review的好处 1、互相学习,彼此成就无论是高手云集的架构师团队,还是以CURD为主的业务开发团队,大家的技术能力、经验都是有差异的。 通过Code Review,对于同样的功能实现,有经验的工程师可以给经验尚浅的工程师提供合理的优化建议。经验尚浅的工程师可以通过阅读优质代码,快速学习相关技术...

Jenkins集成SonarQube进行代码质量扫描

一、前言1、本文主要内容 Jenkins集成SonarQube Server配置Jenkins集成SonarQube Scanner配置Jenkins+Maven+SonarQube扫描Java项目代码质量Jenkins集成SonarQube Scanner参数说明 2、环境信息 服务器 服务器名 操作系统 IP 说明 Jenkins CentOS 7 192.168.88.44 部...

Jenkins+Maven+Git(GitLab)持续集成Java项目

一、前言1、本文主要内容 Jenkins+SSH获取Gitlab代码Jenkins+Maven构建Java(Spring Boot)项目配置Jenkins发布Spring Boot项目:远程服务器端配置Jenkins发布Spring Boot项目:pom.xml编译配置Jenkins+SSH将构建输出结果发布到远程服务器并启动应用 2、环境信息 服务器 服务器名 操作系统 IP 说明 ...

Kafka集群部署指南

一、前言1、Kafka简介Kafka是一个开源的分布式消息引擎/消息中间件,同时Kafka也是一个流处理平台。Kakfa支持以发布/订阅的方式在应用间传递消息,同时并基于消息功能添加了Kafka Connect、Kafka Streams以支持连接其他系统的数据(Elasticsearch、Hadoop等) Kafka最核心的最成熟的还是他的消息引擎,所以Kafka大部分应用场景还是用来作为消息队...

基于GitLab的Code Review教程

一、前言1、本文主要内容 GitLab Code Review机制说明Git Workflow 与 Git Code Review WorkflowGitLab Code Review 配置说明GitLab Code Review 流程演示GitLab For IDE 插件介绍(JetBrains等等) 2、GitLab Code Review机制GitLab可以在分支合并的时候支持两种方式: ...

Netflix Hystrix断路器简介与工作原理

一、前言?1、Netflix Hystrix断路器是什么?Netflix Hystrix是SOA/微服务架构中提供服务隔离、熔断、降级机制的工具/框架。Netflix Hystrix是断路器的一种实现,用于高微服务架构的可用性,是防止服务出现雪崩的利器。 2、为什么需要断路器?在分布式架构中,一个应用依赖多个服务是非常常见的,如果其中一个依赖由于延迟过高发生阻塞,调用该依赖服务的线程就会阻塞,如果...

HBase集群部署指南

一、前言1、HBase简介HBase是一个分布式的、面向列的开源数据库。HBase在Hadoop之上提供了类似于Google Bigtable的能力。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。https://baike.baidu.com/item/HBase 2、HBase应用场景 大数据存储:应用日志、用户行为...