Netflix宣布停止开发Hystrix,建议使用Resilience4j,Resilience4j到底是什么鬼? 1. resilience4j实际上Resilience4j的灵感来自于Hystrix,同样是轻量级的分布式容错...
session 是啥?浏览器有个 cookie,在一段时间内这个 cookie 都存在,然后每次发请求过来都带上一个特殊的 jsessionid cookie,就根据这个东西,在服务端可以维护一个对应的 session 域,里面可以放...
分布式事务方案分布式事务的实现主要有以下 5 种方案: XA 方案 TCC 方案 本地消息表 可靠消息最终一致性方案 最大努力通知方案 1. 提交方案/XA方案所谓的 XA 方案,即:两阶段提交,有一个事务管理器的概念,...
1. redis 分布式锁官方叫做 RedLock 算法,是 redis 官方支持的分布式锁算法。 这个分布式锁有 3 个重要的考量点: 互斥(只能有一个客户端获取锁) 不能死锁 容错(只要大部分 redis 节点创建了这把锁就可以...
说实话,es 性能优化是没有什么银弹的,啥意思呢?就是不要期待着随手调一个参数,就可以万能的应对所有的性能慢的场景。也许有的场景是你换个参数,或者调整一下语法,就可以搞定,但是绝对不是所有场景都可以这样。 1. 性能优化的杀手锏——f...
如何实现 MySQL 的读写分离?其实很简单,就是基于主从复制架构,简单来说,就搞一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去。 MySQL 主从复制原理的是啥?主库将变更写入 binlog 日...
为什么要分库分表?说白了,分库分表是两回事儿,大家可别搞混了,可能是光分库不分表,也可能是光分表不分库,都有可能。 我先给大家抛出来一个场景。 假如我们现在是一个小创业公司(或者是一个 BAT 公司刚兴起的一个新部门),现在注册用户就...
消息队列有什么优缺点优点就是在特殊场景下有其对应的好处,解耦、异步、削峰。 缺点有以下几个: 系统可用性降低系统引入的外部依赖越多,越容易挂掉。本来你就是 A 系统调用 BCD 三个系统的接口就好了,人 ABCD 四个系统好好的,没...
redis 和 memcached 有啥区别?redis 支持复杂的数据结构redis 相比 memcached 来说,拥有更多的数据结构,能支持更丰富的数据操作。如果需要缓存能够支持更复杂的结构和操作, redis 会是不错的选择。...
为什么要将系统进行拆分?网上查查,答案极度零散和复杂,很琐碎,原因一大坨。但是我这里给大家直观的感受: 要是不拆分,一个大系统几十万行代码,20 个人维护一份代码,简直是悲剧啊。代码经常改着改着就冲突了,各种代码冲突和合并要处理,非常...