自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Synchronized 优化(自带的)

大多数情况下,虽然你加了锁,但是大部分时间,加锁的代码只有一个线程执行,没有竞争。Synchronized 优化。为了优化该情景,有了偏向锁。

2023-12-09 10:08:49 38

原创 Rocket MQ 结构与原理以及常见面试题

比如说,这个时候我们有一个订单的处理积分的系统,每当来一个消息的时候它就负责为创建这个订单的用户的积分加上相应的数值。下的队列来保证顺序性的。如果此时我们主节点A负责的是订单A的一系列语义消息,然后它挂了,这样其他节点是无法代替主节点A的,如果我们任意节点都可以存入任何消息,那就没有顺序性可言了。,你要知道你的消息消费是否是完全不可重复消费还是可以忍受重复消费的,然后再选择强校验和弱校验的方式。而在整个互联网领域,幂等不仅仅适用于消息队列的重复消费问题,这些实现幂等的方法,也同样适用于,

2023-12-09 10:05:03 73

原创 Redis击穿,穿透,雪崩和解决方案

限流组件,可以设置每秒的请求,有多少能通过组件,剩余的未通过的请求,怎么办?将缓存失效时间分散开,比如每个key的过期时间是随机,防止同一时间大量数据过期现象发生,这样不会出现同一时间全部请求都落在数据库层,如果缓存数据库是分布式部署,将热点数据均匀分布在不同Redis和数据库中,有效分担压力,别一个人扛。缓存击穿,就是说某个 key 非常热点,访问非常频繁,处于集中式高并发访问的情况,当这个 key 在失效的瞬间,大量的请求就击穿了缓存,直接请求数据库,就像是在一道屏障上凿开了一个洞。

2023-12-04 00:34:23 225

原创 ​​​​Seata 简明架构与模式

本地事务提交前,先拿到该记录的 全局锁 ,本地提交释放本地锁。本地事务提交前,尝试拿该记录的 全局锁 ,tx1 全局提交前,该记录的全局锁被 tx1 持有,tx2 需要重试等待 全局锁。微服务中,无法通过简单锁的方式完成ACID,即便使用redis分布式锁,在多个服务中,AB成功,C失败,此时AB回退也需要自行判断写完。这还是在两个事务都是seata管理下产生的,如果事务2不是seata管理的,那么问题会不可挽回,seata虽然可以判断这个数据被改过,但他无法回滚,也无法继续,只能警告人工介入。

2023-12-04 00:32:12 38

原创 每个人都要会的支付方案

这里几个风险点: 一个是支付方要求的Https证书类型,一个是像是Airwallex之类的支付接入会有考察,包括线下考察, 技术上反而没有什么很多的风险点,注意状态和数据还有保留痕迹(log)就好,支付方已经做了最大的风险方面把控。支付单支付生成中,需要支付单生成,优惠券扣减,库存扣减同步发生。在支付和订单的服务中,最好穿插MQ,也就是用户支付后,回调消息发送给支付服务,支付服务mq中发给订单服务。用户选择支付方式后生成支付单或拿到最近支付单(注意分布式锁,并且支付单绑定订单号,防止多次支付)

2023-12-03 14:33:04 29 1

原创 每个人都要会的后端分布式鉴权方案

储存的意义在于,后续访问的时候可以直接通过用户token获取对应jwt,这样不用访问auth服务,减少io。2. 如果该请求未携带token【无token该请求必须是登录,其他请求一定带token,可以在gateway中配置判断】,gateway先请求auth鉴权服务,然后auth根据用户名密码,返回用户的role角色和permission权限。5. 后续微服务返回前端的时候,请不要带上jwt,应该放回auth返回的token,auth应该储存token和jwt对应关系,大多数情况应该储存在redis中。

2023-12-03 14:29:38 175 1

原创 部门树问题

此时,如果判断某节点A是否可移动到节点B,只需要判断节点B的层数(可以通过路径得知)+ 节点A最深子节点的深度(可以通过数据库查询与节点A路径匹配的子节点,并循环得到最大深度)。这个方案问题在于,移动以后,节点A原本的所有父节点,他的层级关系改变了,也就是所有他的父节点最深深度变了,那么就不得不维护从根节点开始,整个树的所有节点的子节点最大深度。也就是说,其实并未解决此题,但是把限制一的深度限制去掉,即可简单实现该需求,是否又更好的方法,期待留言。某节点10, 则存储路径为 1,2,5,6,10。

2023-12-03 14:27:13 62 1

原创 hadoop 和spark的基准测试(1)

Hadoop 2.8.0 基准测试1.查看jar包命令2.建立乱序100M数据3.排序4.删除文件  1.执行:hadoop jar../share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.8.0-tests.jar结果: Anexample program must be given a

2017-08-22 18:56:22 1497

原创 hadoop+spark的安装 配置 新手

步骤1:(准备工作)         首先需要两台(其实更多更好)安装好Centos7 的机器:         安装java (没有选择yuminstall default-jdk 因为我安装完后发现他没有jps  所以我去sun官网下下了个1.8.0) 然后解压安装 到/usr/java/jdk/          然后安装ssh 如果没有安装的话         yum–

2017-08-22 18:53:10 737

原创 平衡二叉树之AVL树(一)

一个咸鱼的SVL平衡树

2016-11-12 18:35:03 432

原创 第一次的数电作业-----数据选择,代码转换,译码

数电第一次作业

2016-10-07 17:28:30 3750 3

原创 从汉诺塔到八皇后问题

关于8皇后问题和汉诺塔问题

2016-10-06 16:24:32 1115

转载 JAVA 有关时间

JAVA 关于时间的类如何使用

2016-10-06 12:54:52 243

PyOpenGL-3.1.6-cp39-cp39-win-amd64.whl

lfd.uci.edu 同源, PyOpenGL

2023-08-15

空空如也

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

TA关注的人

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