自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

并发笔记 - ofcoder.com

一位后端开发的养肝历程,护发经验

  • 博客(53)
  • 资源 (3)
  • 收藏
  • 关注

原创 分布式事务之Seata常见异常

关于log_status=1的记录,关于log_status=0的记录,ShouldNeverHappenException,SQLJoinTableSource,TmTransactionException,TransactionException

2021-12-28 00:12:48 6931 9

原创 【超详细】解释BigDecimal精度的坑

看到这篇文章的,想必是遇到同样的坑,如果你愿意,我希望给你说出我了解的问题重现BigDecimal b1 = new BigDecimal(0.1);BigDecimal b2 = new BigDecimal(0.5);System.out.println("b1="+b1+"\nb2="+b2);---------------结果--------------------...

2018-03-20 21:39:05 33863 18

原创 【天坑】springboot打包成war,部署到tomcat,访问404

这个坑实在太深,坑的我简直不能呼吸像众位网友所说的那样,我去掉springboot内嵌的tomcat,再依赖servlet-api,修改启动类继承SpringBootServletInitializer,打成war放入tomcat中但是。。。访问报404这可能是条分割线一、打成war包发布到tomcat(这步已经完成,自行跳过)1. pom.xml

2018-01-30 11:48:06 33206 33

原创 java(服务端)-集成银联支付,含代码

百度银联支付,基本在喷银联代码烂,要不就是拿官方的代码贴上来,都没有仔细的说集成过程,用处实在不大 这里记录我集成过程,希望能帮到大家 官方demo 都说银联代码没有规范,文档也烂。但是人家挺用心的,提供了demo,稍微修改就可以直接运行。 这一步如果不想看,直接跳过,但是demo依然要下载,我们要用里面的代码 demo下载地址:https://open.unionpay

2017-12-06 15:23:48 6619 6

原创 java服务端验证谷歌支付Google Pay

翻阅大半个谷歌,对服务器验证账单,讲的少之又少,还TM没有看懂 查阅整个百度,发现几乎所有demo都是用世界上最好的语言php写的,这我 在此坐下记录希望能帮到有需要的人支付流程 前端支付完成,谷歌返回一串明文的json,和一个签名 将这个两个交给自己服务端 服务端验证 服务端验证是不要请求谷歌的,这个梗我也纠结了很久,但是它就是这样,只是在本地通过谷歌后台提

2017-09-12 14:00:17 11535 3

原创 访问https,抛出的异常javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

话说这个坑有点深,查阅大半个百度几乎没解决部分网友解释:是因为jdk中jce的安全机制导致报的错,按照大家的方式,要去oracle官网下载对应的jce包替换jdk中的jce包。jce所在地址: %JAVA_HOME%\jre\lib\security里的local_policy.jar,US_export_policy.jar JDK7 http://www.oracle.com/...

2017-09-11 18:53:46 35800 20

原创 java集成paypal支付,含Android,服务端代码

支付流程 1. 前端选择商品,调用paypal支付 2. 支付完成,paypal会返回payment信息,将payment的id返回给自己服务端 3. 服务端根据paymentId,调paypal,查询支付是否完成准备前往https://www.paypal.com/注册商家账号前往https://developer.paypal.com/,使用刚注册的商家账号登录点

2017-09-05 14:56:39 6157 10

原创 一看就懂,易学就会的Raft解析

说明:本文节选自清华大学出版社出版的《深入理解分布式共识算法》,略有修改。粉丝福利,京东5折购买链接:https://item.jd.com/13677957.html,2023年4月5日前有效。点击原文立即参与全文导读Raft是一个强Leader的算法,我们可以根据Leader的状态来划分Raft的执行阶段。本文从以下三个方面行文。Leader选举,集群中没有Leader,该阶段将选举出日志最完...

2023-03-30 08:05:33 228

原创 Raft成员变更的bug,你知道吗?

单个成员变更联合共识依赖两个阶段来实现成员变更算法,在工程实现中却有难度。于是有研究者 发现了一个更加简单的方案,即不允许一次变更多个成员,而是一次只能从集群中添加或 删除一个成员,称为单个成员变更(Single-Server Changes)。在这个限制条件下,我们可 以使用 Raft Log 的形式,在日志协商阶段使新的成员配置在集群中得以应用,无须引入额 外的机制。联合共识之所以分为两个阶段...

2023-03-29 08:08:16 536

