mq的作用主要是用来解耦,削峰,异步, 增加MQ,系统的复杂性也会增加很多, 也会带来其他的问题,比如MQ挂了怎么办,怎么保持数据的幂等性 幂等性问题通俗点讲就是保证数据不被重复消费,同时数据也不能少, 也就是数据一致性问题。 下面是MQ丢失的3种情况 1,生产者发送消息至MQ的数据丢失 解决方法: ...
分类:
其他好文 时间:
2020-08-04 14:12:11
阅读次数:
86
什么样的HTTP方法是安全的? 如果一个方法不会改变资源的表述,那么这个方法就被认为是安全的。 例如 HTTP GET 和 HTTP HEAD 就被认为是安全的,但需要注意的是,这并不意味着执行GET请求就不会引起其它的资源操作,在表面之下,你的服务层有可能会对其它相关的一些表的数据做出修改,但是本 ...
1.同步锁(单线程,集群可能会失效) 2.分布式锁如redis(实现复杂) 2.业务字段加唯一约束(简单) 3.令牌表+唯一约束(简单推荐) 4.mysql的insert ignore或者on duplicate key update(简单) 5.共享锁+普通索引(简单) 6.利用MQ或者Redis ...
分类:
其他好文 时间:
2020-07-23 22:59:17
阅读次数:
97
MQ主要流程 解耦,异步,消峰 其中目的地主要为队列或者主题 队列点对点 消息的生产者 或者 这时消息的生产者名字已经出来 并且入队的数量变成了3 上述完成的也就是这部分 消息的消费者 前四步大同小异 这里需要和消息发送者的类型一致,所以需要强转一下 其中等待接收可以设置为一直等或者设置时长 最后再 ...
分类:
其他好文 时间:
2020-07-06 12:33:08
阅读次数:
64
面试官心理分析 面试官问了你一堆 dubbo 是怎么玩儿的,你会玩儿 dubbo 就可以把单块系统弄成分布式系统,然后分布式之后接踵而来的就是一堆问题,最大的问题就是分布式事务、接口幂等性、分布式锁,还有最后一个就是分布式 session。 当然了,分布式系统中的问题何止这么一点,非常之多,复杂度很 ...
分类:
其他好文 时间:
2020-07-05 13:18:21
阅读次数:
69
在RocketMQ 重复消费问题 | 订单系统核心流程引入幂等性机制一文中,我们讨论了消息重复消费的问题,比较好的方案是采用在消费侧使用业务判断法来保证接口的幂等性,这样就能避免消息重复消费的问题。 今天要讨论的是消费者代码执行过程中出现异常,我们应该如何处理? 手动提交 offset 首先来看一段 ...
分类:
其他好文 时间:
2020-06-27 16:08:14
阅读次数:
471
使用spring拦截器,注解,redis实现。 前端请求表单设置id=token的隐藏(hedden)输入框,使用ajax请求时先获取token输入框的值, 若值为空表示首次提交,先请求获取服务器token的接口(后端服务器将token值加入redis缓存,设置过期时间15min), 返回后为隐藏域 ...
分类:
其他好文 时间:
2020-06-20 13:10:08
阅读次数:
92
经过: 今天去面试了,面试官问我库存做扣减的时候,如何确保幂等性,说实话当时我有点大脑空白,虽然以前也看过幂等性相关的知识,但是不知怎的,竟然词穷了。废话说完了,开始正题。 什么是幂等性 百度了一下,幂等性是用户对同一个操作执行一次和执行多次的结果是一样的;对于数据库的幂等性来说,查询和删除操作是幂 ...
分类:
其他好文 时间:
2020-06-03 23:29:52
阅读次数:
97
什么是幂等性 幂等性是系统服务对外一种承诺,承诺只要调用接口成功,外部多次调用对系统的影响是一致的。声明为幂等的服务会认为外部调用失败是常态,并且失败之后必然会有重试。 什么情况下需要幂等 接口调用下存在的问题: 现如今我们的系统大多拆分为分布式SOA,或者微服务,一套系统中包含了多个子系统服务,而 ...
分类:
其他好文 时间:
2020-05-25 22:11:43
阅读次数:
82