摘要: 记得之前准备春晚项目的时候,团队成员在一起过架构,老板最常问的问题是“这个组件挂了怎么办?有什么影响?”,我当时还在心里默默嘀咕:这咋都这么容易挂呢?其他组件不做高可用的吗?最近看到**FMEA**,我恍然大悟:哦,这原来不就是 FMEA 吗!? 阅读全文
posted @ 2024-01-29 08:53 James_Shangguan 阅读(338) 评论(2) 推荐(3) 编辑
摘要: 本文将记录和分析日志中的ConcurrentModificationException关键字报警,还有一些我的思考,希望对大家有帮助。 阅读全文
posted @ 2023-12-11 08:08 James_Shangguan 阅读(143) 评论(0) 推荐(2) 编辑
摘要: 6张图表 + 1个案例 带你入门tcpdump的使用和原理 本文通过6张图表 + 1个实战案例,带你轻松入门tcpdump的使用和原理,希望对大家有用! 阅读全文
posted @ 2023-06-24 22:20 James_Shangguan 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 我的2022——有点卷、没学习、还羊了 夜幕下的北京,迎来全新的一年,屏幕前的我,又到了该做年终总结的时候了。2022这一年,工作有点卷、没学习、还羊了…… 阅读全文
posted @ 2023-02-10 23:13 James_Shangguan 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 花1分钟配置远程DEBUG,开发效率翻倍,妹子直呼绝绝子 当把一个工程部署到远程服务器后有可能出现意想不到错误,日志打印过多或者过少都影响问题排查的效率,这个时候可以通过远程调试的方式快速定位bug,提升工作效率。本文主要讲解如何使用Idea开发工具进行远程调试,希望对你有帮助。 阅读全文
posted @ 2023-02-09 09:23 James_Shangguan 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 如果让你看一篇文章,就可以精通HashMap,成为硬刚面试官的高手,你学还是不学? 阅读全文
posted @ 2022-06-26 12:24 James_Shangguan 阅读(550) 评论(0) 推荐(1) 编辑
摘要: 时间是一只藏在黑暗中温柔的手,在我一出神一恍惚之间,物走星移。又到了新年,又到了属于年终总结的时间。 翻开2021年初立下的Flag,是否都已经实现? 终身学习之路 2021年度在极客时间学习120个小时,获得5个证书:《从0开始学架构》、《深入浅出计算机组成原理》、《系统性能调优必知必会》、《手把 阅读全文
posted @ 2022-02-08 16:36 James_Shangguan 阅读(192) 评论(0) 推荐(1) 编辑
摘要: 本文将从数据存储和搜索的角度简单分析Elasticsearch的搜索运行机制,主要涉及搜索API、搜索机制、存在问题和解决方案。 阅读全文
posted @ 2021-12-28 23:18 James_Shangguan 阅读(1072) 评论(0) 推荐(0) 编辑
摘要: 本文探讨Elasticsearch的数据请求、路由和写入过程的原理,主要涉及ES的分布式存储架构、节点和副本的写入过程、近实时搜索的原因、持久化机制等。 阅读全文
posted @ 2021-12-16 08:33 James_Shangguan 阅读(5294) 评论(0) 推荐(2) 编辑
摘要: Mapping是Elasticsearch中数据建模的基础,本文从Mapping简介、Dynamic Mapping、自定义Mapping和Mapping常用参数说明4个部分介绍Elasticsearch如何设置Mapping。 3.1 Mapping简介 3.1.1 什么是Mapping Mapp 阅读全文
posted @ 2021-10-29 09:03 James_Shangguan 阅读(1308) 评论(0) 推荐(1) 编辑
摘要: 本文从基本概念、基本CRUD操作、倒排索引原理、分词等部分来初识Elasticsearch。 阅读全文
posted @ 2021-08-19 23:16 James_Shangguan 阅读(2251) 评论(0) 推荐(3) 编辑
摘要: 磨刀不误砍柴工,要学习Elasticsearch,首先要搭建起来一套学习环境,本文为手把手教你在MacOS上面搭建Elasticsearch学习环境。 阅读全文
posted @ 2021-03-07 20:58 James_Shangguan 阅读(937) 评论(0) 推荐(2) 编辑
摘要: 2021,终于来了!还记得2020年的愿望是什么?活着就好。哈哈,毕竟除了生死,都是小事。虽为小事,但也重要。这一年,我顺利毕业,离开了陪伴多年的校园,成功进入职场,开启了人生中一段崭新的旅程。 阅读全文
posted @ 2021-01-09 23:54 James_Shangguan 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 说起ID,特性就是唯一,在人的世界里,ID就是身份证,是每个人的唯一的身份标识。在复杂的分布式系统中,往往也需要对大量的数据和消息进行唯一标识,这个标识就是分布式ID,那你知道有哪些常用的分布式ID解决方案吗? 阅读全文
posted @ 2020-12-06 21:58 James_Shangguan 阅读(1088) 评论(0) 推荐(2) 编辑
摘要: 本文从是什么、为什么、怎么做的三个步骤,分析简单工厂模式、工厂方法模式和抽象工厂模式,通过框架源码学习如何优雅地使用工厂模式。 阅读全文
posted @ 2020-11-28 22:47 James_Shangguan 阅读(584) 评论(0) 推荐(1) 编辑
摘要: 责任链模式(Chain of Responsibility Pattern)在《Head First设计模式》一书中被称为“剩下的模式”,其实使用也是蛮多的。最近在学习Netty的过程中用到了责任链模式,在此反过头来重温一下责任链模式。本文教你如何优雅地使用责任链模式。 阅读全文
posted @ 2020-07-25 19:16 James_Shangguan 阅读(992) 评论(0) 推荐(0) 编辑
摘要: 一、为什么需要面向切面编程? 面向对象编程(OOP)的好处是显而易见的,缺点也同样明显。当需要为多个不具有继承关系的对象添加一个公共的方法的时候,例如日志记录、性能监控等,如果采用面向对象编程的方法,需要在每个对象里面都添加相同的方法,这样就产生了较大的重复工作量和大量的重复代码,不利于维护。面向切 阅读全文
posted @ 2020-07-22 22:55 James_Shangguan 阅读(14212) 评论(0) 推荐(4) 编辑
摘要: XXL-JOB是一个分布式任务调度平台,作为当下流行的分布式解决方案,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。它的有两个核心模块,一个模块叫做调度中心,另外一个模块叫做执行器,它把任务调度和任务执行分成两个部分。本文从准备工作、搭建“调度中心”、搭建“执行器”三个步骤进行快速搭建。 阅读全文
posted @ 2020-07-12 21:24 James_Shangguan 阅读(1839) 评论(0) 推荐(1) 编辑
摘要: 先来看下结论:正确启动线程的方式是使用start()方法,而不是使用run()方法。 代码实战 1. 输出线程名称 “Talk is cheap. Show me the code”,用代码说话:分别调用run()方法和start()方法,打印输出线程的名字。 运行结果: 2. 深入一点 如果代码是 阅读全文
posted @ 2020-01-29 20:36 James_Shangguan 阅读(799) 评论(0) 推荐(1) 编辑
摘要: 2019在干什么,在实习和找工作的旋律中飞快度过。说起这段历程,肯定首先是感谢。感谢在此过程中遇到的每家公司和每一个人,感谢给我机会的每家公司,有你们的认可,我觉得我还是有价值的;也要感谢拒绝我的公司,谢谢你们曾经看轻我,是你们的拒绝和不屑,鞭策我继续努力。 第一份实习 过完年回来学校,三月份开始准 阅读全文
posted @ 2019-12-29 14:46 James_Shangguan 阅读(1378) 评论(2) 推荐(4) 编辑