一.微服务发展史

一文了解:微服务及其演进史 阅读详情

目录

1.1 什么是微服务

1.2 从单体架构到分布式架构的演进

1.2.1⬇️ 单体架构

1.2.2⬇️ 集群及垂直化(垂直应用架构)

1.2.3⬇️ SOA 面向服务架构

1.2.4▶️ 微服务架构

1. 概念

2. SOA和微服务的区别

1.3 微服务架构的优点

1.4微服务架构图


1.1 什么是微服务

微服务文档原文链接

微服务文档译文链接

2014年,微服务的概念传入中国, 微服务架构是一种架构模式(架构风格),它将一个单体架构的应用按照业务划分为一个个的独立运行的程序,也就是服务,它们之间通过HTTP协议进行通信,可以根据实际业务采用不同的编程语言和存储技术(如:MySql,SqlServcer),自动化部署减少人为控制,降低出错概率

1.2 从单体架构到分布式架构的演进

1.2.1⬇️ 单体架构

简单来讲,单体架构就是将应用程序的所有功能都打包成一个独立的jar包或者war包,当网站流量很小时, 只需一个应用,将所有功能部署到一起, 以减少部署节点和成本

特点:

  • 所有的功能集成在一个项目工程中;
  • 所有的功能打一个jar包或者war包就可以直接部署到服务器
  • 应用和数据分开部署
  • 通过部署应用集群和数据库集群来提高系统的性能

1.2.2⬇️ 集群及垂直化(垂直应用架构)

随着业务场景越来越复杂,war包中的代码量持续上升,这也会伴随着业务代码之间耦合度越来越高,后期的代码维护和版本发布涉及的测试和上线也会很困难.

因此,我们将一个应用拆分成几个互不相干的应用来提升效率

    1. 通过横向增加服务器,把单台机器变成多台机器的集群
    2. 按照业务的垂直领域进行拆分,减少业务的耦合度,以及降低单个war包带来的伸缩性困难问题

1.2.3⬇️ SOA 面向服务架构

当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心。当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。

1.2.4▶️ 微服务架构

1. 概念

微服务是一种架构风格,架构就是为了解耦,实际使用的是分布式系统开发,一个大型的复杂软件应用,由一个或多个微服务组成.系统中的各个微服务可被独立部署,各个微服务之间是松耦合的.每个微服务仅关注完成一件任务并很好的完成该任务.

从名字来看,面向服务(SOA)和微服务本质上都是服务化思想的一种体现,如果SOA是面向服务开发思想的雏形,那么微服务就是针对可重用业务服务的更进一步优化,我们可以把SOA看成微服务的超集,也就是多个微服务可以组成一个SOA服务

用一句话来总结,微服务是SOA发展出来的产物,它是一种比较现代化的细粒度的SOA实现方式

2. SOA和微服务的区别

由于SOA和微服务关注点不一样,造成了这两者有非常大的区别

  • SOA关注的是服务的重用性及解决信息孤岛问题
  • 微服务关注的是解耦,虽然解耦和可重用性从特定角度来看是一样的,但本质上还是有区别,解耦是降低业务之间的耦合度,而重用性关注的是服务的复用
  • 微服务会更多关注在DevOps的持续交付上,因为服务粒度细化之后使得开发运维更加重要,因此微服务与容器化技术的结合更加紧密

如何更好的理解两者间的区别呢,可以看看这个小故事

