架构之美
njyuxinag
这个作者很懒,什么都没留下…
展开
-
高并发服务性能优化
一、性能优化手段1.空间换时间特点:系统时间是瓶颈如:缓存复用计算结果,降低时间开销,因为CPU时间较内存容量更加昂贵。2.时间换空间特点:数据大小是瓶颈如:网络传输是瓶颈使用系统时间换取传输的空间,使用http的gzip压缩算法如:App的请求分类接口,使用版本号判断哪些数据更新,只下载更新的数据。3.找到系统瓶颈3.1.分析系统业务流程,找到关键路径...原创 2019-08-03 22:02:50 · 283 阅读 · 0 评论 -
电商秒杀系统
1.电商秒杀系统特点:1.1.大量并发,在某一时间99%的用户涌入1.2.有效请求数很低,可以认为有效请求数和库存数一致,可能99%以上的流量都是无效的1.3.库存数据的一致性要求严格,不能超卖2.秒杀系统架构思路2.1.数据分层次校验,上层尽量把无效请求过滤2.2.上层可以是不精确的过滤2.3.层层限流,最后一层做数据一致性校验,扣减库存3.秒杀系统架构设计3...原创 2019-08-03 22:36:24 · 195 阅读 · 0 评论 -
幂等设计
1.请求的幂等(请求重试)定义:一个请求执行一次,读请求不需要做幂等,写请求需要,因为写请求可能对数据发生改变,原则:谁对数据发生改变就需要做幂等。如:一个写请求网关层发到业务逻辑层1上进行写数据,但由于写操作比较慢,返回网关状态是写超时,但实际上是写入成功的。由于网关得到的是写超时,会将该写请求重先转发给业务逻辑层2上进行再次写操作,这时就会发生重复写,会造成数据的错乱,所以这种场景就需...原创 2019-08-04 18:11:43 · 107 阅读 · 0 评论 -
分布式锁设计
1.分布式锁定义:分布式环境下,锁定全局唯一资源, 请求处理串行化,实际表现互斥锁2.分布式锁目的2.1.交易订单锁定防止重复下单解决业务层幂等问题2.2.MQ消息消费幂等性发送消息重复消息消费端去重比如手机提现2.3.在用户对商品下单后,订单状态为待支付,在某一时刻用户正在对该订单做支付操作,商家对该订单进行改价操作状态的修改行为需要做串行处理,...原创 2019-08-05 00:01:15 · 213 阅读 · 0 评论 -
分布式事务
1.数据不一致性产生原因1.1.数据分散在多处: 多个DB; DB和缓存 案例:二手交易平台案例:用户、商品、交易等功能 电商平台购买商品:下单(订单库)-》减库存(商品库)-》支付(交易库)2.分布式事务分类2.1.刚性分布式事务 强一致性 XA模型 ->ACID CAP -> CP2...原创 2019-08-05 22:53:04 · 90 阅读 · 0 评论 -
分布式事务设计之同步场景
1.同步场景: 1)、 读场景:首页推荐商品列表:商品信息,用户信息,社交信息 2)、 写场景 购买商品:下单-》A ; 减库存-》B ;支付-》C2.解决方案: 1)、基于异步补偿的分布式事务 2)、架构设计的三大关键点 ...原创 2019-08-05 23:42:24 · 708 阅读 · 1 评论 -
服务降级设计与实践
1.服务降级目标 保证核心服务可用,非核心服务弱可用,甚至不可用2.服务降级手段 2.1.拒绝部分请求 2.2.关闭部分服务(业务相关)3.拒绝部分请求: 3.1.拒绝部分老的请求 减轻微服务请求处理数量 确保”新“请求正常响应 ...原创 2019-08-06 00:36:31 · 183 阅读 · 0 评论 -
服务限流、熔断的设计与实践
1.限流、熔断的目的 微服务化之后,系统分布式部署,系统之间通过RPC框架通信,整个系统发生故障的概率随着系统规模的增长而增长。一个小的故障经过链路传导放大,有可能造成更大的故障。 业务方希望在调用服务时,在一些非关键路径服务发生服务质量下降的情况下,选择尽可能地屏蔽所造成的影响。2.业务限流、熔断需求 2.1.大部分熔断返回默认值(null)也可定制,RPC clie...原创 2019-08-06 23:21:04 · 368 阅读 · 0 评论