随笔

终于迎来了“微服务、云原生”系列文章,这个系列的文章的更新速度博主无法保证能够每个星期一篇,因为这个系列的难度比以往系列都要高(以往的系列就没有保证一个星期一更)。但是长时间不去写文章,自己可能会慢慢失去写作的能力与热情,因此,除了“微服务、云原生”系列的文章,博主会穿插“mysql”系列的文章。

参考书籍:

  1. “凤凰架构”
  2. 微服务架构设计模式

单体架构(Monolithic)

“单体”只是表明系统中主要的过程调用都是进程内调用,不会发生进程间通信,仅此而已

对于单体架构(又称巨石系统(Monolithic Application)),各位应该都不会太陌生,,可以说在“微服务架构”出现在大家的视野之前,市面上基本都是单体架构的软件。而单体这个概念其实是在“微服务”理念提出后所产生的,从概念诞生的先后顺序,我们也不难看出,“单体”与“微服务”是一组相互对比参照的概念。

我们深入了解单体架构之前,大家先思考一个问题:“单体架构是不是一种优秀的软件设计?”

可以不用着急下结论,深入了解单体架构之后再看这个问题,你会有不一样的感受。

下图是“微服务架构设计模式”中用来举例的单体项目架构:


这个应用的名字叫FTGO(Fod to Go的简称),核心业务为消费者 (C o n s u m e r ) 使用 F T G O 的网站或者移动应用在本地的餐馆 (R e s t a u r a n t ) 下订单, F T G O 会协调一个由送餐员 (C o u r i e r )组成的快递网络来完成订单食品(Order)的运送(Delivery)。

FTGO应用程序具有六边形架构。它由业务逻辑组成,业务逻辑外面是实现用户界西的适配器和与外部系统的接口,例如移动应用程序,支付、消息和电子邮件的云服务等(这种应用层面的架构设计是没有什么问题的,符合高内聚、低耦合等软件设计理念,可以称得上一个好的设计)。同时,这个应用会被整体打包成一个单一的WAR 文件,部署运行在Tomcat 之上(很典型的单体软件架构风格)。