原创 Raft集群如何实现动态成员变更?你知道吗?

成员变更Raft 之所以受欢迎的一个重要因素是,它是面向生产而设计的,切实地解决了行业内 的痛点。Raft 并非只关注其算法的协商过程,对于成员变更也给出了规范的实现方法,而 这正是应用于生产所必需的。成员变更这一规范后来也被应用于其他共识算法中。Raft 的 Leader 选举和事务协商都源于多数派思想,而多数派是相对于一个固定集合来说的,只有在固定集合中,多数派的数量才是恒定的。但是在实际场景...

2023-03-27 08:03:24 553

原创 Nohup后台启动,服务自动停止

java -jar 启动没问题nohub java -jar就有问题

2023-01-30 19:30:59 683

原创 结合NWR,让Paxos拥有的动态的Quorum,以及在Klein中的实践

Paxos Quorum面临的困境在原生的Basic-Paxos或者Multi-Paxos中,Quorum的数量要求的是多数派,例如:一个5成员组成的Paxos集群,Prepare和Accept阶段需要获得3个Acceptor的支持。Quorum=3的条件,在原生的Paxos中是硬性条件,在一些场景中,我们需要对提案的收敛更快,也就是希望提案能尽快的达成共识,那么我们希望尽可能的减少Quorum要...

2023-01-12 17:30:26 324

原创 Raft 中日志的一致性检查貌似会导致日志复制的串行化,这个在实际工程实践中有什么优化方案?

这个问题也太好了,涉及到Paxos和Raft的原理以及优化。先肯定题主的理解,是正确的。Raft的一致性检查,是Follower接受某个日志项的条件,也确实是控制Raft串行协商的关键之处。Paxos是争取某个key的写入权限(prepare阶段),也确实支持并发写。既然这里是为了证明Paxos的并行协商不一定优于Raft的串行协商,所以这里不讨论采用串行协商带来的坏处,和并行协商的好处,另外这些...

2022-11-22 08:01:14 294

原创 Raft 中日志的一致性检查貌似会导致日志复制的串行化,这个在实际工程实践中有什么优化方案?...

这个问题也太好了,涉及到Paxos和Raft的原理以及优化。先肯定题主的理解,是正确的。Raft的一致性检查,是Follower接受某个日志项的条件,也确实是控制Raft串行协商的关键之处。Paxos是争取某个key的写入权限(prepare阶段),也确实支持并发写。既然这里是为了证明Paxos的并行协商不一定优于Raft的串行协商,所以这里不讨论采用串行协商带来的坏处,和并行协商的好处,另外这些...

2022-11-22 08:01:14 171

原创 如何设计一个基于Paxos的KV存储系统

1978年5月11日,《光明日报》发表本报特约评论员文章《实践是检验真理的唯一标准》,由此引发了一场关于真理标准问题的大讨论。在各个平台,以并发笔记的ID分享过很多关于共识算法的内容了,所以接下来我准备分享Paxos的实战内容,如何基于Paxos设计一个分布式系统。当然,这篇文章最主要的目的是:希望有更多感兴趣的小伙伴参与到这个项目来,我们可以一起讨论如何优化Paxos。Klein介绍1. 介绍K...

2022-11-10 08:01:52 272

原创 Paxos算法和Raft算法之间的联系是什么?优势在哪?

以下内容选自《深入理解分布式共识算法》一书,本书尚处于出版阶段,预计12月底出版,敬请关注。两者相同之处:(1) 都是共识算法,引用场景以及所解决的问题是一致的。(2) 两者都采用“多数派”决策的思想进行协商。(3) 两者都能友好的支持容错。两者不同之处:(1) Raft引入强Leader模型,规避了Basic Paxos的活锁的问题,Multi Paxos也仅仅降低了活锁的概率。(2) 可用性,...

2022-10-19 08:01:55 272

原创 paxos选举出一个leader解决活锁,可是如果在存在leader为什么要使用paxos?

解答题主的疑惑,需要先了解引入Leader的推导过程(即multi-paxos的推导过程),跟题主明确两个概念,basic-paxos(存在活锁)、multi-paxos(引入Leader)。推导过程我们知道basic-paxos存在活锁,并且需要两个阶段才能达成共识。因为这两个局限,我们推导出multi-paxos。活锁(引入Leader)活锁导致原因是因为,存在多个proposer发起提案,导...

