![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
微服务架构
理解微服务架构,它的好处和弊端,以及如何使用微服务架构。
微服务架构
该博客主要帮助你了解微服务架构,以及它的好处和弊端,掌握如何在单体和微服务架构之间做出正确的权衡。
展开
-
服务幂等设计与实践
幂等定义请求层面 保证请求重复执行和执行一次结果相同业务层面 1 同一个用户不重复下单 2 商品不超卖 3 MQ消费端去重 幂等范围读/写请求层面 请求对数据造成改变 读 X 写 √架构层层面 哪些层会对数据造成改变 反向代理层 X 网关层 X 业务逻辑层 X 数据访问层 √ 数据访问层(CRUD)1 Create/Insert 如果插入记录拥有业务主键,或者唯一索引,则是幂等的2...原创 2020-08-04 16:10:27 · 188 阅读 · 0 评论 -
服务负载均衡设计与实践
服务无状态化定义1 冗余部署多个模块(进程)完全对等2 请求提交到冗余部署的任一模块,处理结果一样3 模块不存储业务的上下文信息4 仅根据每次请求携带数据进行相应的业务处理 狭义负载均衡硬件1 F52 A103 Radware软件1 LVS 4层2 Nginx 7层3 HAProxy 4层或7层反向代理 VS 正向代理 从用户角度,无感知的是反向代理,比如Nginx,正向代理比如VPN 广义负载均衡完整的故障处理恢复机制 ...原创 2020-08-03 14:19:44 · 172 阅读 · 0 评论 -
互联网高并发设计手段
高并发设计主要关注的是系统性能,包括两个部分,1是吞吐量,2是响应延迟。性能优化目标:缩短响应延迟 提高并发数(吞吐量) 让系统处于合理状态并发数、QPS、平均响应时间三者之间关系从上图可以看出,一开始,随着并发数的增加,资源利用率,吞吐量都是线性增长,逐渐达到一个峰值,响应时间变化不大随着并发数继续增加,资源逐渐耗尽,没有资源可以再分配,服务器响应时间开始增加,甚至没有响应,吞吐量开始下降优化手段1 系统时间是瓶颈 ,利用空间换时间比如,缓存复用计算结果,..原创 2020-07-29 16:50:45 · 232 阅读 · 0 评论 -
消息队列面试总结
消息队列是分布式应用间交换信息的重要组件,消息队列可驻留在内存或磁盘上, 队列可以存储消息直到它们被应用程序读走。通过消息队列,应用程序可以在不知道彼此位置的情况下独立处理消息,或者在处理消息前不需要等待接收此消息。所以消息队列可以解决应用解耦、异步消息、流量削锋等问题,是实现高性能、高可用、可伸缩和最终一致性架构中不可以或缺的一环。现在比较常见的消息队列产品主要有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、RocketMQ等。本文重点以RabbitMQ为例。1.为什么要使用原创 2020-06-28 15:14:19 · 263 阅读 · 0 评论