应用实战
文章平均质量分 92
应用实战
文晓武
专注搜索推荐问答推荐工程领域,涉及到的技术有:Java、ElasticSearch、SpringBoot、SpringCloud、Dubbo、Linux、Docker、Sql、Kafka、RabbitMQ、RocketMQ、MyBatis、XXl-Job、Zookeeper、Nginx、Redis、Tomcat、Git、SVN、Maven、K8S等,每周不定期更新精华文章!
展开
-
线上服务应急攻关方法论
海恩法则指出:每一起严重事故的背后,必然有29次轻微事故和300起未遂先兆以及1000起事故隐患。海恩法则强调两点:(1)事故的发生是量的积累的结果;(2)再好的技术,再完美的规章,在实际操作层面,也无法取代人自身的素质和责任心。根据海恩法则,一起重大事故发生之后,我们要在处理事故和解决问题的同时,还要及时的对同类问题的「事故征兆」和「事故苗头」进行排查并处理,以防止类似问题的再次发生,将问题在萌芽状态就将其解决掉,这可以作为互联网企业线上应急的指导思想。墨菲定律指出:如果有两种或者两种以上方式去做某件事情转载 2022-06-21 11:33:16 · 104 阅读 · 0 评论 -
阿里稳定性之故障应急处理流程
尽管我们可以通过稳定性体系建设,来避免出现生产系统故障。但是仍然无法彻底避免一点风险都不会产生,当稳定性风险产生后,怎么快速协调组织,缩短故障时长,科学的流程就非常重要了。好在我们现在就开始思考的话,我们还有充足的时间去设计各个环节,并让参与的同学充分的锻炼,从而做到训练有素,为故障恢复争取宝贵的时间。对于问题解决有很多结构化解决方法,尤其是各种专业的咨询公司,这些流程值得我们借鉴。结合软件系统的生产环境故障来描述的话,一个典型的结构化问题解决步骤如下:问题定义:清晰的描述问题现象、影响,其中影响要尽量量化转载 2022-06-21 10:55:41 · 981 阅读 · 0 评论 -
缓存之王Caffeine Cache,性能比Guava更强,命中率更高
在项目开发中,为提升系统性能,减少 IO 开销,本地缓存是必不可少的。最常见的本地缓存是 Guava 和 Caffeine,本篇文章将为大家介绍 Caffeine。Caffeine 是基于 Google Guava Cache 设计经验改进的结果,相较于 Guava 在性能和命中率上更具有效率,你可以认为其是 Guava Plus。毋庸置疑的,你应该尽快将你的本地缓存从 Guava 迁移至 Caffeine,本文将重点和 Guava 对比二者性能占据,给出本地缓存的最佳实践,以及迁移策略。从功能上看,Gua转载 2022-06-20 11:30:28 · 892 阅读 · 0 评论 -
logback使用场景详细介绍
简单介绍一下我的老婆:集智慧与美貌于一身的女子——阿狸,一句“我们心有灵犀,不是吗?”让我瞬间“沦陷”。常见的日志框架呢有以下几种:JUL(Java Util Logging)LogbackLog4jLog4j2JCL(Jakarta Commons Logging)Slf4j(Simple Logging Facade For Java)首先它配置比较简单,比较容易上手;其次配置比较灵活,能满足大部分项目的需求;最后性能比较好,可以异步存储日志。我觉得这也是它在市面上比较流行,项目中使用比较多的原因吧。「转载 2022-06-01 10:42:26 · 185 阅读 · 0 评论 -
macOS 安装 Nebula Graph 看这篇就够了(亲测可用)
背景刚学习图数据的内容,当前网上充斥大量的安装文档,参差不齐,部署起来令人十分头疼。现整理一份比较完整的安装文档,供大家学习参考,本文示例所用 MacBook 采用了 Intel 芯片。版本 macOS 12.0.1 Docker 20.10.14 Nebula Graph v3.X(20220415-master 分支) Nebula Studio v3.2.2 Nebula Console v3.0.0(20220415-master 分支)转载 2022-05-04 13:08:22 · 697 阅读 · 1 评论 -
SRE 到底是干啥的?
有很多人问过我想了解一下 SRE 这个岗位,这是个很大的话题,在这篇文章中把想到的一些介绍一下吧。SRE 到底是什么?这是一个最早由 Google 提出的概念,我的理解是,用软件解决运维问题。标准化,自动化,可扩展,高可用是主要的工作内容。这个岗位被提出的时候,想解决的问题是打破开发人员想要快速迭代,与运维人员想要保持稳定,拒绝频繁更新之间的矛盾。SRE 目前对于招聘来说还是比较困难。一方面,这个岗位需要一定的经验,而应届生一般来说不会有运维复杂软件的经历;另一方面就是很多人依然以为这就是“运维”工转载 2022-02-22 11:53:05 · 395 阅读 · 0 评论 -
Logback 配置文件这么写,TPS提高 10 倍
前言大家好,我是挨踢大佬。今天我们讲一下logback的异步日志配置,希望通过本文你可以了解以下内容:1.日志输出到文件并根据LEVEL级别将日志分类保存到不同文件2.通过异步输出日志减少磁盘IO提高性能3.异步输出日志的原理1.配置文件logback-spring.xmlSpringBoot工程自带 logback和 slf4j的依赖,所以重点放在编写配置文件上,需要引入什么依赖,日志依赖冲突统统都不需要我们管了。logback框架会默认加载 classpath下命名为 lo.转载 2022-02-21 20:01:29 · 161 阅读 · 0 评论 -
Java 问题排查技术分享
前言最近翻看以前写的 PPT, 发现了在2019年做的一次技术分享,关于 Java 问题排查,由于没什么公司机密可言,整理下分享给大家~线上问题处理流程直接放PPT截图吧,现在看来依然不过时问题排查可从三个方面入手 知识:有些问题,思考一下就有答案,就像传说中多隆那样,回忆下就知道第83行代码有问题~ 工具:当然不是每个人都能做到过目不忘,也有可能这代码完全不是你写的,这时就需要靠工具来定位问题 数据:程序运行时产生的数据,也能提供很多线索 知识知识转载 2022-02-14 19:40:29 · 361 阅读 · 0 评论 -
JMH - Java 微基准测试工具(自助性能测试)@Benchmark
1、前言在日常开发中,我们对一些代码的调用或者工具的使用会存在多种选择方式,在不确定他们性能的时候,我们首先想要做的就是去测量它。大多数时候,我们会简单的采用多次计数的方式来测量,来看这个方法的总耗时。但是,如果熟悉JVM类加载机制的话,应该知道JVM默认的执行模式是JIT编译与解释混合执行。JVM通过热点代码统计分析,识别高频方法的调用、循环体、公共模块等,基于JIT动态编译技术,会将热点代码转换成机器码,直接交给CPU执行。也就是说,JVM会不断的进行编译优化,这就使得很难确定重复多少次原创 2022-02-12 18:08:03 · 3833 阅读 · 0 评论