
经验知识
Fanzongshen
只要学不死,就往死里学!
展开
-
最新秒杀系统设计
4.(1)扣减库存(2)zset插入订单(3)消费成功删除zset订单信息(4)redis补发消息(kafka幂等性)3.redis预扣库存,kafka异步持久化,数据库update转insert。10.数据库隔离,秒杀服务与其它服务隔离,机器性能达到极致。2.hystrix限流,令牌桶算法控制全局QPS。9.通过cdn/minio将静态资源与业务分离。8.dns轮询,域名绑定多个LVS服务。1.前端做客户端缓存,拦截频繁的请求。6.库存拆分,对库存做负载均衡。5.kafka分区,批量消费。原创 2025-04-27 12:33:19 · 85 阅读 · 0 评论 -
nodes are available: 1 node(s) had taints that the pod didn‘t tolerate
PreferNoSchedule:尽量不被调度【也有被调度的几率】NoExecute:不会调度,并且还会驱逐Node已有Pod。NoSchedule:一定不被调度。原创 2023-03-08 15:00:19 · 1433 阅读 · 0 评论 -
error: error validating “pod-nginx.yaml“: error validating data: apiVersion not set; if you choose t
因为我个人非常喜欢用快捷键在用vim 编辑文件几乎也是直接shift+ins直接粘贴然后shift+zz直接保存,就没有看文本类容,一直卡在这里了,今天我仔细看了一下才发现用Xshell的时候shift+ins直接粘贴,真是坑死人的bug啊!希望广大攻城狮特别注意!记录一下最近玩k8s,linux系统踩坑。原创 2023-03-07 16:18:37 · 5189 阅读 · 6 评论 -
支付系统流程以及防止订单重复提交
支付的话,一般是走支付中心,然后支付中心与第三方支付渠道(微信、支付宝、银联)交互,支付成功以后,异步通知支付中心,支付中心更新自身支付订单状态,再通知业务应用,各业务再更新各自订单状态。创建订单的时候,用订单信息设置redis的key值,判断redis中是否有key,有则不允许重复提交,没有则生成一个新key,放到redis中设置个过期时间,然后创建订单。1、支付订单增加一个中间状态"支付中",当同一个订单去支付的时候,先检查有没有状态为"支付中"的支付流水,当然支付的时候要加个锁。原创 2022-10-03 01:38:10 · 632 阅读 · 0 评论 -
io与cpu密集型区别
CPU密集型 可以理解为 就是处理繁杂算法的操作,对硬盘等操作不是很频繁,比如一个算法非常之复杂,可能要处理半天,而最终插入到数据库的时间很快。IO密集型可以理解为简单的业务逻辑处理,比如计算1+1=2,但是要处理的数据很多,每一条都要去插入数据库,对数据库频繁操作。原创 2022-10-03 01:31:48 · 548 阅读 · 0 评论 -
mysql 自动添加创建时间、更新时间
mysql 自动更新时间_如何设置mysql自动更新创建时间和更新时间原创 2022-09-22 15:55:59 · 373 阅读 · 0 评论 -
mysql中的unsigned和zerofill
mysql中的unsigned和zerofill原创 2022-09-21 14:38:19 · 760 阅读 · 0 评论 -
idea2022新版git提交代码会显示用户代码作者信息修改
idea2022新版git提交代码会显示用户代码作者信息修改。原创 2022-09-15 14:21:01 · 2390 阅读 · 0 评论 -
linux安装rabbitmq傻瓜式安装rabbitmq-server-generic-unix-3.7.16.tar
linux安装rabbitmq傻瓜式安装rabbitmq-server-generic-unix-3.7.16.tar。原创 2022-08-15 18:49:12 · 569 阅读 · 0 评论 -
mysql5.7linux安装完整版100%成功
mysql5.7linux安装完整版100%成功原创 2022-08-10 12:55:25 · 284 阅读 · 0 评论 -
分布式系统与微服务的区别
分布式系统与微服务的区别。原创 2022-08-03 10:44:22 · 247 阅读 · 0 评论 -
QPCore Service 是什么?是否可以禁用?如何彻底删除它?
之前也没太注意,看是看到过,刚刚 msconfig 检查非微软服务时又发现了 QPCore Service,腾讯的东西。QQ 只是个聊天工具,没必要搞个后台服务一直运行,完全是流氓行为。不管它是干吗的,打算禁用它,结果失败,该服务不让你停止或禁用,哪怕是打开 Windows 服务管理器,右击该服务,都是灰色不可操作的。这下反而引起了我的兴趣。QPCore ServiceQPCore Service 是什么QPCore Service是腾讯公司程序,它的描述为:腾讯安全服务,对应的进程是QQProte转载 2021-05-29 13:37:00 · 27595 阅读 · 6 评论 -
BIO、NIO、AIO的区别和原理
BIO、NIO、AIO的区别和原理。原创 2022-07-27 22:47:17 · 341 阅读 · 0 评论 -
windows安装kafka
windows安装kafka。原创 2022-07-27 15:26:56 · 168 阅读 · 0 评论 -
windows管理员命令行模式中cd命令无效。
windows管理员命令行模式中cd命令无效。原创 2022-07-26 23:47:52 · 554 阅读 · 0 评论 -
解决@Valid List传参无法校验的问题
解决@Valid注解传参List对象无法校验的问题。原创 2022-07-20 00:01:21 · 1213 阅读 · 1 评论 -
org.springframework.data.redis.serializer.SerializationException: Could not read JSON: Unrecognized
最近写springSecurity +redis遇到问题报错在实现接口UserDetails过后报错,于是我查阅了大量的文章并且分析过源码,再加上一步一步的断点调试,总结出了以下结论对于权限Set集合因为json反序列化原因写入redis,再取出来会出现反序列化失败异常,所以此时我们应该写一个新的类来继承它让其序列化成功代码如下此时我们的UserDetailsService实现类如下这样一来我们用redis的set方法存进去的时候再取出来就不会报错了最后顺利完成jwt认证...原创 2022-07-13 13:37:52 · 5210 阅读 · 3 评论 -
stream流根据时间筛选list最新数据
stream流根据时间筛选list最新数据原创 2022-07-11 22:14:41 · 5858 阅读 · 0 评论 -
Oracle根据行号达到分组排序取第一条的效果,排序后取第一条
Oracle数据无法根据单个字段进行分组,而mysql可以,如果想要达到根据单个字段进行分组可以查询他的行号获取rowNumber达到单个字段分组取第一条效果Oracle排序后取第一条数据原创 2022-05-06 08:44:55 · 1159 阅读 · 0 评论 -
Mysql和Oracle分组排序取第一条数据
根据name分组根据,根据age排序,取第一条数据SELECT * FROM (SELECT p.*, row_number() over(PARTITION BY NAME ORDER BY age DESC ) rnk FROM person p)AS a WHERE rnk =1 AND a.name IN ('张三','鸡哥')源表数据最终结果原创 2022-04-07 21:26:53 · 877 阅读 · 0 评论 -
银行家算法
银行家算法银行家算法(Banker's Algorithm)是一个避免死锁(Deadlock)的著名算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种避免死锁产生的算法。它以银行借贷系统的分配策略为基础,判断并保证系统的安全运行。算法原理我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。为保证资金的安全,银行家规定:(1) 当一个顾客对资金的最大需求量不超过银行家现有的资金时就可接纳该顾客;(2) 顾原创 2022-02-21 16:07:29 · 536 阅读 · 0 评论 -
redis的RDB和aof的区别以及优缺点
redis持久化redis是基于内存超过,如果进程退出或者宕机了那么redis中的数据将会丢失无法恢复。RDB:把当前数据生成快照保存在硬盘上某个时间点全部数据的快照,所以速度比较快,无法做到实时持久化,版本不兼容保存一次rdb文件至少花费5分钟左右时间,如果在此时宕机,就会丢失好几分钟数据如果数据庞大fork会非常耗时,会导致服务器在某某毫秒内停止处理客户端AOF:记录每次对数据的操作到硬盘上每次写的命令追加到日志中,数据精确度高,速度慢aof默认策略是everysec每秒同步一次,宕机最原创 2021-11-25 16:22:07 · 949 阅读 · 0 评论 -
秒杀系统设计方案
搭建eureka集群,编写生产消费者,业务逻辑,熔断降级,git配置中心前端:静态页面,CDN抗衡峰值灰色按钮,禁止重复提交用户限流,ip限流后端:网关层控制脚本插件,限制访问频率服务层1.主要信息存到redis中2.登录验证3.flag开关4.redis的decr预减库5.redis的布隆过滤器防止重复秒杀6.redis的Lua脚本完成redis的事务操作6.发送秒杀成功到MQ给相应的业务端处理7.用户id和商品id作为redis的key值,通过布隆过滤器来标识是否秒杀成功,原创 2021-11-19 14:58:09 · 1061 阅读 · 0 评论 -
如何体面的解决浏览器首页被hao123绑架
今天回到家一如既往的打开了杂七杂八的软件,就在这时候我的桌面刷新了一下,然后我的浏览器首页就默默的被hao123绑架了,原本我以为是360浏览器的原因,后来我下载了谷歌浏览器发现也是一样的,此时我发现事情并不是这么简单!接下来就是长达5个小时的斗争!1.注册表入手1.使用组合键(win键+r)打开运行窗口,输入regedit命令,2.在打开的注册表编辑器窗口中依次展开HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer再单击Main项3.把原创 2021-06-09 01:05:58 · 1949 阅读 · 0 评论 -
摩尔斯密码输出I LOVE YOU ,SOS
2叉树记忆摩斯密码摩尔斯密码表根据以上摩尔斯密码表我们可以分析出来I LOVE YOU相对应的国际摩尔斯密码为:… .-… — …- . -.-- — …-SOS求救的摩尔斯密码为… — …原创 2021-03-19 16:54:44 · 3277 阅读 · 0 评论