0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简单分析Java高可用集群和微服务架构

汽车玩家 来源:今日头条 作者:咔咔侃技术 2020-05-03 18:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

可能大部分读者都在想,为什么在这以 dubbo、spring cloud 为代表的微服务时代,我要还要整理这种已经“过时”高可用集群架构?

本人工作上大部分团队都是7-15人编制的开发团队,对应的公司项目也大都是中小型项目,最大的项目 PV/UV 也就只有 10w/2w 。在这样的场景下,中小型公司一般都是创业起步没多久,大部分都需要本着“开源节流”、“以最小的成本把产出最大化”。微服务架构相比于高可用集群架构,个人理解,对于技术团队的成员编制相对要多一点,服务器部署成本相对也要高一点。

作为技术团队负责人,肯定要为企业整体成本考虑,否则要不了多久,便是讨薪大军的一员了吧。。。

一、如何选择

1、高可用集群

适用于中小型创业公司项目架构,小型技术团队快速迭代版本发布部署需求,前期低成本运行,爆发时可通过投入适量成本横向扩容服务器抗压。

特点:

前期技术开发成本低

一定的服务器扩容成本

核心团队编制及技能要求较少

项目发布部署基本无依赖,时间成本低

服务器运维成本一般

大而全的项目模块分离设计

更省更稳的技术架构选择

微服务架构强迫症不适用

2、微服务架构

适用于业务架构较大的中大型科技公司项目架构,系统可拆分多个项目单独运营,大型技术团队、平台产品规范化管理,前期投入一定的成本,可以低成本扩容指定服务的服务器抗压。

前期一定的技术开发成本

较低的服务器扩容成本

核心团队编制及技能要求较高

项目发布部署存在依赖,逐个部署,时间成本较高

服务器运维成本一般或较高

较清晰的项目模块分离设计

更潮更时尚的技术架构选择

二、高可用集群架构

1、必备服务器清单

负载均衡服务器

web项目服务器

缓存服务器

数据库服务器(主备)

注意:可能有人会问,若是小型项目单机服务,负载均衡是否就不需要?负载均衡主要工作是分发请求到源服务器,另一个作用也是为了保护源服务器,不暴露服务器真实IP,大幅度降低服务器被DDoS攻击的风险,可参考《被人DDoS攻击了,分析一下原理和防护》 一文。

2、扩展服务器清单

更多web项目服务器(集群负载)

异步服务服务器(配置中心、消息队列、job任务等)

数据库服务器(读写分离、主从复制)

文件服务器

2、架构图

简单分析Java高可用集群和微服务架构

三、微服务架构

1、服务器清单

dubbo / spring cloud 全家桶组件服务器

负载均衡服务器

A模块 web项目服务器

B模块 web项目服务器

C模块 web项目服务器

XXX模块 web项目服务器

缓存服务器

数据库服务器

文件服务器

异步服务服务器(配置中心、消息队列、job任务等)

2、架构图

简单分析Java高可用集群和微服务架构

四、总结

综上,我们对于高可用集群和微服务架构做了简单的场景和架构图分析,并不是说什么场景下一定要用什么架构,也不是说什么最潮流就用什么架构,而是根据实际成本和产出作为出发点做选择。

创业公司刚起步,资金可能也就百来万,搞微服务架构,光技术团队和服务器一个月的成本就占了公司一大头,产品还没上线,公司就已经倒闭了;

