摘要:故事的开头总是这样,适逢其会,猝不及防;故事的结局总是这样,花开两朵,天各一方。 曾经,努力到无能为力,拼搏到感动自己,我坚信,遗憾比失败更可怕,如今,我发现,遗憾和失败我都无法承受,不是因为我付出了太多,而是因为真心没有被认真对待过。 我难过,我嫉妒,有种深情,你从未给过我。你是我心中永远的痛,解 阅读全文
posted @ 2018-11-28 18:12 废物大师兄 阅读(4053) 评论(25) 推荐(15) 编辑
摘要:延迟队列的使用场景还比较多,例如: 1、超时未收到支付回调,主动查询支付状态; 2、规定时间内,订单未支付,自动取消; 。。。 总之,但凡需要在未来的某个确定的时间点执行检查的场景中都可以用延迟队列。 常见的手段主要有:定时任务扫描、RocketMQ延迟队列、Java自动的延迟队列、监听Redis 阅读全文
posted @ 2021-04-02 19:01 废物大师兄 阅读(76) 评论(0) 推荐(0) 编辑
摘要:Spring Boot 最大的特点(亮点)就是自动配置 AutoConfiguration 下面,先说一下 @EnableAutoConfiguration ,然后再看源代码,到底自动配置是怎么配置的 1. @EnableAutoConfiguration @SpringBootApplicatio 阅读全文
posted @ 2021-03-14 16:31 废物大师兄 阅读(247) 评论(0) 推荐(3) 编辑
摘要:一切从SpringApplication.run()开始,最终返回一个ConfigurableApplicationContext 构造了一个SpringApplication对象,然后调用它的run方法。下面看下构造方法都做了什么 1、推断Web应用类型(WebApplicationType),本 阅读全文
posted @ 2021-03-13 17:39 废物大师兄 阅读(262) 评论(0) 推荐(0) 编辑
摘要:如图是一个简化的下单流程,首先是提交订单,然后是支付。支付的话,一般是走支付网关(支付中心),然后支付中心与第三方支付渠道(微信、支付宝、银联)交互,支付成功以后,异步通知支付中心,支付中心更新自身支付订单状态,再通知业务应用,各业务再更新各自订单状态。 这个过程中经常可能遇到的问题是掉单,无论是超 阅读全文
posted @ 2021-03-11 14:32 废物大师兄 阅读(254) 评论(2) 推荐(2) 编辑
摘要:1. 自定义指标 为了注册自定义指标,请将MeterRegistry注入到组件中,例如: public class Dictionary { private final List<String> words = new CopyOnWriteArrayList<>(); Dictionary(Met 阅读全文
posted @ 2021-03-09 21:38 废物大师兄 阅读(323) 评论(0) 推荐(0) 编辑
摘要:1. Prometheus是什么 Prometheus是一个具有活跃生态系统的开源系统监控和告警工具包。一言以蔽之,它是一套开源监控解决方案。 Prometheus主要特性: 多维数据模型,其中包含由指标名称和键/值对标识的时间序列数据 PromQL,一种灵活的查询语言 不依赖分布式存储; 单服务器 阅读全文
posted @ 2021-03-05 19:19 废物大师兄 阅读(296) 评论(0) 推荐(1) 编辑
摘要:SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制。本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。 在Java中SPI是被用来设计给服务提供商做插件使用的。基于策略模式来实现动态 阅读全文
posted @ 2021-01-29 19:54 废物大师兄 阅读(336) 评论(0) 推荐(0) 编辑
摘要:锁定读(locking read)、更新(UPDATE)或删除(DELETE)通常会在SQL语句处理过程中扫描的每个索引记录上设置记录锁。语句中是否存在排除行的WHERE条件并不重要。InnoDB不记得确切的WHERE条件,而只知道哪个索引范围被扫描。这些锁通常是next-key锁,它还会阻止在记录 阅读全文
posted @ 2021-01-28 22:13 废物大师兄 阅读(74) 评论(0) 推荐(0) 编辑
摘要:1. Shared and Exclusive Locks shared lock (译:共享锁) exclusive lock (译:排它锁、独占锁) InnoDB实现了标准的行级锁,其中有两种类型的锁,共享锁(shared locks)和排他锁(exclusive locks)。 A share 阅读全文
posted @ 2021-01-28 09:32 废物大师兄 阅读(85) 评论(0) 推荐(0) 编辑
摘要:当同一个查询在不同的时间产生不同的行集时,就会出现所谓的幻像问题。例如,如果执行了两次SELECT,但是第二次返回了第一次没有返回的行,那么该行就是一个“幻象”行。 假设在表child的id列上有一个索引,你想读取并锁定表中标识符值大于100的所有行,并打算稍后更新所选行的某些列: SELECT * 阅读全文
posted @ 2021-01-27 22:18 废物大师兄 阅读(64) 评论(0) 推荐(0) 编辑