话说1979年,又是一个春天,莆田乡下的赤脚医生吴大牛被改革的春风吹的心潮澎湃,说干就干,吴大牛趁着夜色朦胧找大队支书汇报了汇报思想,第二天就承包了村卫生室,开启了自己的在医疗圈的传奇历程。
乡村诊所大家都知道,没什么复杂的东东,房子只有一间,一个大柜台中间隔开,一半是诊疗兼候诊区,一半是药房,看病就直接找医生,如果前面有人就自己找个位子坐下,排队等一会,秩序倒也井然,看完病了医生直接给抓药,然后下一个继续,也不需要护士和药剂师,吴大牛一个人全部包办。
辛辛苦苦忙碌了十年,时间来到了八九年,又是一个春天,昔日的单身汉吴大牛已成为十里八乡的知名人物,媳妇娶上了不说,家里还增加了一对双胞胎儿子,二层的小洋房也甚是气派。可是也有烦心事,尽管乡村诊所扩大到了两间,媳妇还偶尔能去帮帮忙,但是医生还是只有自己一个,天天从早忙到晚挣的都是一份钱,想多挣点怎么办?吴大牛日思夜想,还真给他想出来一招,怎么办,扩大规模,多招几个医生一起干。原来吴大牛只能治头疼脑热和跌打损伤,现在新招了一个医科大学的毕业生刘小明专治感冒发烧,又从邻村请来了老大夫李阿花专治妇科病,现在一个普通的小诊所就变成了有三个独立科室加一个公共药房(吴大牛媳妇负责)的小医院了,吴大牛是外科主任兼院长,收入那可比之前翻了三番。人逢喜事精神爽,大牛院长请县里的书法名家为新医院书写了牌匾--“博爱医院”,挑了一个黄道吉日正式挂了上去。
一晃十年过去了,又是一个春天,吴大牛的博爱医院已经发展到了内科外科妇科五官科骨科生殖科六个科室,每个科室3到5名医生不等,也耗费巨资购进了血液化验B超等先进仪器,大牛院长也早已脱离了医疗一线,成为了专职的管理者,但是医院的大事小事大家都找他,就这三十多号员工搞的他每天是焦头烂额,想再扩大规模实在是有心无力了。要说还是大学生有水平,老部下刘小明给大牛院长献了一计,把各个科室独立出去,让各个科室主任自己管理,大牛院长只管科室之间的协调和医院发展的大事,这样既能调动基层的积极性,又能把大牛院长解放出来扩大生产抓大事谋大事,岂不妙哉?就这样,博爱医院的新一轮改革轰轰烈烈的展开了。
又是一个十年,又是一个春天,大牛院长已成为本地知名的企业家,博爱医院也发展到了二十三个科室数百名员工,发展中也出现了新问题,由于各个科室独立挂号、收费、化验,有的科室整天忙忙碌碌效益好,有的科室就相对平庸些,连分到的各种检查仪器都不能满负荷运行,整个医院养了不少闲人。这时候大牛院长视野也开阔了,请来了管理专家进行了顶层设计,把原来分散到各个科室的非核心服务全部收归集中管理,把原来二十三个挂号窗口整合为十个,二十三个收费窗口整合为八个,集中布设在一楼大厅为全院服务,还把分散在各个科室的检查仪器集中起来成立独立的检验科,也为全院服务,这样人人有活干,整个医院的服务能力又上了一个新台阶,这轮改革后博爱医院通过了各级部门的鉴定成为了远近驰名的三甲医院,吴大牛也摇身一变成为了博爱集团的CEO兼董事长,下一步就准备IPO上市了。
说到这里大家可能有点糊涂,这个跟微服务有嘛关系?大牛诊所的1.0阶段就相当于软件开发的单体结构,一个程序员打天下,从头编到尾,很难做大做强。大牛诊所的2.0阶段就相当于软件开发的垂直结构,各科室按照业务划分,很容易横向扩展。博爱医院的1.0阶段就相当于软件开发的SOA结构,除了药房(数据库)外各个服务独立提供(科室主任负责),但需要大牛院长(ESB总线)来协调。博爱医院的2.0阶段就相当于软件开发的微服务结构,公共服务院内共享,科室主任管理功能弱化(只管医生业务),优点是扩容方便,哪个部门缺人直接加,不用看上下游,资源利用率高,人员和设备效率高。

1.3 微服务架构的优点

1.4微服务架构图

Spring Boot的发展史及框架的整合方式 2013 年,Spring Boot 开始开发,其目标是简化 Spring 应用的开发和部署。它通过自动配置和起步依赖等特性,大大减少了开发人员在配置文件上花费的时间和精力。2014 年 4 月,Spring Boot 1.0.0 正式发布。这个版本引入了核心特性,如自动配置、起步依赖、命令行界面(CLI)等,为开发人员提供了一种全新的 Spring 应用开发方式。 阅读详情

相关推荐

Open FPV VTX与Betaflight的MSP协议配置详解:从硬件连接到OSD显示

本文详细解析了如何通过MSP协议将Open FPV VTX与Betaflight飞控进行深度集成,实现飞行数据在OSD上的稳定显示。内容涵盖从硬件连接、Betaflight端口MSP服务启用,到VTX侧配置与OSD元素布局调校的全流程,并提供了常见问题的排查思路,帮助FPV玩家构建可靠的数据叠加系统。

weixin_29201933的博客 453

六种微服务架构的设计模式

