当前位置: 首页 > Linux

Java高可用集群架构和微服务架构浅析

时间:2023-04-06 19:48:28 Linux

前言可能大部分读者会疑惑,为什么在这个以dubbo和springcloud为代表的微服务时代,我还要梳理这种“落伍”的高可用集群架构?我的工作团队大部分是7-15人的开发团队,对应的公司项目也大多是中小型项目。最大的项目PV/UV只有10w/2w。在这样的场景下,中小企业普遍创业时间不长,大多需要本着“开源节流”的理念,“以最小的成本最大化产出”。相对于高可用集群架构,微服务架构技术团队的成员数量相对较多,服务器部署成本也相对较高。作为技术团队的leader,他必须要考虑公司的整体成本,否则短时间内他就是要讨薪的大军了。..一、如何选择1、高可用集群适合中小型创业公司的项目架构。小型技术团队可快速迭代版本发布部署需求,前期低成本运营,并可在疫情爆发时通过投入适量成本横向扩展服务器抵御压力。特点:初期技术开发成本低,有一定的服务器扩容成本,核心团队准备和技能要求少,基本不依赖项目发布部署,时间成本、服务器运维成本低,一般大而全的项目模块分离设计,更多经济更稳定的技术架构强迫症不适合选择微服务架构。2、微服务架构适用于业务架构较大的中大型科技公司的项目架构。系统可以拆分成多个项目,分别运行。庞大的技术团队和平台产品标准化管理,前期投入是一定的。成本,指定业务的服务器可以低成本扩容以抗压。前期某些技术开发成本较低,服务器扩容成本较高,核心团队准备和技能要求较高。项目发布部署有依赖关系,一个一个部署,时间成本比较高。服务器运维成本平均或更高,更清晰。一个更时尚的技术架构方案二、高可用集群架构一、所需服务器列表负载均衡服务器web项目服务器缓存服务器数据库服务器(主备)注:有人会问,如果是小项目单机服务,是否不需要负载均衡?负载均衡的主要工作是将请求分发到源服务器。另一个功能是在不暴露服务器真实IP的情况下保护源服务器,大大降低服务器被DDoS攻击的风险。请参考文章《被人DDoS攻击了,分析一下原理和防护》。2、展开服务器列表更多web项目服务器(集群负载)异步服务服务器(配置中心、消息队列、作业任务等)数据库服务器(读写分离、主从复制)文件服务器2、架构图3、微服务架构1.服务器列表dubbo/spring云全家桶组件服务器负载均衡服务器A模块web项目服务器B模块web项目服务器C模块web项目服务器XXX模块web项目服务器缓存服务器数据库服务器文件服务器异步服务服务器(配置中心,消息队列,作业任务等)2.架构图注:图片来源http://yun.itheima.com/open/2...4.总结综上所述,我们针对高可用集群做了简单的场景和场景而微服务架构分析架构图,并不是说场景中一定要用哪种架构,也不是说用最时髦的架构,而是要根据实际的成本和产出来做出选择。一个创业公司刚刚起步,资金可能只有几百万。搞微服务架构,技术团队和服务器一个月的成本占了公司很大一部分。公司在产品推出前已经倒闭;随时可以获得千万甚至更高的融资,业务方向多。如果只采用高可用架构,所有业务模块在一个项目中会臃肿。无论是代码管理还是人员管理,都是巨大的。如果。我的博客blog.guijianpan.com技术交流