- 博客(10)
- 收藏
- 关注
原创 RetryUtils
下面展示一些 内联代码片。package me.ele.biz.alpaca.common.utils;import java.util.function.Function;import io.github.resilience4j.core.IntervalFunction;import io.github.resilience4j.retry.Retry;import io.github.resilience4j.retry.RetryConfig;/** * RetryUtils
2021-02-23 23:40:47
350
原创 资金服务之分布式事务解决方案
事务解决方案(QPS不高)牺牲可用性来换取强一致性• 本地事务资金账户变动核心扣款逻辑采用悲观锁方式保证数据一致性。• 分布式事务资金提现采用补偿型TCC分布式事务解决方案,该事务模型直接作用于服务层,不与服务框架耦合,与底层RPC协议无关,可灵活选择业务资源的锁定粒度,减少资源持有的时间,可扩展性好(服务拆分,资源的横向扩展),针对资金提现功能,资金先扣减,减少了资源锁的持有时间,同时从理论上来说,只要业务允许,事务的第二阶段充值什么时候执行都可以,反正资源已经业务锁定,不会有其它事务动用该事务
2021-02-23 17:09:20
190
原创 读锁/写锁,共享锁/排他锁,悲观锁/乐观锁
共享锁(读锁):用于不更改或不更新数据的操作(只读操作),如select语句排他锁(写锁):用于数据修改操作,例如 INSERT、UPDATE 或 DELETE。确保不会同时同一资源进行多重更新。乐观锁:乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理(也就是不加锁),而在进行更新后,再去判断是否有冲突了。通常实现是这样的:在表中的数据进行操作时(更新),先给数据表加一个版本(vers
2020-12-11 19:02:28
217
转载 事务篇一
事务的四种隔离级别由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。Read uncommitted读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。事例:老板要给程序员发工资,程序员的工资是3.6万/月。但是发工资时老板不小心按错了数字,按成3.9万/月,该钱已经打到程序员的户口,但是事务还没有提交,就在这时,程序员去查看自己这个月
2020-12-03 18:50:02
169
原创 二分查找
前提条件:有序的支持下标索引二分查找(没有重复元素情况下)(自测通过):// An highlighted blockclass Solution { public int search(int[] nums, int target) { int start = 0; //开始下标 int end = nums.length-1; //结束下标 while(start <= end){ //头和尾
2020-11-03 15:38:29
176
转载 Kafka
文章目录一、kafka 应用场景二、Kafka主要特点三、Kafka的架构四、几个基本概念五、环境搭建一、kafka 应用场景1.日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如hadoop、Hbase、Solr等。2.消息系统:解耦和生产者和消费者、缓存消息等。3.用户活动跟踪:Kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic
2020-10-28 21:13:31
118
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人