六种微服务架构的设计模式聚合器微服务设计模式 这是一种最常用也最简单的设计模式,如下图所示:聚合器调用多个服务实现应用程序所需的功能。它可以是一个简单的Web页面,将检索到的数据进行处理展示。它也可以是一个更高层次的组合微服务,对检索到的数据增加业务逻辑后进一步发布成一个新的微服务,这符合DRY原则。另外,每个服务都有自己的缓存和数据库。如果聚合器是一个组合服务,那么它也有自...

weixin_33711641的博客 243

手把手教你用STM32F103的GPIO模拟MIPI RFFE协议(附完整代码与逻辑分析仪调试技巧)

本文详细解析了如何使用STM32F103的GPIO模拟MIPI RFFE协议,包括协议核心、硬件准备、时序模拟、寄存器操作及逻辑分析仪调试技巧。通过实战代码和波形分析,帮助工程师解决电平转换、奇校验处理等常见问题,提升通信稳定性与效率。

weixin_30292745的博客 284

Spring Cloud Alibaba

Spring Cloud Alibaba

qq_52963857的博客 294

不用加速器!Google Earth Pro登录失败自救手册:从服务器连接到地图加载的完整排错流程

本文详细解析了Google Earth Pro登录失败的常见问题及解决方案,包括服务器连接失败、地图加载异常等。通过基础排查、内置修复工具使用和高级配置调整,帮助用户无需加速器即可解决启动问题、黑屏和转圈圈等困扰,提升软件使用体验。

weixin_29227425的博客 482

别再死记硬背了!用Amesim HCD库亲手搭建单向阀、锥阀、球阀模型(附详细参数设置)

本文详细介绍了如何使用Amesim HCD库从零构建单向阀、锥阀和球阀的仿真模型,帮助工程师摆脱死记硬背,掌握物理建模的核心技巧。通过实战案例和参数设置指南,读者将学会如何优化阀门动态响应、验证流量特性以及处理旋转运动等独特挑战,提升液压系统设计效率。

weixin_29248611的博客 501

微服务的演变史(单体式、分布式、SOA架构、微服务架构)

在某种程度上是面向服务的SOA架构的继续发展的下一步,微服务架构更加强调服务的"彻底拆分" 将一个大型系统的各个不同模块按照需求拆分成一个一个的服务,各自独立运行

Strine的博客 1959

从STM32转战小华HC32F448:手把手教你搞定串口复用与超时中断(附完整代码)

本文详细介绍了从STM32迁移到小华HC32F448的串口开发实战指南,重点解析了HC32F448的GPIO复用系统和超时中断机制。通过对比STM32的架构差异,提供了完整的串口配置代码和优化方案,帮助开发者快速掌握HC32F448的串口通信技术,适用于工业控制等应用场景。

weixin_30564901的博客 548

微服务发展的历史_技术分享|微服务模式发展简史

微服务是商业应用程序开发中最热门的新事物。微服务这个词取代了敏捷、DevOps和RESTful,成为了所有简历和大会演讲中都必须提及的新热门词。但微服务并不只是一个流行词或人们一时的兴趣。事实上,它们是所有这些以前的概念的演化结果,是一种开始表现出巨大潜力的,有望解决应用程序开发中许多长期存在的问题的方法。了解微服务是如何发展的、为何获得发展,以及朝哪个方向发展。接下来,为大家分享一篇关于微服务模...

weixin_39898733的博客 1345

Arcgis建筑面shp由DSM和DEM获取高度拉伸并可视化

Arcgis建筑面shp由DSM和DEM获取高度拉伸并可视化

yilvyangguang520的博客 3991

osgearth添加经纬度网格,并显示鼠标所指经纬高度信息

一、代码 osgearth官方例子 #include <osg/Notify> #include <osgGA/StateSetManipulator> #include <osgViewer/Viewer> #include <osgViewer/ViewerEventHandlers> #include <osgEarth/MapNode> #include <osgEarthUtil/EarthManipulator> #

ljjjjjjjjjjj的博客 3564

微服务、容器发展史与关系整理

最近看到微服务的一篇论文,也同时在学习容器,对此查阅了很多好的文章,稍微整理一下。原文链接在最后。 微服务与容器发展史 最大的区别:微服务是一个架构,容器是一个工具 微服务发展史 对于传统企业来说,数字化转型的需求日益迫切,其IT架构面临着互联网融合业务中海量用户和快速迭代的巨大挑战。当前,我们所开发的应用,不管是运行在局域网中还是部署在云端的,都采用了单体架构、分布式架构或微服务架构其中的一种。...

weixin_40581966的博客 2977

