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高可用集群和微服务架构

四、总结

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

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

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

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

    关注

    19

    文章

    2934

    浏览量

    103777
  • 集群
    +关注

    关注

    0

    文章

    82

    浏览量

    17123
收藏 人收藏

    评论

    相关推荐

    K8S学习教程(二):在 PetaExpress KubeSphere容器平台部署可用Redis集群

    前言 Redis 是在开发过程中经常用到的缓存中间件,为了考虑在生产环境中稳定性和 可用,Redis通常采用 集群模式的部署方式。 在制定Redis 集群的部署策略时,常规部署在虚拟机上的
    的头像 发表于07-03 15:30 228次阅读
    K8S学习教程(二):在 PetaExpress KubeSphere容器平台部署<b class='flag-5'>高</b><b class='flag-5'>可用</b> Redis <b class='flag-5'>集群</b>

    Java微服务随机掉线排查过程简析

    我们的业务共使用 11 台(阿里云) 服务器,使用 SpringcloudAlibaba 构建 微服务 集群, 共计 60 个 微服务, 全部注册在同一个 Nacos
    的头像 发表于01-13 17:41 758次阅读
    <b class='flag-5'>Java</b><b class='flag-5'>微服务</b>随机掉线排查过程简析

    游戏公司不使用微服务架构的原因

    微服务基本只有 request/response 的模式。做不了 streaming? 微服务通常要求应用是无状态的才能做到水平扩展。streaming 本身就是加入了状态
    的头像 发表于12-29 11:18 334次阅读

    如何搭建微服务架构的全局图景

    如果一直保持共用数据库的模式,则整个 架构会越来越僵化,失去了 微服务 架构的意义。因此小明和小红一鼓作气,把数据库也拆分了。所有持久化层相互隔离,由各个 服务自己负责。另外,为了提高系统的实
    的头像 发表于12-27 15:16 361次阅读
    如何搭建<b class='flag-5'>微服务</b><b class='flag-5'>架构</b>的全局图景

    如何构建弹性、可用微服务

    基于 微服务的应用程序可实现战略性数字转型和云迁移计划,对于开发团队来说,这种 架构十分重要。那么,如何来构建弹性、 可用微服务呢?Redis
    的头像 发表于11-26 08:06 359次阅读
    如何构建弹性、<b class='flag-5'>高</b><b class='flag-5'>可用</b>的<b class='flag-5'>微服务</b>?

    设计微服务架构的原则

    微服务是一种软件 架构策略,有利于改善整体性能和可扩展性。你可能会想,我的团队需不需要采用 微服务,设计 微服务 架构有哪些原则?本文会给你一些灵感
    的头像 发表于11-26 08:05 415次阅读
    设计<b class='flag-5'>微服务</b><b class='flag-5'>架构</b>的原则

    docker微服务架构实战

    随着云计算和容器化技术的快速发展, 微服务 架构在软件开发领域中变得越来越流行。 微服务 架构将一个大型的软件应用拆分成多个小型的、独立部署的 服务
    的头像 发表于11-23 09:26 468次阅读

    springcloud微服务架构

    Spring Cloud是一个开源的 微服务 架构框架,它提供了一系列工具和组件,用于构建和管理分布式系统中的 微服务。它基于Spring框架,旨在通过简化开发过程和降低系统复杂性来帮助开发人员构建弹性
    的头像 发表于11-23 09:24 811次阅读

    深入探讨微服务和事件驱动架构区别

    微服务不同,事件驱动 架构不要求强制的粒度。事件处理器可以有不同的规模,可以是响应特定事件的小型功能,也可以是处理多个事件的大型子系统。在物流系统中,事件驱动 架构可以包括用于包裹跟踪更新的小型事件处理器,也可以有更大的子系统用于
    的头像 发表于10-30 15:06 407次阅读

    Spring Cloud :打造可扩展的微服务网关

    Spring Cloud Gateway是一个基于Spring Framework 5和Project Reactor的反应式编程模型的 微服务网关。它提供了丰富的功能,包括动态路由、请求限流、集成安全性等,使其成为构建 微服务 架构
    的头像 发表于10-22 10:03 369次阅读
    Spring Cloud :打造可扩展的<b class='flag-5'>微服务</b>网关

    SpringCloud微服务架构:实现分布式系统的无缝协作

    在深入Spring Cloud之前,让我们首先了解一下什么是 微服务 架构微服务 架构是一种软件 架构模式,将一个应用程序拆分为一组小型、独立的
    的头像 发表于10-12 16:21 420次阅读
    SpringCloud<b class='flag-5'>微服务</b><b class='flag-5'>架构</b>:实现分布式系统的无缝协作

    集群服务器和站群服务器一样吗?

    集群 服务器和站群 服务器是用于提高系统 可用性、性能和扩展性的不同 架构方法。那么 集群
    的头像 发表于09-05 17:35 428次阅读

    微服务架构组件分析,看这篇就够了

    Nginx作为整个 架构的流量入口,可以理解为一个外部的网关,它承担着请求的路由转发、负载均衡、动静分离等功能。作为一个核心入口点,Nginx肯定要采用多节点部署,同时通过keepalived来实现 可用,从而保障整个平台的
    发表于09-01 10:25 1340次阅读
    <b class='flag-5'>微服务</b><b class='flag-5'>架构</b>组件<b class='flag-5'>分析</b>,看这篇就够了

    边缘计算微服务操作系统的设计与实现

    面对边缘计算运行环境不统一、适配难,工业边缘计算 微服务开发难度 微服务生态系统碎片化,以及工业边缘计算行业应用难以落地等技术和行业共性问题,本文实现了一种边缘计算 微服务操作系统,包括
    的头像 发表于08-31 16:49 848次阅读
    边缘计算<b class='flag-5'>微服务</b>操作系统的设计与实现

    【Spring Cloud 】基于微服务架构的智慧工地监管平台源码带APP

    技术 架构微服务开发语言: Java开发工具:Idea 前端框架:Vue 后端框架:Spring Cloud 数 据 库:MySql 移 动 端:UniApp
    的头像 发表于08-28 11:10 530次阅读
    【Spring Cloud 】基于<b class='flag-5'>微服务</b><b class='flag-5'>架构</b>的智慧工地监管平台源码带APP