一、如何选择
1、高可用集群
适用于中小型创业公司项目架构,小型技术团队快速迭代版本发布部署需求,前期低成本运行,爆发时可通过投入适量成本横向扩容服务器抗压。
有需要大厂面经和面试技巧思维导图的朋友可以点进去了解一下,点击——【传送门】——即可!
特点:
- 前期技术开发成本低
- 一定的服务器扩容成本
- 核心团队编制及技能要求较少
- 项目发布部署基本无依赖,时间成本低
- 服务器运维成本一般
- 大而全的项目模块分离设计
- 更省更稳的技术架构选择
- 微服务架构强迫症不适用
2、微服务架构
适用于业务架构较大的中大型科技公司项目架构,系统可拆分多个项目单独运营,大型技术团队、平台产品规范化管理,前期投入一定的成本,可以低成本扩容指定服务的服务器抗压。
- 前期一定的技术开发成本
- 较低的服务器扩容成本
- 核心团队编制及技能要求较高
- 项目发布部署存在依赖,逐个部署,时间成本较高
- 服务器运维成本一般或较高
- 较清晰的项目模块分离设计
- 更潮更时尚的技术架构选择
二、高可用集群架构
1、必备服务器清单
- 负载均衡服务器
- web项目服务器
- 缓存服务器
- 数据库服务器(主备)
注意:可能有人会问,若是小型项目单机服务,负载均衡是否就不需要?更多资料点击此处负载均衡主要工作是分发请求到源服务器,另一个作用也是为了保护源服务器,不暴露服务器真实IP,大幅度降低服务器被DDoS攻击的风险
2、扩展服务器清单
- 更多web项目服务器(集群负载)
- 异步服务服务器(配置中心、消息队列、job任务等)
- 数据库服务器(读写分离、主从复制)
- 文件服务器
2、架构图
三、微服务架构
1、服务器清单
- dubbo / spring cloud 全家桶组件服务器
- 负载均衡服务器
- A模块 web项目服务器
- B模块 web项目服务器
- C模块 web项目服务器
- XXX模块 web项目服务器
- 缓存服务器
- 数据库服务器
- 文件服务器
- 异步服务服务器(配置中心、消息队列、job任务等)
2、架构图
四、总结
综上,我们对于高可用集群和微服务架构做了简单的场景和架构图分析,并不是说什么场景下一定要用什么架构,也不是说什么最潮流就用什么架构,而是根据实际成本和产出作为出发点做选择。