手把手教你学基于 Linux 的 NPU 固件开发-第 10 讲:可靠性设计(RAS)——让系统坚如磐石错误检测、纠正与上报机制(ECC、Parity)

组件推荐保护机制备注HBM/DDRScrubbing必须开启,定期巡检片上 SRAMECC(权重/激活值),Parity(指令)权衡面积与可靠性计算单元ABFT或DMR(关键路径)防止计算逻辑错误片上网络CRC重传保证数据传输完整性系统软件AER 上报CE 监控自动恢复闭环管理,杜绝 SDC运维策略预测性维护Checkpoint变被动为主动核心心法(信任硬件,但必须验证。在纳米尺度下,错误是必然发生的物理现象。

MHD0815的博客 91

从spring boot到spring cloud(一)服务的发展史

1、微服务的由来 先上张图来说明一下历史:

terry711的专栏 12万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

微服务发展史

1. 微服务的发展史 - 简书

沙儿的博客 527

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

微服务的发展史

微服务的发展史

qq_40091033的博客 304

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

微服务实战 01 微服务的发展史

微服务实战 01 微服务的发展史

1999的博客 584

微服务,Docker, k8s,Cloud native 云原生的简易发展史

微服务,Docker, k8s,Cloud native 云原生的简易发展史

Harry的博客 1077

浅谈微服务-SpringCloud以及框架发展史

Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。

见证自己学习,成长的记录 1101

Spring Cloud Alibaba#03. 微服务的发展史

本文介绍微服务的发展历史以及架构演变过程 笔记对应视频学习地址: https://www.itlaoqi.com/chapter/2645.html 单体架构 单点架构面临的挑战 用户量越来越大,导致服务器的负载越来越高 用户量大了,为了更好满足客户需求,对系统的要求也越来越复杂 进行优化 横向增加服务器,把单机变为多机集群 按照业务的垂直领域拆分为多个子模块(垂直化拆分) 集群与垂直化架构 面临的挑战 每个子系统都要重复建设通用模块 子系统间信息都是...

qiyi6049650的专栏 2503

为什么要使用微服务?微服务架构的发展史,我们有没有必要在项目里去使用微服务架构

为什么要使用微服务?微服务架构的发展史,我们有没有必要在项目里去使用微服务架构 前言 背景 单体架构 分布式架构 SOA架构 微服务架构 总结

技术博客 816

【秒懂·云原生】微服务篇 —— 微服务究竟是什么?

本文介绍了什么是微服务、微服务的发展史、微服务与云原生的关系

4万+

Dubbo微服务实战购票平台(一) - 简介

1 Dubbo的意义 Dubbo是基于RPC通讯协议,速度更快 Dubbo的多中心配置更灵活 Dubbo可以按需集成其他组件,完成微服务生态环境构建 2 业务架构 3 核心功能 4 知识点 5 技术架构 6 环境 jdk8 64位、Maven 3.0.5、MySQL mysql-5.7.23 Openresty-1.13.6.1、Tomcat 8、Dubbo 2.6...

JavaEdge全是干货的技术号 1800

微服务发展的历史_03. 微服务的发展史

本文介绍微服务的发展历史以及架构演变过程笔记对应的视频学习地址:https://www.itlaoqi.com/chapter/2645.html单体架构单点架构面临的挑战用户量越来越大,导致服务器的负载越来越高用户量大了,为了更好满足客户需求,对系统的要求也越来越复杂进行优化横向增加服务器,把单机变为多机集群按照业务的垂直领域拆分为多个子模块(垂直化拆分)集群与垂直化架构面临的挑战每个子系统都要...

weixin_39995280的博客 287

Java实习模拟面试之JavaWeb发展史:从JSP到微服务的演进之路

你是否具备“技术演进思维”——能否从历史中看到问题,从问题中理解方案,从方案中提炼思想。技术阶段核心问题解决方案设计思想动态网页生成Java替代CGI跨平台MVC框架代码耦合分层+框架职责分离配置繁琐自动配置约定优于配置微服务单体臃肿服务拆分高内聚低耦合给所有Java学习者的建议不要只学“怎么用”,更要问“为什么这样设计”。每一次技术变革,都是前人用血泪教训换来的最佳实践。站在历史的肩膀上,你才能看清未来的方向。

吾为热爱计科,致力于知识分享的践行者,此博客是我在这条道路上留下的足迹。 981
上一篇: SpringBoot构建企业级项目
下一篇: 二.微服务解决方案之Spring Cloud
java-阡陌
博客等级 码龄4年 203粉丝 19原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值