自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 面试必问之 “Java线上故障排查”?13 步口诀 + 4 类场景实战(持续更新中)

思路:(1)定位故障类型。(2)用工具深查根因。(3)针对性优化。CPU 高看栈堆,内存泄漏快照追。超时链路查节点,线程阻塞锁定位。

2025-07-30 15:07:51 504

原创 如何解决高并发下的库存抢购超卖少买问题?(持续更新中)

库存防超卖,锁和版本带;Redis 先扣减,异步同步快;限流加队列,拆分监控在。

2025-07-30 09:28:42 326

原创 如何从零搭建一个支持 10 万级 QPS 的大流量、高并发优惠券系统?(持续更新中)

设计一个xx系统的思路:(1)业务拆解(2)技术选型(3)高并发处理(4)高可用保障

2025-07-28 11:37:49 519

原创 如何设计一个秒杀系统?(持续更新中)

秒杀系统要稳准,高可用先记分明;动静分离 CDN,热点隔离独立群;削峰靠排队答题,分层过滤漏斗形;Redis 预扣防超卖,异步落库保性能;限流熔断加兜底,三高目标准达成。

2025-07-27 22:46:02 578

原创 电商平台中,订单未支付过期,如何实现自动关单?(持续更新中)

RocketMQ 延迟消,级别设定定时发;消费检查支付态,未付关单不偏差;解耦 高吞 还 可靠,最优方案就选它。

2025-07-27 19:15:08 350

原创 你们采用微服务架构,你是怎么做系统拆分的?(持续更新中)

