如何分析Java高可用集群架构与微服务架构
这篇文章将为大家详细讲解有关如何分析Java高可用集群架构与微服务架构,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
序
可能大部分读者都在想,为什么在这以 dubbo、spring cloud 为代表的微服务时代,我要还要整理这种已经“过时”高可用集群架构?
一、如何选择
1、高可用集群
适用于中小型创业公司项目架构,小型技术团队快速迭代版本发布部署需求,前期低成本运行,爆发时可通过投入适量成本横向扩容服务器抗压。
特点:
前期技术开发成本低
一定的服务器扩容成本
核心团队编制及技能要求较少
项目发布部署基本无依赖,时间成本低
服务器运维成本一般
大而全的项目模块分离设计
更省更稳的技术架构选择
微服务架构强迫症不适用
2、微服务架构
适用于业务架构较大的中大型科技公司项目架构,系统可拆分多个项目单独运营,大型技术团队、平台产品规范化管理,前期投入一定的成本,可以低成本扩容指定服务的服务器抗压。
前期一定的技术开发成本
较低的服务器扩容成本
核心团队编制及技能要求较高
项目发布部署存在依赖,逐个部署,时间成本较高
服务器运维成本一般或较高
较清晰的项目模块分离设计
更潮更时尚的技术架构选择
二、高可用集群架构
1、必备服务器清单
负载均衡服务器
web项目服务器
缓存服务器
数据库服务器(主备)
注意:可能有人会问,若是小型项目单机服务,负载均衡是否就不需要?负载均衡主要工作是分发请求到源服务器,另一个作用也是为了保护源服务器,不暴露服务器真实IP,大幅度降低服务器被DDoS攻击的风险,可参考《被人DDoS攻击了,分析一下原理和防护》 一文。
2、扩展服务器清单
更多web项目服务器(集群负载)
异步服务服务器(配置中心、消息队列、job任务等)
数据库服务器(读写分离、主从复制)
文件服务器
2、架构图
三、微服务架构
1、服务器清单
dubbo / spring cloud 全家桶组件服务器
负载均衡服务器
A模块 web项目服务器
B模块 web项目服务器
C模块 web项目服务器
XXX模块 web项目服务器
缓存服务器
数据库服务器
文件服务器
异步服务服务器(配置中心、消息队列、job任务等)
2、架构图
综上,我们对于高可用集群和微服务架构做了简单的场景和架构图分析,并不是说什么场景下一定要用什么架构,也不是说什么最潮流就用什么架构,而是根据实际成本和产出作为出发点做选择。
创业公司刚起步,资金可能也就百来万,搞微服务架构,光技术团队和服务器一个月的成本就占了公司一大头,产品还没上线,公司就已经倒闭了;
有资源的公司,动不动就能获得千万级甚至更高级别的融资,业务方向众多,若还只是用高可用架构,所有的业务模块都臃肿在一个项目里,不论是代码管理还是人员管理上,都是巨大的资源消耗。
关于如何分析Java高可用集群架构与微服务架构就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341