2022-10-09 18:05:32 336

原创 ZooKeeper如何保证事务原子性?

先解答疑惑,题主对ZAB理解是正确的。为了便于描述,本文将事务理解为具有ACID的一组操作,一个ZooKeeper请求(例如:create)称之为提案。ZAB协议是共识算法的一种,共识算法仅能保证单个提案在集群中达成共识,如果是多个提案要保证事务的话,需要在上层再做一次封装。ZAB被称为原子广播协议,也是做了这一层封装,即:multi命令。multi命令让多个提案,要么同时成功,要么同时失败,所以...

2022-09-07 08:01:52 790

原创 Paxos 为什么可以保证整体一致性?

微信公众号:并发笔记关注可了解更多的共识算法相关内容。如有问题或建议,请公众号留言;要回答这个问题,先要了解以下几个问题共识和一致性有什么区别?怎么理解多数派?为什么只需要多数派支持,就算达成共识?Paxos如何处理读请求?纠正题目中的歧义。共识和一致性有什么区别?Paxos是一个Consensus Algorithm。国内很多文章将Consensus翻译为“一致性”,从中文理解上没有什么问题,口...

2022-08-23 08:01:01 221

原创 为什么ZooKeeper需要安装而Eureka不需要安装(只需要引入依赖)?

这的确是个好问题,我认真思考了下,有以下几个原因:本回答涉及到CAP,如未了解,请先阅读:全网对CAP最深层的思考ZooKeeper不仅仅是一个注册中心以下介绍取自ZooKeeper官网:zookeeper.apache.org/ZooKeeper is a centralized service for maintaining configuration information, naming,...

2022-08-22 07:45:45 770

原创 分桶策略清理SpringCache中的缓存

背景介绍我们使用SpringCache框架 + Redis来实现项目中的缓存实现,它能实现自动对数据缓存,也可以自动清理过期的缓存。大多数情况下,它都运行非常好。这是因为我们需要缓存的数据,通常都是可序列化的,但是我们迟早会遇到不可序列化的对象。那么我们只能选择SpringCache中的ConcurrentMapCache才能缓存这些不可序列化的对象,但是Concurre...

2022-06-06 08:29:46 973 3

原创 手写dubbo 12-基于tomcat实现RPC(番外篇)

博客中代码地址:https://github.com/farliu/farpc.gitdubbo结构直至上一章,手写dubbo全部介绍完了,这一章作为番外篇,了解如何使用...

2021-01-13 08:03:54 257

原创 分布式一致性协议 - EPaxos

总结epaxos作为paxos族中的一员,并不是单独存在的。所以我在文中开篇给出总结,罗列与basic-paxos、mutli-paxos之间的区别。带着目的学习,可能相对容易理解一些。...

2021-01-08 08:25:00 613

原创 分布式一致性协议 - Gossip

前面我们讲过CAP定理、Paxos、Raft,那么试想几个场景:•我们要实现一个完全的AP系统。即集群中只有一个节点存活,也能向外提供服务。在此基础上,我们如何保证数据最终一致性?•在一...

2020-12-01 08:26:00 1114

原创 手写dubbo 11-动态代理的应用

博客中代码地址:https://github.com/farliu/farpc.git上一章我们了解了dubbo最核心的一块,就是数据传输和调用,我们知道真正调用的原理。...

2020-11-23 08:28:00 104

原创 分布式一致性协议 - CAP、BASE、NWR

这篇文章着重点不在于科普,毕竟关于CAP、BASE的理论的文章,网上很多。所以本文科普篇幅尽量小(只包含概念描述)。主要从几个侧面的问题来描述CAP,进而描述ACID、BASE理念。然后...

2020-11-17 08:25:00 726

原创 分布式一致性协议 - Raft

学习raft之前,给大家推荐一个网站,这个网站动画描述raft运行过程。在看文章时对照该网站,可以帮助更好的理解raft。http://thesecretlivesofdata.com/...

2020-11-09 08:27:00 210

原创 位运算-linux权限管理及应用

Linux基于位运算的权限控制Linux权限控制是基于位运算实现的。在Linux权限系统中,读、写、执行权限分别对应三个状态位:读写执行==>二进制==>十进制001==&g...

2020-11-02 08:27:00 216

原创 手写dubbo 10-基于netty实现RPC

博客中代码地址:https://github.com/farliu/farpc.git本文实现的是远程调用,也就是图片中的第4步,dubbo作为一款RPC框架,这是它的核...

