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