
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
微服务兴起的这几年涌现出不少分布式事务框架,比如ByteTCC、TCC-transaction、EasyTransaction以及最近很火爆的Seata。最近刚看了Seata的源码(v0.5.2),借机记录一下自己对分布式事务的一些理解。(3年前这类框架还没成熟,因项目需要自己也写过一个柔性事务框架)。本文分五部分,首先明确分布式事务概念的演变,然后简单说下为什么大家不用XA,第三部分阐述两阶段提
从分布式一致性到共识机制(一)Paxos算法从分布式系统的CAP理论出发,关注分布式一致性,以及区块链的共识问题及解决。区块链首先是一个大规模分布式系统,共识问题本质就是分布式系统的一致性问题,但是又有很大的不同。工程开发中,认为系统中存在故障(fault),但不存在恶意(corrupt)节点,而区块链,特别是公开链是落地到物理世界中,涉及到人性和利益关系,不可避免的存在信任以及恶意攻击...
redission分布式限流采用令牌桶思想和固定时间窗口,trySetRate方法设置桶的大小,利用redis key过期机制达到时间窗口目的,控制固定时间窗口内允许通过的请求量。
Java代码实现的计算难免会显得不够高效。而利用MATLAB写好相应的计算函数,然后打包成jar包供Java调用,在某些情况下会更加方便。或者有些时候会涉及到使用Java调用MatLab展现一些二维三维图。因此用到Java调用MatLab。我的需求是要在获取一维曲线任一点的插值,计划在服务端调用matlab function获取返回值。文章分为两部分:一、生成文件,本机调用成功二、在服务器搭建运行
一、反向代理:Web服务器的“经纪人”1.1 反向代理初印象反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。从上图可以看出:反向代理服务器位于网站机房,...
redission分布式限流采用令牌桶思想和固定时间窗口,trySetRate方法设置桶的大小,利用redis key过期机制达到时间窗口目的,控制固定时间窗口内允许通过的请求量。
1,背景随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键垂直应用架构当访问量逐渐增大,单一应用增加机器带
一、更加直观的Raft算法Raft 适用于一个管理日志一致性的协议,相比于 Paxos 协议 Raft 更易于理解和去实现它。为了提高理解性,Raft 将一致性算法分为了几个部分,包括领导选取(leader selection)、日志复制(log replication)、安全(safety),并且使用了更强的一致性来减少了必须需要考虑的状态。1.解决什么问题分布式存储系统通常通过维...
5.0 柔性事务:最大努力通知2018-02-05 02:51:055,9560最大努力通知型( Best-effort delivery)是最简单的一种柔性事务,适用于一些最终一致性时间敏感度低的业务,且被动方处理结果 不影响主动方的处理结果。典型的使用场景:如银行通知、商户通知等。最大努力通知型的实现方案,一般符合以下特点:1、不可靠消息:业务活动主动方,...
在现代软件工程领域,有五种常见的部署策略:大爆炸、滚动、蓝绿、金丝雀和功能切换。大爆炸(Big Bang)部署:这种部署策略是将整个软件系统在一个短时间内全部部署到生产环境中。它通常用于小型项目或者新项目的首次部署。虽然这种部署策略简单快速,但风险较大,因为如果出现问题,整个系统可能会受到影响。滚动(Rolling)部署:滚动部署是逐步将新版本的软件部署到生产环境中,同时保留旧版本的部分或全部功能