听到这里,大家对这个系统应该是有一个比较直观的感受就是:如果系统业务非常的复杂,这个系统后期的war肯定非常的滴大。如果项目在我的ide上跑,可能索引就需要好几个小时,更不用说编译和运行了(博主亲身经历过

微服务系列之单体架构相关推荐

  1. 我们公司放弃了微服务,重回单体架构

    点击上方"中生代技术", 右上角选择"设为星标" 作者 | Ben Nadel 译者 | 张卫滨 策划 | 万佳 InVision 公司的技术架构经历了从微服务 ...

  2. mqtt发布json数据_微服务实战:从架构到发布(一)

    引言:"微服务"是当前软件架构领域非常热门的词汇,能找到很多关于微服务的定义.准则,以及如何从微服务中获益的文章,在企业的实践中去应用"微服务"的资源却很少.本 ...

  3. 微服务系列(七):将单体应用改造为微服务

    编者的话|本文来自 Nginx 官方博客,是「Chris Richardson 微服务」系列的第五篇文章.第一篇文章介绍了微服务架构模式,并且讨论了使用微服务的优缺点:第二和第三篇描述了微服务架构模块 ...

  4. 单体 soa 微服务 区别_每日一读-从单体到微服务,这些年架构的演变

    写在前面的话 Stay Hungry Stay Foolish!!! 每天进步一点点!!! <每日一读>是博主每日学习的一篇文章所记录的笔记,大多数是提取文章中关键内容而成:文章类型不限, ...

  5. 微服务系列(五):事件驱动的数据管理

    编者的话|本文来自 Nginx 官方博客,是「Chris Richardson 微服务」系列的第五篇文章.第一篇文章介绍了微服务架构模式,并且讨论了使用微服务的优缺点:第二和第三篇描述了微服务架构模块 ...

  6. 01.微服务系列介绍

    微服务系列实践 .NET CORE 在开始之前呢,还是得废话一下,毕竟还是需要介绍一下这个系列我们要实现什么样的一套服务架构,也让大家能初步的有一个了解,后续实践起来也有一个完整的概念,相对也会容易的 ...

  7. 微服务系列实践 .NET CORE

    从事这个行业转眼已经6年了,从当初刚毕业的在北京朝八晚十,从二环到五环,仍每天精力充沛的小愤青:再到深圳一点一滴的辛勤在软件行业的耕种,从当初单体应用架构到现在微服务架构的经历,回想起来自己的收获倒是 ...

  8. 微服务系列:服务注册与发现的实现原理、及实现优劣势比较

    服务注册与发现的来源 首先,服务注册与发现是来自于微服务架构的产物. 在传统的服务架构中,服务的规模处于运维人员的可控范围内.当部署服务的多个节点时,一般使用静态配置的方式实现服务信息的设定.而在微服 ...

  9. 阿里P8架构师谈:微服务Dubbo和SpringCloud架构设计、优劣势比较

    本文主要围绕微服务的技术选型.通讯协议.服务依赖模式.开始模式.运行模式等几方面来综合比较Dubbo和Spring Cloud 这2种开发框架.架构师可以根据公司的技术实力并结合项目的特点来选择某个合 ...

  10. Mysql保存是事件驱动吗_【CHRIS RICHARDSON 微服务系列】事件驱动的数据管理-5

    编者的话 |本文来自 Nginx 官方博客,是「Chris Richardson 微服务」系列的第五篇文章.第一篇文章介绍了微服务架构模式,并且讨论了使用微服务的优缺点:第二和第三篇描述了微服务架构模 ...

最新文章

  1. Java学习总结:5
  2. NHibernate 基本配置 (第一篇)
  3. 使用wamp访问localhost时查看项目地址不对
  4. Java:定时启动线程
  5. SVA Function Coverage
  6. RAC RMAN 备份 RMAN-03009 ORA-19504 ORA-27040 RMAN-06012 channel c3 not allocated 错误分析
  7. springboot start
  8. 帆软报表(finereport)使用Event 事件对象 (target)修改提示框样式
  9. 论文阅读笔记(十五)——脸识别作为绵羊生物特征识别的初步研究
  10. ENVI入门系列教程---一、数据预处理---5. 图像自动配准
  11. OC 计算幂集 - 递归法
  12. 用JavaScript实现按钮点击全选和下拉列表根据省份复选框显示对应城市功能
  13. opencv (C语言) 系列一:各函数基本应用及图片反色
  14. 英语模板作文,词组,句子,句型,开头
  15. 【教程:利用Axure快速原型工具制作电影信息网站】——小白也会,傻瓜式做法,简易快速!!!可应对(毕业)课程设计喔!!
  16. VMware Workstation -- 破解密码
  17. 2000个软件开发领域的高频特殊词及精选例句
  18. android 背景描边,Android告别使用shape标签,自定义实现圆角、背景色、描边Button...
  19. android bitmap转drawable
  20. surface pro3深度linux,Microsoft Surface Pro 3 (简体中文)

热门文章

  1. 从顶级会议Interspeech 2019看语音领域大家都在弄个啥嘞
  2. 分享8个强大的黑帽子自学网站(附:最常用的9种工具)
  3. 灵感来了挡也挡不住,基于Redis解决业务场景中延迟队列
  4. IM即时通信多房间聊天室仿微信聊天(一)
  5. 九:什么是热部署,为什么要用这个?
  6. Task9 文件与文件系统
  7. Python-数值类型
  8. matplotlib 网格线不要覆盖柱状图
  9. 解决windows 下文件名太长无法删除的问题
  10. 【折腾系列—All In One主机】4、 iKuai软路由安装及配置