零散知识点
文章平均质量分 84
JavaEE零散知识点
Minor王智
好好学习,天天向上!
展开
-
分布式事务和Seata的AT模式原理
Try-Confirm-Cancel,本质也是业务服务化的两阶段提交协议,TCC一共有3个步骤,第一阶段需要由应用程序来进行对资源的预留,当所有参与者的try接口都成功了,那么事务管理器就会提交事务进行confirm,否则进行cancel回滚资源释放。Seata支持多种分布式事务模式,官方主推的是AT模式,AT模式是一种无侵入式的、类似于自动化的隐式TCC模式。2PC一共有2个阶段预提交和commit。在分布式系统架构中,复杂的业务需要跨库操作,要保证全局的事务一致性问题就得需要解决分布式事务问题。...原创 2022-07-25 13:56:10 · 358 阅读 · 0 评论 -
OAuth2和JWT
这种模式需要客户端、服务端、三方服务器共同协调完成,这种模式需要三方应用客户端通过授权得到一个Code码,客户端拿着这个code请求自己公司的服务端,服务器通过code去三方应用获取一个Access_Token,得到三方的Access_Token以后,服务器就可以调用API获取用户的一些非敏感信息了,例如可以拿到用户的头像、用户名、账号ID、open_id、union_id等。目前主流的版本是OAuth2。这种模式抛弃了用户的概念,客户端以自己的名义发起授权请求,这种模式适用于命令行的一些基础应用。...原创 2022-07-25 13:53:35 · 1730 阅读 · 0 评论 -
分治思想ForkJoin原理分析
CPU密集型任务的特点就是计算密集,对CPU的依赖相当高,对于这样的任务线程分配的最佳实践就是CPU核心数的2倍,如果设置过多会导致线程上下文切换十分频繁。IO密集型任务属于IO频繁,例如数据库的访问、文件访问、网络传输等,这些操作不会耽误CPU的资源但是会消耗IO资源,任务的执行时长较长。这样的任务线程分配最佳实践就是多余CPU的核心数好几倍。但是对于IO密集型的任务需要压测来进行最优的分配。分而治之的指导思想就是将一个规模为N的问题进行分解拆分为K个小的子问题,这些子问题相互独立并且原理性质相同,甚至子原创 2022-07-02 17:14:35 · 204 阅读 · 0 评论 -
Java后端服务接口幂等常见处理方案
1.什么事幂等?在编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。用通俗的话讲:就是针对一个操作,不管做多少次,产生效果或返回的结果都是一样的。2.哪些常见的业务存在幂等问题?在我们的业务开发过程中如果对幂等问题处理的不当,会造成脏数据,甚至造成极大损失。结合我自己这几年所接触的业务总结了常见的幂等场景分享给大家。表单提交业务第三方支付/退款业务MQ相关业务抢占类业务3.具体解决方原创 2020-05-30 18:34:56 · 990 阅读 · 0 评论