2020-10-28 08:25:00 1262

原创 分布式一致性协议 - ZAB

ZAB 背景学习ZAB,非常有必要聊聊它诞生的背景。因为在paxos的光芒下,还有必要折腾这样类似的算法吗?这个问题是我们初步了解ZAB关键。看到这里,我断定大家都使用过zookeepe...

2020-10-27 08:26:00 664

原创 分布式一致性协议 - Paxos

paxos 科普分布式算法,不得不提paxos。它是目前公认的解决分布式共识问题最有效的算法之一,甚至可以说过去几十年里一切分布式一致性算法都来源于它。那么要学习paxos,我们首先得认...

2020-10-24 13:49:23 468 1

原创 分布式一致性协议 - 2PC, 3PC

在分布式系统中,每一个机器节点虽然都能明确的知道自己在事务操作中的结果是成功或失败,但无法直接获取其他节点的操作结果。因此在分布式环境中,为了保持事务的ACID特性,就需要增加一个“协调...

2020-10-23 08:25:00 181

原创 手写dubbo框架9-SPI实现

博客中代码地址:https://github.com/farliu/farpc.git项目结构介绍本节涉及博客中代码的三个module,farpc-registry(服务...

2020-10-22 08:35:00 205

原创 手写dubbo框架8-SPI 自适应扩展机制

博客中代码地址:https://github.com/farliu/farpc.git本章讲解自适应扩展机制,单独将这一块拿出来,是因为这段代码逻辑复杂,处理分支较多。如...

2020-10-21 08:25:00 168

原创 手写dubbo框架7-SPI(dubbo和jdk的区别)

博客中代码地址:https://github.com/farliu/farpc.git这章继续了解SPI,上一章我们列举了dubbo选择SPI的背景和SPI的简单使用。不...

2020-10-20 20:55:20 156

原创 手写dubbo框架6-SPI(预热篇)

博客中代码地址:https://github.com/farliu/farpc.git本章不讲述其他SPI博文所说的细节,SPI博文实在太多了。但你可以在本章了解到SPI...

2019-08-05 08:32:00 151

原创 手写dubbo 5-服务治理(redis番外篇)

博客中代码地址:https://github.com/farliu/farpc.git 在上两章中,我们基于zookeeper实现了dubbo的注册中心。本章是作为服务治理的...

2019-07-15 08:32:00 99

原创 手写dubbo 4-服务治理(服务发现-zookeeper)

    博客中代码地址:https://github.com/farliu/farpc.git    本文实现的是服务的发现,也就是图片中的第2,3步,经过上一章的服务注册,对于服务发现我们只需要从zookeeper中取得对应的provider就行了。项目结构介绍   &nbsp...

2019-07-14 16:13:55 437 4

原创 手写dubbo 3-服务治理(服务注册-zookeeper)

    博客中代码地址:https://github.com/farliu/farpc.git    在前两章,铺垫的已经够多了,本章我们来看看具体如何基于zookeeper实现服务注册,show you my code.项目结构介绍    本节涉及博客中代码的modu...

2019-07-14 16:12:32 315

原创 手写dubbo 2-服务治理(zookeeper探讨)

    博客中代码地址:https://github.com/farliu/farpc.git    开始进入主题,本文主要介绍的是服务的注册和发现,也就是图片中的第1,2,3步,既然要实现服务治理,那么我们需要一个统一管理服务东西,也就是注册中心。我们需要选择的注册中心是zookeeper。 &nbs...

2019-07-14 16:10:58 187

usql 安卓版,数据库客户端

已支持,mysql,mssql,sqlite,数据库 本地集成mysql服务,可随时直接操作练习mysql -- APP主题可以根据手机壳变化而变化哦~~~~~ -- 修改单个单元格数据过长越界问题 -- 优化表格生成效率 -- 添加博客地址 -- 将持续更新,sql反模式系列博客 -- 后端技术文章 -- 以及个人采坑日记

2020-09-08

银联支付接口参数V2.2

由于银联到处都是map传参,实在是难以忍受,找客服要的各参数文档,不能设免费,没有币的,在博客上说,会及时回复

2017-12-06

RSASignature

普通的RSASignature,Base64,可以用你们自己封装的。这个没什么不同,只是为了有需要的人

2017-09-22

空空如也

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

TA关注的人

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