微服务之架构演变

这篇具有很好参考价值的文章主要介绍了微服务之架构演变。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

随着互联网的发展,网站应用规模不断扩大,网站架构随之不断演变,演变历史大致分为单体应用架构-垂直应用架构-分布式架构-SOA架构-微服务架构-云原生架构

架构演变

单体应用架构

以前网站流量小,只需要一个应用就可以把所有功能部署在一起,比如一个电商系统,包含很多模块,我们部署到一个tomcat里服务器上。
微服务之架构演变,架构,微服务,云原生

优点:

架构简单,容易开发,部署

缺点:

不易维护、扩展(模块耦合,难以针对某个模块性优化以及水平扩展)
单点容错率低

垂直应用架构

随着访问量增大,单一架构只能依靠增加节点来应对,但是不是多有模块都有较大访问量,所以产生垂直应用架构,把一个应用拆成几个互不相干的应用。
微服务之架构演变,架构,微服务,云原生

优点

流量分担
解决并发问题
进行优化和水平扩展
提高容错率(一个系统的问题不会影响到其他系统)

缺点:

系统之间相互独立, 无法进行相互调用, 会有重复的开发任务

分布式架构

当垂直应用越来越多,重复的业务代码就会越来越多。这时候,我们就思考可不可以将重复的代码 抽取出来,做成统一的业务层作为独立的服务,然后由前端控制层调用不同的业务层服务呢?

这就产生了新的分布式系统架构。它将把工程拆分成表现层和服务层两个部分,服务层中包含业务 逻辑。表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。
微服务之架构演变,架构,微服务,云原生

优点

抽取公共的功能为服务层,提高代码复用性

缺点

系统间耦合度变高,调用关系错综复杂,难以维护

SOA架构

在分布式架构下,当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加 一个调度中心对集群进行实时管理。
微服务之架构演变,架构,微服务,云原生

优点

使用注册中心解决了服务间调用关系的自动调节

缺点

服务间会有依赖关系,一旦某个环节出错会影响较大( 服务雪崩 )
服务关系复杂,运维、测试部署困难

微服务架构

微服务架构在某种程度上是面向服务的架构SOA继续发展的下一步,它更加强调服务的"彻底拆分"。
微服务之架构演变,架构,微服务,云原生

优点

服务原子化拆分,独立打包、部署和升级,保证每个微服务清晰的任务划分,利于扩展
微服务之间采用Restful等轻量级http协议相互调用

缺点

分布式系统开发的技术成本高(容错、分布式事务等)

云原生架构

云原生架构是为了更好地适应云计算环境而提出的一种软件架构方式。其产生原因包括:

  • 弹性和可扩展性需求: 云计算提供了弹性和可扩展性的优势,可以根据负载情况动态调整资源。云原生架构可以更好地利用这些特性,使应用能够快速地响应变化。
  • 容器化技术的兴起: 容器化技术如Docker的出现,使得应用能够以一种轻量级、可移植的方式打包和交付。云原生架构将容器作为核心组件,从而使应用更具可移植性和一致性。
  • 持续集成/持续交付(CI/CD): 云原生架构鼓励使用自动化的持续集成和持续交付流程,使得软件交付更加频繁、可靠,从而更好地适应快速变化的市场需求。
  • 微服务架构的兴起: 云原生架构通常采用微服务架构,将应用拆分成一组小型、独立部署的服务。这样可以提高开发速度、可维护性和可伸缩性。
  • 基础设施即代码(IaC): 云原生架构鼓励使用基础设施即代码的方法来管理基础设施,使得基础设施的创建、配置和管理变得更加灵活和可重复。

微服务之架构演变,架构,微服务,云原生文章来源地址https://www.toymoban.com/news/detail-695308.html

优点:

  • 灵活性和可伸缩性: 云原生架构允许应用根据需要自动伸缩,以适应不断变化的负载情况,从而提供更好的用户体验。
  • 高可用性: 通过将应用拆分成多个微服务,并在多个地理位置部署,可以实现更高的可用性和容错性。
  • 快速交付: 采用云原生架构,应用可以更快地进行持续集成和持续交付,从而更快地交付新功能和修复。
  • 资源利用率: 云原生架构可以更好地利用云计算的资源弹性,避免资源浪费。
  • 跨平台兼容性: 云原生架构使用容器作为交付机制,可以在不同的云平台和环境中运行,提高了可移植性。

