架构的演进

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

1.1单体架构

单体架构也称之为单体系统或者是单体应用。就是一种把系统中所有的功能、模块耦合在一个应用中的架构方式。

架构的演进,dubbo

存在的问题:

  1. 代码耦合:模块的边界模糊、依赖关系不清晰,整个项目非常复杂,每次修改代码都心惊胆战
  2. 迭代困难:每次功能的变更或bug的修复都会导致重新部署整个应用,随着代码的增多,构建、测试和部署的时间也会增加
  3. 扩展受限:单体应用只能作为一个整体进行扩展,无法根据业务模块的需要进行伸缩
  4. 技术债务:随着时间推移、需求变更和人员更迭,会逐渐形成应用程序的技术债务,并且越积越多不坏不修
  5. 阻碍创新:单体应用往往使用统一的技术平台或方案解决所有的问题,要想引入新技术平台会非常困难

1.2分布式架构 

分布式:需要按照功能点把系统拆分,拆分成独立的功能,单独为某一个节点添加服务器,需要系统之间配合才能完成整个业务逻辑。

架构的演进,dubbo

分布式架构优点:

  1. 不同的团队负责不同的子项目
  2. 可以灵活的进行分布式部署
  3. 可以为某一模块单独加集群

分布式架构缺点:

  1. 模块之间有一些通用的业务逻辑无法共用。

1.3soa架构 

SOA:Service Oriented Architecture(面向服务的架构)。也就是把工程拆分成服务层,表现层两个工程。服务层中包含业务逻辑,只需要对外提供服务即可。表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现,使用ESB(Enterparise Servce Bus企业服务总线,代表技术:Mule、WSO2)提供表现层和服务层之间的交互。

架构的演进,dubbo

存在的问题:

  1. 不支持集群、臃肿

1.4微服务架构

微服务架构是一种架构模式,或者说是一种架构风格,它提倡将单一的应用程序划分成一组小的服务,每个服务运行在其独立的自己的进程内,服务之间相互协调,互相配合,为服务提供最终的价值。服务之间采用轻量级的通信机制互相沟通,每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境中,另外,应尽量避免统一的,集中式的服务管理机制,对具体的一个服务而言,应根据服务上下文,选择合适的语言,工具进行构建,可以有一个非常轻量级的集中式管理来协调这些服务,可以使用不同的语言来编写服务,也可以使用不同的数据存储。

从技术维度理解:

微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底的去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程的概念,能够自行单独启动或销毁,拥有自己独立的数据库。

优点

●单一职责原则

●每个服务足够内聚,足够小,代码容易理解,这样能聚焦一个指定的业务功能或业务需求;

●开发简单,开发效率提高,一个服务可能就是专-的只干一件事;

●微服务能够被小团队单独开发,这个小团队是2~5人的开发人员组成;

●微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。

●微服务能使用不同的语言开发。

●易于和第三方集成,微服务允许容易且灵活的方式集成自动部署,通过持续集成工具,如jenkins, Hudson,bamboo

●微服务易于被一 个开发人员理解,修改和维护,这样小团队能够更关注自己的工作成果。无需通过合作才能体现价值。

●微服务允许你利用融合最新技术。

●微服务只是业务逻辑的代码,不会和HTML,CSS 或其他界面混合

●每个微服务都有自己的存储能力,可以有自己的数据库,也可以有统- 数据库

缺点:

●开发人员要处理分布式系统的复杂性

●多服务运维难度,随着服务的增加,运维的压力也在增大●系统部署依赖

●服务间通信成本

●数据一致性

1.5分布式系统中的相关概念

1.5.1衡量网站性能指标:

  • 响应时间:指执行一个请求从开始到最后收到相应数据所花费的总体时间
  • 并发数:指系统同时能处理的请求数量

          ①并发连接数:指的是客户端向服务器发起的请求,并建立了TCP连接,每秒钟服务器连接的总的TCP数量

          ②请求数:也称为QPS(Query Per Second)指每秒多少请求

          ③并发用户数:指单位时间内有多少用户

  • 吞吐量:指单位时间内系统能处理的请求数量 

         ①QPS:Query Per Second每秒查询数

         ②TPS:Transaction Per Second每秒事务数

         ③一个事务是指一个客户机向服务器发送请求然后服务器做出的反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。 

1.5.2集群和分布式 

集群:很多人“人”一起,干一样的事

  • 一个业务模块,部署在多台服务器上。

分布式:很多“人”一起,不干一样的事,这些不一样的事,合起来就是一件大事。

  • 一个大的业务系统,拆分为小的业务模块,分别部署在不同的机器上。

1.5.3微服务架构 

