美文网首页微服务与分布式
01.构建单体应用模型

01.构建单体应用模型

作者: 忞触动心灵 | 来源:发表于2019-06-21 20:30 被阅读0次

摘自鲁斯菲尔

构建单体应用模型

概述

我们假设,您开始开发一个打车应用,打算与 UberHailo 竞争。经过初步交流和需求收集,您开始手动或者使用类似 RailsSpring BootPlay 或者 Maven 等平台来生成一个新项目。

该新应用是一个模块化的六边形架构,如下图(一个简单的打车应用)所示:

89d9bfed11ff35943269b24b23b866b1.png

该应用的核心是由模块实现的业务逻辑,它定义了服务、领域对象和事件。围绕核心的是与外部世界接口对接的适配器。适配器示例包括数据库访问组件、生产和消费消息的消息组件和暴露了 API 或实现了一个 UI 的 web 组件。

尽管有一个逻辑模块化架构,但应用程序被作为一个单体进行打包和部署。实际格式取决于应用程序的语言和框架。例如,许多 Java 应用程序被打包成 WAR 文件部署在如 Tomcat 或者 Jetty 之类的应用服务器上。其他 Java 应用程序被打包成自包含 (self-contained) 的可执行 JAR。类似地, Rails 和 Node.js 应用程序被打包为有目录层次的结构

以这种风格编写的应用是很常见的。他们很容易开发,因为我们的 IDE 和其他工具就是专注于构建单体应用。这些应用程序也很容易测试, 您可以通过简单地启动并使用如 Selenium 测试包来测试 UI 以轻松地实现端到端 (end-to-end) 测试。单体应用同样易于部署。您只需拷贝打包好的应用程序到服务器上。您还可以通过运行多个副本和结合负载均衡器来扩展应用。在项目的早期阶段,它可以良好运作。

相关文章

  • 01.构建单体应用模型

    摘自鲁斯菲尔 构建单体应用模型 概述 我们假设,您开始开发一个打车应用,打算与 Uber 和 Hailo 竞争。经...

  • 什么是微服务?

    1. 构建单体应用模型 2. 走向单体地狱 3. 微服务解决复杂问题(耦合问题) 4. CAP定理与BASE理论 ...

  • 【微服务】- SpringCloud 微服务

    在传统的软件架构中,我们通常采用的是单体应用来构建一个系统,一个单体应用糅合了各种业务模块。起初在业务规模不是很大...

  • 微服务部署是软件生命周期中风险最大的时刻:自动化部署和小步快走不

    成熟的部署方案对于构建可靠且稳定的微服务是至关重要的。微服务部署和单体应用部署是不同的。在单体应用中,可以针对单个...

  • 初入响应式编程(上)

    这几年随着微服务编程的兴起,当我们在构建一个应用时通常不会采用传统的单体模式(所谓的单体模式,就是将所有功能包含在...

  • 软件工程(上)

    软件开发方法 软件开发模型 开发模型说明瀑布模型迭代模型/迭代开发方法演化模型快速应用开发增量模型构建组件模型/基...

  • 什么是微服务,微服务优势

    什么是微服务? 相对于单体(Monolithic)应用而言,微服务是采用一组服务的方式来构建一个应用,服务独立部署...

  • 微服务

    1 单体应用架构 一个归档包(例如war包格式)包含所有功能的应用程序,通常称为单体应用,而架构单体应用的方法,就...

  • 单体应用与微服务的比较

    单体应用架构 一个归档包(例如war包),包含所有功能的应用程序,我们通常称为单体应用。而架构单体应用的方法论,就...

  • 微服务实战(二):构建微服务:使用API Gateway

    构建微服务:使用API Gateway 当你决定将应用作为一组微服务时,需要决定应用客户端如何与微服务交互。在单体...

网友评论

    本文标题:01.构建单体应用模型

    本文链接:https://www.haomeiwen.com/subject/rjauqctx.html