互联网架构演变
单体架构(集中式架构)
介绍
适合访问量比较小的网站,使用一个web应用把所有功能都部署在一起。
问题
- 代码耦合,开发维护困难
- 无法针对不同模块进行针对性优化
- 无法水平扩展
- 单点容错率低,并发能力差
垂直拆分
介绍
当访问量增大是单体应用已经无法应对;于是我们将各个模块进行拆分进行独立开发和部署。
特点
优点:
- 系统拆分实现了流量分担,解决了并发问题
- 可以针对不同模块进行优化
- 方便水平扩展,负载均衡,容错率提高
- 系统间相互独立
缺点:
- 服务之间相互调用,如果某个服务的端口或者ip地址发生改变,调用的系统得手动改变
- 搭建集群之后,实现负载均衡比较复杂
分布式服务
介绍
什么是分布式:将一个大的系统拆分成多个子系统
当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式调用是关键。
特点
优点
- 将基础服务进行了抽取,系统间相互调用,提高了代码复用和开发效率
缺点
- 系统间耦合度变高,调用关系错综复杂,难以维护
- 搭建集群之后,负载均衡比较难实现
微服务
微服务架构是一种架构模式。SpringCloud 分布式微服务架构一站式解决方案,是多中微服务架构落地技术的集合体(全家桶)。
微服务技术点
- 服务注册与发现 EUREKA
- 服务调用 FEIGN&RIBBON
- 服务熔断 HYSTRIX
- 负载均衡 FEIGN&RIBBON
- 服务降级 HYSTRIX
- 服务消息队列
- 配置中心管理 SpringCloud Config
- 服务网关 ZUUL
- 服务监控
- 全链路追踪
- 自动化构建部署
- 定时任务调度操作
本文由 huzd 创作,采用 知识共享署名4.0 国际许可协议进行许可本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名最后编辑时间
为:
2021/02/19 19:05