口诀:微服务拆分有妙招,先按业务分大块;热点复杂单独拆,各管各事不依赖;团队数据各独立,出问题时影响小。先从上到下做业务流程梳理,将流程归类聚合;然后从不同的中找出交互所需主要实体。根据流程中主要实体之间的数据依赖程度决定是否拆分(从下到上把不同的实体和动作拆分成多个模块后, 再根据业务流程归类,划分出最终的模块(总结就是:从上往下看流程,从下往上看模块,最后综合考虑流程和模块的产出结果。

2025-07-27 11:26:30 229

原创 当面试官问,你用过xx技术吗?应该如何回答?(持续更新中)

(1)用在哪(场景)→ (2)为什么用(解决什么问题)→ (3)怎么用的(技术细节)→ (4)遇到什么坑(实战)→ (5)带来什么价值(业务效果)

2025-07-26 22:47:15 208

原创 如果你的系统的 QPS 突然提升 10 倍,你会怎么设计?(持续更新中)

QPS 突增莫慌张,分层设计来扛;CDN 挡流量,WAF 拦恶意;网关先限流,服务再降级;缓存多级建,数据分片存;监控全链路,预案提前备。

2025-07-25 17:51:08 533

原创 高并发系统技术架构(持续更新中)

CDN 扛静态,WAF 防恶意;验证码拦机器;Nginx 先限流,Sentinel 再熔断;Redis 扣库存,MQ 异步写;对账保一致,秒杀稳如狗。

2025-07-24 21:01:24 223

原创 在分布式系统中,如何保证缓存与数据库的数据一致性?(持续更新中)

读多写少用旁路,先更库再删缓存;强一致选写透,缓存代理更库走;性能优先用写回,异步批量有风险;高并发加双删,延迟兜底防旧残;强一致用锁串,并发虽低稳如山。

2025-07-17 14:42:28 469

原创 在mac上使用jmap -heap命令报错:Attaching to process ID 96530, please wait...

还一不小心把~/.zshrc文件给改坏了,iterm2无法启动。在访达界面,按住“Command + Shift + . ”,显示隐藏文件。言归正传,jmap -heap pid,这bug就一直存在?在mac上这命令算不算是弃用了呀?看到隐藏文件,用文本编辑app打开.zshrc,即可编辑。

2023-11-09 22:34:52 824

原创 制定目标的SMART原则(思维导图)

制定目标的SMART原则 总结

2022-10-16 20:17:15 1563

原创 ES问题 NoNodeAvailableException: None of the configured nodes are available 原因是集群名字写错了

遇到异常:cn.xxxx.op.points.aop.GlobalExceptionHandler - 捕获到Exception异常org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: [{#transport#-1}{1BDQ_cF9QDaalAYFvwzZ8g}{10.58.124.4}{10.58.124.4:9300}] at org.el

2022-04-27 16:24:33 942

原创 Mac安装批量操作命令ansible

原本写过一篇linux版本的:https://lilyssh.blog.youkuaiyun.com/article/details/82911903现在记录一篇Mac版的。一、安装ansible安装pip包管理工具,先下载安装脚本get-pip.py。curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py执行安装脚本。python get-pip.py原因:当前系统中的python是2.7版本,不支持解决:下载https://boo

2022-03-09 16:30:52 1378

原创 验证备点 随笔(个人记录,无参考价值,慎点)

一、重启 容器 cd /data/docker-compose/能看到docker-compose.yml,看下容器名字docker ps | grep points-manager-new或docker ps -a --format "table {{.Names}}" | grep points-manager-new如,容器名为:op-points-manager-new_10.58.185.58在/data/docker-compose/目录下,执行:docker-co

2022-03-07 15:17:21 2245

原创 Mac下iterm2 实现clone session

一、痛点:mac本,iterm2,登录服务器时需要先通过跳板机登录。且需输入动态口令,才能登录。非常麻烦。二、愿望:打开新窗口时,无需再次输入密码和动态口令:三、 实现步骤:vim ~/.ssh/config添加:host * ControlMaster auto ControlPath ~/.ssh/master-%r@%h:%p大功告成!这样,首次登录跳板机时,和往常一样,但是非首次登录同样的跳板机时,就无需再输入密码和动态口令了。来,观摩一下 各种糟心的动

2021-12-24 17:26:17 1615

原创 Mac 创建用户/用户组命令

一、查看各用户IDdscl . -list /Users UniqueID二、查看用户所属组IDdscl . -read /Users/root PrimaryGroupID三、查看各组IDdscl . -list /Groups PrimaryGroupID四、创建用户 “luser”: dscl . -create /Users/luser dscl . -create /Users/luser UserShell /bin/bash dscl . -create /Use

2021-09-10 16:58:56 5610 1

原创 Mac快捷键

用一个,记录一个:1、剪切 文件(夹):command + Ccommand + option (alt) + V

2021-08-23 19:13:03 870

原创 MySQL为多个表增加相同字段(列)

有多张表,需要加同一个字段,虽然mysql中没提供直接可以批量新增字段的功能,但可以曲线救国呀,用CONCAT拼接函数,显示出新增字段的语句,执行即可:SELECT CONCAT('alter table ',table_schema,'.',table_name,' ADD COLUMN `base_url` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL AFTER `remark`;') from

2021-08-23 10:41:59 3180 4

原创 feign的基本使用

是因为 spring cloud 与 spring boot 的版本 是有对应关系的,如果 不对应,就会报红。

2021-08-18 11:32:09 889

原创 ES排序操作错误:NotSerializableExceptionWrapper[: Fielddata is disabled on text fields by default.

报错信息2021-08-13 15:38:42.838 [http-nio-10019-exec-8] INFO cn.gitv.user.utils.ElasticsearchUtil - {"size":1,"query":{"bool":{"must":[{"term":{"uid":{"value":12074,"boost":1.0}}},{"term":{"bizId":{"value":"10001628838759551490","boost":1.0}}},{"term":{"biz

2021-08-13 16:37:18 1419

原创 Mac安装ES:elasticsearch has been deprecated,incompatible license,no bottle available!

一、安装方法:brew install elastic/tap/elasticsearch-full安装成功!二、启动:brew services start elastic/tap/elasticsearch-full启动成功!三、安装过程中遇到的坎坷:1、网不好:brew install elastic/tap/elasticsearch-full解决方案:再执行一遍即可。2、已被启用:brew install elasticsearch错误信息摘:Warning: e

2021-08-12 19:07:26 5994 1

原创 Mac安装brew:unable to access ‘https://github.com/Homebrew/brew/‘: LibreSSL SSL_connect: github.com:443

homebrew官网:https://brew.sh/index_zh-cn执行官网命令:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"报错:==> Checking for `sudo` access (which may request your password).==> This script will install:/opt/h

2021-07-01 16:18:32 4947 6

原创 解决 在iterm2中,滚动滚轮或双指滑动触摸板,触发滚动命令行历史记录的问题

在Iterm2中,如果上下滚动光标(上下滑动触摸板、或者滚动鼠标滚轮),通常情况下会触发屏幕内容上下滚动。但是在某些异常情况下,却触发了命令行历史记录的上下滚动,效果和你连续按了多次键盘的上下键按键一样。如:如果想永久解决这问题,可在item2的“Preferences”->“advance”菜单中找到“Scroll wheel sends arrow keys when in alternate screen mode.”,并将该选项的“Yes”修改为“No”即可。由下图可看到,此版本,改完立即

2021-06-30 15:56:12 11746 1

原创 Mac终端主题zsh安装,及插件推荐:命令自动补全和语法高亮

一、安装 zshzsh: https://github.com/ohmyzsh/ohmyzsh/一、命令自动补全插件 zsh-autosuggestionsgithub仓库:https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md二、zsh 语法高亮插件 zsh-syntax-highlightinggithub仓库:https://github.com/zsh-users/zsh-syntax

2021-06-25 11:52:04 6088 6

原创 Mac终端zsh安装插件时遇到的问题 source:1: no such file or directory: zsh-autosuggestions.zsh^M 解决办法

使.zshrc生效时,报错:一、摘出关键报错信息:no such file or directory: /Users/lily/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh^M二、报错原因分析:说是找不到zsh-autosuggestions.zsh这个文件,但明明这个文件是存在的。是谁对mac用了致盲技能导致它眼瞎了吗,不,它只是无法识别,也就是说zsh-autosuggestions.zsh文件里可

2021-06-25 10:49:32 9865 1

原创 使用SwitchHosts和GitHub520自动更新 github.com的hosts

国内访问github的加速神器。标题: 随意类型: 远程URL: https://cdn.jsdelivr.net/gh/521xueweihan/GitHub520@main/hosts自动刷新: 最好选 1 小时这样每次 hosts 有更新都能及时进行更新,免去手动更新。新建文件:点完确定后,等两秒钟,就会自动刷新出ip。打开开关:![在这里插入图片描述](https://img-blog.csdnimg.cn/20210624170402934.png大功告成!...

2021-06-24 17:13:16 11202 19

原创 Mac下定位命令locate的使用

locate指令在其数据库中查询文件要比find更高效。使用updatedb命令可以更新locate命令的数据库,而在macOS下却找不到updatedb这个程序。locate数据库位置在: /var/db/locate.datebaseupdatedb程序在:/usr/libexec/locate.updatedb知道了位置直接调用就可以了。为了省去路径,建立终端下的快捷命令:alias updatedb='/usr/libexec/locate.updatedb'接下来,我们来验证一

2021-06-24 11:43:06 1828 1

原创 Mac使用IDEA提交时,报错:you are about to commit crlf line separators to the git repository 解决办法

用mac在idea中提交时,遇到问题:在 Windows 下,由回车 CR(0x0D)(\r)和换行 LF(0x0A)( \n))共同标志一行的结束。而在 Linux和Mac 环境下,每一行的结束仅有一个换行 LF(0x0A)(\n)。在Git中有一项 core.autocflf 配置项,它可以被配置为 true,false和input,它们分别表示:// 提交时转换为LF,检出时转换为CRLFgit config --global core.autocrlf true// 提交时转换为LF,

2021-06-23 22:57:26 7616

原创 设置 vim 语法高亮显示

接下来,展示一个 让黑白电视秒变彩电的黑科技:设置高亮显示之前,可以看到,无论注释还是非注释,通篇是黑底白字:最终效果图:(1)在~路径下,编辑.vimrc文件:vim ~/.vimrc(2)并把以下内容粘进去:syntax onset hlsearchcolorscheme desertset nocompatibleset backspace=indent,eol,start(3)保存退出::wq!大功告成!效果如下:...

2021-06-21 18:56:38 24002 3

原创 由Xshell转为iTerm2 通过私钥/密钥文件连接服务器/跳板机(堡垒机)

外星人用了六年,最近实在是有点卡得不像话,就换了Mac。接下来 记录一下 Windows转macOS的历程:先从 连接 服务器说起吧。之前一直是用得Xshell,但Xshell没有mac版。就用了iTerm2。(1)下载iTerm2:https://iterm2.com/(2)安装oh-my-zsh(此步可有可无,只是为了让主题更好看,非颜控可跳过此步)https://ohmyz.sh/(3)生成/拷贝 SSH key由于之前已经在Windows上电脑上生成过了,所以 直接复制到Mac上。(

2021-06-16 22:19:52 1838 2

原创 The main resource set specified [/tmp/tomcat-docbase.xx] is not valid.A child container failed 报错原因

启动项目时,报错:2021-06-04 15:32:00.962 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]2021-06-04 15:32:00.963 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.34]2021-06-04 15

2021-06-04 17:54:31 958

原创 @Value取不到值的原因

今天被自己挖得坑栽了个大跟头!事情是酱紫的,我看到这个配置类里,直接读取了配置文件中的值,于是乎,我也照葫芦画瓢,也来了个静态变量,随手用快捷键,自动生成了set方法,代码如下:@Configurationpublic class CommonConfig { public static String sdSmsUrl; public static String sdSmsLoginMsg; @Value("${sms.sdcmccUrl}")

2020-10-10 20:20:46 1889 3

原创 使用spring @ControllerAdvice 对jsonp进行封装

package cn.xxx.user.app.tv.aop;import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.annotation.*;import org.springframework.core.MethodParameter;import org.springframework.http.MediaType;import org.springframework.http.server.ServerHttpRequest;i

2020-09-23 18:43:11 220

原创 mysql workbench 复制数据库/schema。sed: no input files

目标:把名为op_points_account_sd_cmcc_jn的schema,复制一份出来,叫op_points_account_js_cmcc_cp。一、导出1、点击【Data Export】2、选中要导出的库,以及导出路径,点击【Start Export】4、无视,继续5、导出完毕6、xia二、修改信息1、把sql文件中的原schema改为新schema:sed -i "s/op_points_activity_sd_cmcc_jn/op_points_activity

2020-09-14 18:02:40 7187

转载 Linux shell 用sed删除第一行、最后一行或增加删除某行

1、删除文档的第一行sed -i '1d' <file>2、删除文档的最后一行sed -i '$d' <file>3、在文档指定行中增加一行例如文档如下:echo "1";echo "2";echo "4";echo "5"; 想要在echo "2";后面加上一条echo "3";可以用如下命令sed -i '/echo "2";/aecho "3";' <file>之所以用分号,是因为文本中本来就有。也就是说分号不是必须的!

2020-09-14 16:28:37 14988

原创 中文版idea中properties文件 如何从黑白变彩色 代码高亮

第3步,拉到底。第4步骤,默认勾选,需设置为非选中状态。

2020-09-10 17:47:28 1940

原创 中文版/汉化版 IDEA 设置在新窗口中打开项目

2020-09-08 09:20:43 309

原创 MySQL索引机制

正确的创建合适的索引是提升数据库查询性能的基础。一、索引是什么?索引是为了加速对表中数据行的检索而创建的一种分散存储的数据结构。二、为什么要使用索引?索引能极大的减少存储引擎需要扫描的数据量。索引可以把随机IO变成顺序IO。索引可以帮助我们在进行分组、排序等操作时,避免使用临时表。三、索引谁实现的MySQL结构体系:Indexes是第三方公司提供的可插拔的插件式存储引擎。...

2019-05-12 14:28:13 914 2

原创 kafka原理

一、简介分布式的消息和订阅系统,高性能、高吞吐量。内置分区(对数据做分片处理)、实现集群、有容错能力和数据复制能力。二、产生背景领英要对用户的行为进行统计。三、应用场景行为跟踪:收集用户的操作行为。可以根据爱好做推送。日志收集。四、术语Topic存储消息的逻辑概念。Partition每个topic可以划分多个分区。相同topic下的不同分区的消息是不同的。如果是集群...

2019-01-25 15:43:15 281

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除