微服务架构是在SOA 上做的升华,微服务架构强调的是一个重点是“业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成。

微服务架构=80%的SOA服务架构思想+100%的组件化架构思想+80%的领域建模思想

特点:

      ①服务实现组件化:开发者可以自由选择开发技术,也不需要协调其他团队

      ②服务之间交互一般使用REST API 

      ③去中心化:每个微服务有自己私有的数据库持久化业务数据文章来源地址https://www.toymoban.com/news/detail-808970.html

架构的演进,dubbo

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

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

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

相关文章

  • 《凤凰架构》第一章——服务架构演进史

    前言 刚开始决定弄懂文中所提到的所有东西,就像我写ByteByteGo呢几篇文章一样,把每一句话都弄懂。但是对于《凤凰架构》来说,这有点太费时间了,并且没有必要,有些东西可能永远都不会用到,但文章为了全面的介绍一个内容,会提到那些东西。所以我还是针对一些自

    2024年02月14日
    浏览(46)
  • 【架构】互联网应用开发架构演进历程

    首先我们了解下计算机软件的发展历史,大概总结概括,分为c/s时代,web1.0时代和web2.0时代。 c/s时代:富客户端方案。卖软件可赚钱。​例如 qq、影音、游戏。 1.0时代:主要是单向信息的发布,即信息门户—广大浏览器客户端​ ,互联网内容是由少数编辑人员(或站长)定制的

    2023年04月26日
    浏览(66)
  • 大型网站架构演进过程

    大型网站的技术挑战主要来自于庞大的用户,高并发的访问和海量的数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得很棘手。大型网站架构主要就是解决这类问题。 架构选型是根据当前业务需要来的,在满足业务需求的前提下,既要

    2024年02月08日
    浏览(43)
  • 合约广告平台架构演进实践

    作者 | 王悦凯 导读 从事B端业务系统研发多年,不免会有这样的思考:B端系统的技术挑战是什么?什么样的业务架构算好架构?本文结合百度合约广告业务的发展历程,介绍广告投放平台从单体架构到微服务架构演进过程中碰到的问题和思考。希望通过本文的介绍,让大家更

    2024年02月02日
    浏览(39)
  • 淘宝技术架构演进

    看了《淘宝技术这十年》,总结于此。 从无到有 2003年,eBay 和易趣在资本方面正打得不可开交,那怎么在最短的时间内把一个网站从零开始 建立起来呢? 淘宝为了尽快上线,仅花了一个月把买来的LAMP(Linux+ Apache+MySQL+PHP)改造上线。主要的改造是:从一个数据库进行所有的

    2024年02月06日
    浏览(46)
  • 电商系统架构演进

    具体以电子商务网站为例, 展示web应用的架构演变过程。 这个时候是一个web项目里包含了所有的模块,一个数据库里包含了所需要的所有表,这时候网站访问量增加时,首先遇到瓶颈的是应用服务器连接数,比如tomcat连接数不能无限增加,线程数上限受进程内存大小、CPU内

    2024年02月08日
    浏览(37)
  • 演进式架构

    演进能力是一种元特征和保护其他所有架构特征的架构封装器 IEEE 的软件架构定义中的4+1 视图模型。它关注不同角色的不同视角,将整个系统划分成了逻辑视图、开发视图、进程视图和物理视图 架构师确定了可审计性、数据、安全性、性能、合法性和伸缩性是该应用的关键

    2024年02月12日
    浏览(32)
  • 架构的演进

    单体架构也称之为单体系统或者是单体应用。就是一种把系统中所有的功能、模块耦合在一个应用中的架构方式。 存在的问题: 代码耦合:模块的边界模糊、依赖关系不清晰,整个项目非常复杂,每次修改代码都心惊胆战 迭代困难:每次功能的变更或bug的修复都会导致重新

    2024年01月20日
    浏览(31)
  • 八种架构演进

    日升时奋斗,日落时自省 目录 1、单机架构 2、应用数据分离架构 3、应用服务集群架构 4、读写分离/主从分离架构 5、冷热分离架构 6、垂直分库架构 7、微服务架构 8、容器编排架构 9、小结 特征:应用服务和数据库服务器公用一台服务器 出现场景:访问量较小,单机可以满

    2024年02月12日
    浏览(31)
  • 开放网关架构演进

    作者:庄文弘(弘智) 淘宝开放平台是阿里与外部生态互联互通的重要开放途径,通过开放的产品技术把阿里经济体一系列基础服务,像水、电、煤一样输送给我们的商家、开发者、社区媒体以及其他合作伙伴,推动行业的定制、创新、进化, 并最终促成新商业文明生态圈。

    2024年02月12日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包