项目架构演进

简介: 项目架构演进

 单体架构:

用户量也不多,项目也不稳定

image.gif编辑

优点:

    • 单体架构简单,小型项目开发成本低。
    • 项目部署在一个节点上,维护也比较方便。

    缺点:

      • 全部功能集成在一个工程中,对大型项目来说不易于开发和维护。
      • 项目模块之间紧密耦合,单点容错率低。
      • 无法针对不同模块进行针对性优化和扩展。

      搭建集群:

      提升项目稳定性,并发承受度提高,某一台服务器挂了,也没什么问题。

      但是搭建集群后会出现的一些新的问题,例如(包括但不仅仅是这三种):

        • 用户的请求如何分发给不同的服务器,从而缓解用户量增加的压力。
        • 用户登录成功后,数据共享问题。
        • 当数据量庞大时,如果还直接去数据库查询,速度很慢,如何提升查询效率

        image.gif编辑

        可以通过Nginx【解决请求分配问题】、Redis【解决数据共享和缓存问题】、Elasticsearch【解决数据查询问题】等技术,解决上述问题。

        image.gif编辑

        垂直架构:

        所谓的垂直架构就是将原来的一个应用拆成互不相关的几个应用,以提升效率。

        比如我们把一个系统拆分为用户模块、订单模块、商品模块,一旦订单模块访问量过大,只需增加订单模块节点即可。

        image.gif编辑

        分布式架构:

        项目一般分为controller、service、dao三层,实际上导致程序变慢的重灾区可能在service或者dao层,而搭建集群时是针对三层都搭建了集群,效果不是很好,所以开始演进到分布式架构。

        image.gif编辑

        分布式架构问题:

        问题1:使用分布式架构之后,服务器直接的通讯都是同步的,在一些不是核心业务的功能上肯定希望它是异步通讯,为了实现服务器之间的异步通讯就出现了MQ【RabbitMQ、RocketMQ等】

        image.gif编辑

        问题2:由于模块繁多,并且模块搭建集群的数量增加,会导致其他模块需要维护各种ip地址等信息,导致项目的维护性极低,耦合性极高,并且也无法实现负载均衡的效果

        也就出现可以帮助我们管理服务信息的技术【Nacos或者Eureka】,【ribbon】可以帮助我们实现服务的负载均衡

        image.gif编辑

        问题3:如果订单模块出现问题,只要涉及到该模块的内容都无法使用,可能会导致服务提供的线程池耗尽,也无法给用户友好提示

        于是有【Sentinel 】技术来解决

        image.gif编辑

        问题4:海量数据会导致数据库无法存储全部内容或者在查询数据时响应极其缓慢,在用户高并发情况下,数据库也是无法承受住的。

        于是可以基于【mycat】实现数据库的分库分表

        image.gif编辑

        微服务架构

        微服务架构是在分布式架构的基础上再次拆分,使每个服务只做一件事。

        image.gif编辑

        问题:模块过多导致运维成本增加

        解决:采用【docker】容器化技术帮助我们管理

        相关文章
        |
        2月前
        |
        消息中间件 监控 前端开发
        如何开发项目管理系统中的项目结项板块?(附架构图+流程图+代码参考)
        在企业项目管理中,“项目结项”是关键环节,常因流程不清、文档不全、审批滞后等问题导致交付困难。本文介绍如何通过“项目结项”模块实现线上化管理,涵盖结项申请、审批流程、成果上传、权限控制等功能,帮助团队高效完成项目收尾,避免成果丢失与流程混乱。内容包括功能设计、业务流程、系统架构、数据库设计、核心代码实现、前端交互及优化建议,助力项目管理系统快速落地并稳定运行。
        |
        29天前
        |
        人工智能 自然语言处理 JavaScript
        Github又一AI黑科技项目,打造全栈架构,只需一个统一框架?
        Motia 是一款现代化后端框架,融合 API 接口、后台任务、事件系统与 AI Agent,支持 JavaScript、TypeScript、Python 多语言协同开发。它提供可视化 Workbench、自动观测追踪、零配置部署等功能,帮助开发者高效构建事件驱动的工作流,显著降低部署与运维成本,提升 AI 项目落地效率。
        149 0
        |
        2月前
        |
        数据挖掘 项目管理 Python
        如何开发项目管理系统中的项目启动板块?(附架构图+流程图+代码参考)
        本文介绍了项目管理系统中“项目启动”板块的设计与实现,涵盖功能模块、业务流程、开发技巧及效果展示,并提供代码参考和常见问题解答,助力企业高效搭建项目管理平台。
        |
        2月前
        |
        存储 Java 数据库连接
        简单学Spring Boot | 博客项目的三层架构重构
        本案例通过采用三层架构(数据访问层、业务逻辑层、表现层)重构项目,解决了集中式开发导致的代码臃肿问题。各层职责清晰,结合依赖注入实现解耦,提升了系统的可维护性、可测试性和可扩展性,为后续接入真实数据库奠定基础。
        243 0
        |
        2月前
        |
        缓存 Java 数据库
        Java 项目分层架构实操指南及长尾关键词优化方案
        本指南详解基于Spring Boot与Spring Cloud的Java微服务分层架构,以用户管理系统为例,涵盖技术选型、核心代码实现、服务治理及部署实践,助力掌握现代化Java企业级开发方案。
        140 2
        |
        2月前
        |
        监控 前端开发 BI
        如何开发项目管理系统中的项目收支板块?(附架构图+流程图+代码参考)
        本文深入讲解项目管理系统中项目收支模块的设计与实现,涵盖预算、收入与支出管理,以及报表分析功能。内容包括模块功能概述、业务流程、开发技巧与实现方法,并提供数据库设计及前后端代码示例,助力企业打造高效的项目财务管控系统。
        |
        2月前
        |
        SQL 前端开发 项目管理
        如何开发项目管理系统中的项目执行板块?(附架构图+流程图+代码参考)
        随着企业项目规模扩大,传统管理方式已难以满足需求。本文介绍项目管理系统中“项目执行”板块的开发,涵盖任务管理、创建、验收及进度汇报等核心环节。通过功能设计、业务流程和开发技巧,结合代码示例,帮助企业高效推进项目执行,提升管理效率。
        |
        3月前
        |
        设计模式 开发者
        一、HarmonyOS Next 开发者手册项目之项目架构设计
        该项目是一个基于HarmonyOS Next的开发者学习手册应用,旨在帮助开发者系统学习HarmonyOS开发知识。项目采用分级学习方式,从基础到高级逐步深入讲解技术与实践案例。前四章重点介绍应用架构相关内容,助力快速掌握应用核心。 项目结构清晰,包含主入口、源代码目录、公共资源和工具等。页面导航分为多个阶段:萌新小白(基础入门)、登堂入室(进阶学习)、进阶高手(高级开发)。支持Markdown解析,使用`@luvi/lv-markdown-in`插件展示内容,并定义了多种数据结构以规范开发流程。 源码已开源,持续更新中
        86 1
        |
        10月前
        |
        前端开发 JavaScript 测试技术
        Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
        Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
        133 3
        |
        6月前
        |
        存储 数据采集 机器学习/深度学习
        新闻聚合项目:多源异构数据的采集与存储架构
        本文探讨了新闻聚合项目中数据采集的技术挑战与解决方案,指出单纯依赖抓取技术存在局限性。通过代理IP、Cookie和User-Agent的精细设置,可有效提高采集策略;但多源异构数据的清洗与存储同样关键,需结合智能化算法处理语义差异。正反方围绕技术手段的有效性和局限性展开讨论,最终强调综合运用代理技术与智能数据处理的重要性。未来,随着机器学习和自然语言处理的发展,新闻聚合将实现更高效的热点捕捉与信息传播。附带的代码示例展示了如何从多个中文新闻网站抓取数据并统计热点关键词。
        266 2
        新闻聚合项目:多源异构数据的采集与存储架构

        热门文章

        最新文章