
分布式
kobexzf
这个作者很懒,什么都没留下…
展开
-
证书-ssl
PKI: public key infrastructure ,CA: certificate authority,即发证机构,含多层结构,CA的证书可用于验证CA颁发的证书的有效性。ssl单向认证和双向认证:单向-服务端有证书,双向-客户端服务端都有证书,如https多为单向,根据是否要验证对方的证书最多能涉及到四个证书。证书:公钥, 持有者信息,有效期,签发者(上级CA)信息,原始数据,hash函数,签名(原始-hash-上级CA私钥加密)等。自签名证书:非受信CA颁发的证书,比如咱们企业颁发的证书。.原创 2022-08-26 13:51:23 · 651 阅读 · 0 评论 -
面试问题大全
1 分词器中文词表如何组织?字典树(第一层通过字的编码找到位置,后面层数量少二分或顺序)2 polygon查找 (0123对不规则多边形编码)3 redis6.0 单线程-多线程(读写和协议解码多线程,命令执行依然单线程,避免并发控制)4 redis脑裂(多master导致数据不一致,停止master写入,min-slave和timeout控制)5 tddl-自增id 一次获取1000个,应用层内部分配6 tddl- (phone,userId)查找userId,(userId,userInfo)原创 2020-11-01 16:57:38 · 104 阅读 · 0 评论 -
一致性hash
均衡性问题加入新节点必定导致部分缓存数据失效(无法命中),这部分访问会落到新节点(重新加载数据),但新节点承担了原来某节点一半工作,导致这两个节点负载为其他节点一半,为缓解这种不均衡现象,虚拟节点(一个缓存服务器占用几个虚拟节点),这样新加缓存服务器会减少各其它服务器压力。解决分布式缓存的问题。在移除或者添加一个服务器时,能够尽可能小地改变已存在的服务请求与处理请求服务器之间的映射关系。即普通hash,&或取模,映射关系大量改变,而一致性hash只影响单个节点。...原创 2022-07-25 17:17:28 · 125 阅读 · 0 评论 -
服务的发展演变
serverless无服务器架构,基于云原生(云原生的高级版本),一般云原生虽然弹性好,扩缩容方便,但我们仍需要关注服务器的使用情况,而serverless无需关注服务器,按照流量自动扩缩容(tpp),faas(函数)相对轻量,更适合serverless,baas(后端应用)相对重量,适合性稍微差点,即serverless很明显就是随着流量不断快速的扩缩容,一个很重启动很慢的东西显然没那么适合。...原创 2022-07-24 22:51:48 · 271 阅读 · 0 评论 -
限流算法说明
3漏桶请求来先缓存在桶内,桶有大小,请求来太多超过桶大小丢弃,以固定速率放行请求(桶有个固定大小的漏洞)注意漏桶-平滑突发流量,用于自己作为调用方保护被调用方,令牌桶-应对突发流量,自己作为被调用方应对突发流量。4令牌桶桶里有令牌,桶按固定速率生成令牌,令牌数量不可超过桶容量,请求来能获取到令牌即可同行,否则限流。1固定窗口若上一个窗口的尾部和下一个窗口的头部都存在大量请求,限流没达到效果。上面算法中,漏桶是唯一支持能缓存请求,排队等待的,其余都直接拒绝。...原创 2022-07-22 00:52:33 · 83 阅读 · 0 评论 -
分布式事务
此规范定义了TM,RM,AP,定义了它们之间交互的接口规范,大部分RDBMS如mysql都实现了XA规范,可作为RM使用实现具体交互细节在2pc3pc协议中体现2pcprepare/commit,未收到commit一直等(资源独占的性能问题,阻塞,不一致,单点)3pccanCommit/preCommit/doCommit,多了询问和参与者超时机制,第三阶段参与者超时未收到commit/abort直接提交,解决了2pc的诸多问题3pc是不是还有不一致问题?...原创 2022-07-21 23:34:49 · 156 阅读 · 0 评论 -
秒杀系统设计
3mq限流秒杀成功(抢到了redis内库存)后异步将流量转向其他系统(成功后的流量没那么大,但对于其他系统来说可能也扛不住),接到秒杀请求完成基本校验转异步(即抢库存操作竞争就不会太激烈)2动态生成下单页面url避免用户直接访问或在活动开始前访问下单页面,下单页面url可加随机数,活动开始后服务端生成。2后端限流sentinel等做好系统限流保护,直接失败用户重试可能加剧流量,排队等待放内存里逐渐处理。2lua脚本保证原子性,避免超卖判断库存大于0,然后减1,并发时出现减为负数。......原创 2022-07-21 16:35:55 · 126 阅读 · 0 评论 -
CAP-常见系统分析
一致性:分布式系统,同步存在延迟,各节点的数据一定是不一样的读一致性:两次读取数据一致写一致性/读写一致性:写成功本身可以看成一个读操作,写完能看到,类似于两次读取结果一致多客户端,多节点将整个问题复杂化了客户端视角的读一致性:单个客户端两次读取(可能不同节点)一致,全局视角的读一致性:不同客户端同时两次读取一致客户端视角的写一致性:单个客户端写完自己能读,全局视角的写一致性:某客户端写完所有客户端都能读取到kafka:acks=-1(all)+同步发送 保证全局写一致,只能看到同步过的数据(h原创 2022-04-22 22:03:12 · 339 阅读 · 0 评论 -
分布式常见问题
分布式id:1 mysql自增字段或序列:可通过步长增加性能,如一次取1000,这1000客户端内存中分配2 uuid3 snowflake:64位的long,0 (1位)+ timestamp (41位)+ machine id (10位) + seq no (12位,支持每个节点每毫秒产生4096个序列号)缺点:没有全局时钟(即B比A生成更晚,但B的时钟更早,生成的小),系统时间回拨可能会产生重复id...原创 2022-04-21 20:33:04 · 137 阅读 · 0 评论 -
redis,db,mq一致性
redis和dbupdate: 删除Redis --> 更新DB --> 下次查询同步更新Redis。删除Redis失败不会更新db2、复杂情况:删Redis成功,但在update未提交的情况下,进来一个查询请求,将DB旧值更新到了Redis中。解决办法:异步读写请求队列。删Redis成功后,update请求入队列,读请求入队列,update未提交前,读请求被阻塞。当upd......原创 2019-09-10 15:12:56 · 1413 阅读 · 0 评论 -
架构整理说明
CDN:内容分发网络,一部分请求由运营商处理(访问静态资源)DNS返回CNAME记录(别名),再对别名进行DNS获取到CDN缓存服务器的ip,CDN服务器若没有资源,CDN服务器会使用内部专用DNS访问实际服务器再本地缓存。(正向)代理:客户端配置下,出门都用某个ip反向代理:类似网站的gateway,进行负载均衡,缓存资源,安全等功能。缓存穿透:老是访问某个不存在数据,访问落在数据库上,.........原创 2019-04-16 21:01:08 · 289 阅读 · 0 评论 -
CAP
C 一致性 多个副本同一时刻数据一致,相同A 可用性 部分节点故障,整个系统可用,可响应P 分区容错性(Partition Tolerance) 必须满足 分区即子网络,如中国和美国,一台服务器放在中国,另一台服务器放在美国,这就是两个区,它们之间可能无法通信。我们系统要在这种分区无法通信下依然正常C A 选择如果保证 G2 的一致性,那么 G1 必须在写操作时,锁定 G2 的读操作和写...原创 2018-11-23 18:57:13 · 131 阅读 · 0 评论