缺点:

  • 学习曲线: 云原生架构需要开发团队熟悉新的技术和方法,可能需要一定的学习曲线。
  • 复杂性: 拆分成微服务和使用容器等技术增加了系统的复杂性,需要更高的管理和维护成本。
  • 安全性: 由于微服务的分布和容器化,可能增加了一些安全风险,需要额外的安全措施。
  • 资源消耗: 由于容器化技术本身会带来一定的资源开销,可能需要更多的资源来支持同样的工作负不适用于所有应用: 云原生架构不适用于所有应用,特别是那些对基础架构依赖较大的传统应用。
    总之,云原生架构在适应现代云计算环境和提高开发效率方面具有明显优势,但也需要考虑到其带来的复杂性和管理挑战。是否选择采用云原生架构取决于具体应用场景和团队的技术能力。

到了这里,关于微服务之架构演变的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 系统架构的演变:从单体到微服务的旅程

    随着信息技术的快速发展,系统架构也在不断演变。从早期的单体架构到现代的微服务架构,每一次的变革都带来了更高的灵活性和可扩展性。本文将通过图解和代码示例,详细介绍系统架构的演变过程,并探讨微服务架构的优势和适用性。 单体架构是最早的系统架构之一,

    2024年01月18日
    浏览(40)
  • SpringCloud(一) 服务架构的演变及注册RestTemplate实现服务的远程调用

    目录 一, 服务架构的演变 1.1 单体架构 1.2 分布式架构 1.3 微服务 1.4 SpringCloud 二, 服务拆分和远程调用 2,1 服务拆分原则 2.2 服务拆分示例 2.3 创建相应数据库  2.4 实现远程调用示例 1, 更改需求 2, 注册RestTemplate实现远程调用  2.5 服务消费者和提供者 将业务的所有功能集中在一

    2024年02月08日
    浏览(38)
  • 【业务功能篇73】web系统架构演变-单体-集群-垂直化-服务化-微服务化

    1.1 单体架构 单体架构应该是我们最先接触到的架构实现了,在单体架构中使用经典的三层模型,即表现层,业务逻辑层和数据访问层。 单体架构只适合在应用初期,且访问量比较下的情况下使用,优点是性价比很高,开发速度快,成本低,但缺点也很明显,这时扩展的首先

    2024年02月11日
    浏览(49)
  • Spring Cloud Alibaba 微服务1,系统架构演变 + Nginx反向代理与负载均衡

    🏆作者简介: 哪吒 ,CSDN2022博客之星Top1、CSDN2021博客之星Top2、多届新星计划导师✌、博客专家💪 , 专注Java硬核干货分享,立志做到Java赛道全网Top N。 🏆本文收录于 Java基础教程系列(进阶篇) ,本专栏是针对大学生、初级Java工程师精心打造, 针对Java生态,逐个击破,

    2024年02月02日
    浏览(50)
  • 网站架构演变、LNP+Mariadb数据库分离、Web服务器集群、Keepalived高可用

    目录 day02 深入理解程序的数据存储 验证 配置NFS服务器 配置代理服务器 配置名称解析 程序将文字数据保存到数据库中 程序将非文字数据(如图片、视频、压缩包等)保存到相应的文件目录中 验证 发一篇文章,文章内容包含文字和图片 在数据库中查看文字数据。在最新的一

    2024年02月20日
    浏览(43)
  • 深入探索JavaEE单体架构、微服务架构与云原生架构

    链接: https://pan.baidu.com/s/1xSI1ofwYXfqOchfwszCZnA?pwd=4s99 提取码: 4s99 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v4的分享 🔍【00】模块零:开营直播:精彩直播课程带你全面了解最新技术动态,为学习之旅打下良好基础!🎥💻 🏠【01】模块一:

    2024年02月12日
    浏览(43)
  • 微服务架构2.0--云原生时代

    云原生(Cloud Native)是一种关注于在云环境中构建、部署和管理应用程序的方法和理念。云原生应用能够最大程度地利用 云计算基础设施的优势,如弹性、自动化、可伸缩性和高可用性 。这个概念涵盖了许多方面,包括 架构、开发、部署、运维 和团队文化等 容器化: 将应

    2024年02月11日
    浏览(34)
  • 浅析云原生时代的服务架构演进

    摘要: 相比于传统的微服务架构,云原生和 serverless 技术更加灵活、高效,能够更好地满足用户的需求。 本文分享自华为云社区《《凤凰架构》学习和思考——云原生时代的服务架构演进史》,作者:breakDawn。 随着云原生的概念越来越火,服务的架构应该如何发展和演进,

    2023年04月10日
    浏览(75)
  • 单机架构到分布式架构的演变

    目录 1.单机架构 2.应用数据分离架构 3.应用服务集群架构 4.读写分离 / 主从分离架构 5.引入缓存 —— 冷热分离架构 6.垂直分库 7.业务拆分 —— 微服务 8.容器化引入——容器编排架构 总结          初期,我们需要利用我们精干的技术团队,快速将业务系统投入市场进行

    2024年02月04日
    浏览(45)
  • 数据库架构演变过程

    🚀 ShardingSphere 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股

    2024年02月14日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包