有资源的公司,动不动就能获得千万级甚至更高级别的融资,业务方向众多,若还只是用高可用架构,所有的业务模块都臃肿在一个项目里,不论是代码管理还是人员管理上,都是巨大的资源消耗。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    20

    文章

    2997

    浏览量

    115696
  • 集群
    +关注

    关注

    0

    文章

    130

    浏览量

    17600
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    华纳云:海外服务器负载均衡与可用架构设计

    在现代互联网应用中,海外服务器承担着跨境业务、并发请求和实时数据传输的关键角色。单台服务器难以支撑大量并发请求,一旦发生故障,可能导致服务中断和业务损失。因此,合理设计负载均衡与
    的头像 发表于 08-28 18:32 482次阅读

    Jtti海外VPS微服务架构下的日志采集与分析优化方案

    随着跨境业务和分布式应用的普及,越来越多的企业在海外VPS上构建微服务架构,以提升系统扩展性和灵活性。然而,微服务化带来了一个新的挑战:日志数据分散在多个服务和节点中,若缺乏统一采集与
    的头像 发表于 08-27 17:13 426次阅读

    香港服务器部署Windows集群服务的网络拓扑设计与实现-可用架构方案

    ,重点讲解网络拓扑设计的3种典型模型及其适用场景,并提供香港本地化部署的实操建议。如何在遵守《网络安全法》要求前提下实现多节点集群可用性?冗余网络配置如何平衡成本与效能?本文将为您揭晓具体实施路径。 香港机房选址对网络
    的头像 发表于 08-26 17:16 614次阅读

    深入剖析RabbitMQ可用架构设计

    微服务架构中,消息队列故障导致的系统不可用率高达27%!如何构建一个真正可靠的消息中间件架构?本文将深入剖析RabbitMQ
    的头像 发表于 08-18 11:19 705次阅读

    如何构建可用Prometheus监控体系

    在云原生时代,传统监控工具已经无法满足微服务架构的复杂需求。Prometheus凭借其Pull模式、多维数据模型和强大的查询语言PromQL,成为了CNCF毕业项目中的监控标杆。
    的头像 发表于 08-01 09:10 628次阅读

    电商API的微服务架构优化策略

    ,电商API在并发、低延迟和数据一致性方面面临严峻挑战。本文将从基础概念出发,逐步分析优化策略,帮助开发者构建高性能、可靠的电商API系统。 1. 微服务架构在电商中的应用
    的头像 发表于 07-23 14:30 405次阅读
    电商API的<b class='flag-5'>微服务</b><b class='flag-5'>架构</b>优化策略

    MYSQL集群可用和数据监控平台实现方案

    该项目共分为2个子项目,由MYSQL集群可用和数据监控平台两部分组成。
    的头像 发表于 05-28 10:10 1086次阅读
    MYSQL<b class='flag-5'>集群</b><b class='flag-5'>高</b><b class='flag-5'>可用</b>和数据监控平台实现方案

    SoC集群服务器 与 ARM架构阵列服务器 关系

    。 核心特征‌:芯片级集成、高密度算力、低功耗设计。 ARM架构阵列服务器‌ 基于ARM指令集的处理器集群,通过多节点协同工作提升整体性能,适用于并发场景(如云手机、云游戏)。 核心
    的头像 发表于 04-24 07:49 748次阅读
    SoC<b class='flag-5'>集群</b><b class='flag-5'>服务</b>器 与 ARM<b class='flag-5'>架构</b>阵列<b class='flag-5'>服务</b>器 关系

    微服务架构几种典型的基础框架,你了解吗?

    SpringCloud、Dubbo、Dropwizard、Akka等是常见微服务框架。SpringCloud基于SpringBoot,生态丰富;Dropwizard轻量且继承SpringBoot优点
    的头像 发表于 03-04 11:05 800次阅读

    容器集群是什么意思?和服务器有什么区别

    容器集群将多个容器组织起来,构建可伸缩、可用的分布式系统。它具备资源动态分配、服务自动发现、负载均衡等特点,优势明显,包括
    的头像 发表于 02-25 10:54 543次阅读

    微服务容器化部署好处多吗?

    微服务容器化部署好处有很多,包括环境一致性、资源高效利用、快速部署与启动、隔离性与安全性、版本控制与回滚以及持续集成与持续部署。这些优势助力应用可靠稳定运行,提升开发运维效率,是现代软件架构的优质选择。UU云小编认为微服务容器化
    的头像 发表于 01-17 10:22 550次阅读

    服务器 Flexus X 实例,Docker 集成搭建 Redis 集群

    Redis 集群是一种分布式的 Redis 解决方案,能够在多个节点之间分片存储数据,实现水平扩展和可用性。与传统的主从架构不同,Redis 集群
    的头像 发表于 01-13 13:37 685次阅读
    云<b class='flag-5'>服务</b>器 Flexus X 实例,Docker 集成搭建 Redis <b class='flag-5'>集群</b>

    容器化能替代微服务吗?两者有何区别

    容器化不能替代微服务,但它是微服务的解决方案之一。微服务架构的核心在于将大型应用程序拆分为一系列小型、独立的服务,每个
    的头像 发表于 01-13 10:40 697次阅读

    Java微服务中如何确保安全性?

    Java微服务架构中确保安全性,可以采取以下措施: 身份验证与授权: 使用OAuth 2.0和OpenID Connect框架进行身份验证和授权。OAuth2允许用户在不分享凭证的情况下授权第三方
    的头像 发表于 01-02 15:21 1030次阅读

    宝藏级微服务架构工具合集

    宝藏级热门微服务架构工具包含Spring Boot、Eclipse Vert.X、Kubernetes、Tyk、RabbitMQ、Apache Kafka等。其中,Spring Boot简化了微服务
    的头像 发表于 12-21 16:33 911次阅读