• Dubbo3应用开发——架构的演变过程


    Dubbo3应用开发——架构的演变过程

    什么是Dubbo

    1. 早期Dubbo的定位;

      基于Java的高性能,轻量级的RPC框架;SOA【Service-Oriented Architecture ⾯向服务的架构】 = RPC+服务治理;

    2. 2018年阿⾥巴巴把这个框架捐献给了 Apache 基⾦会,正式更名为 Apache Dubbo。最新版本为Dubbo3.x Apache Dubbo 是⼀款易⽤、⾼性能的WEB和RPC 框架,同时为构建企业级微服务提供服务发现、流量治理、可观测、认证鉴权等能⼒、⼯具与最佳实践。

    3. Dubbo3 已在阿⾥巴巴内部微服务集群全⾯落地,成功取代运⾏多年的 HSF 框架。依托于Dubbo3,阿⾥提出了⾃⼰的微服务解决⽅案DNS(Dubbo + nacos + sentinel);

    4. 经过孵化,Dubbo⽬前成为Apache的顶级项⽬。

      官方⽹站:

      https://dubbo.apache.org/zh-cn/

      GitHub:

      https://github.com/apache/dubbo

    SOA与微服务

    时⾄今⽇,SOA与微服务架构基本可以统⼀成⼀个概念了。

    单体结构

    单体架构

    问题:

    1. 热点问题(某个子系统访问量大,导致其他子系统的访问出现问题);
    2. 扩展性差,新资源的分配力度不精确(门户系统访问量,增加机器,增加服务器tomcat。但是新增的资源,不能精确给到门户);
    3. 模块(子系统)耦合度高、相互影响(修改某一个子系统的代码,产生了问题,影响其他的子系统);
    4. 维护部署成本高(某次发布,只更新了后台管理的(订单模块),但是因为是单体架构,所以会发布整个系统;
    5. 技术栈受限,必须使用相同的编程语言开发不同的子系统。

    水平扩展 (集群构建)

    水平扩展

    比较单体架构,水平分割架构的好处是:

    1. 提高了系统的稳定性,—台节点出现问题,不会影响整个系统;
    2. 提高了系统的硬件支撑;
    3. 提高了系统并发的能力;

    但是没有根本上解决单体架构的问题:

    1. 热点问题(某个子系统访问量大,导致其他子系统的访问出现问题);
    2. 扩展性差,新资源的分配力度不精确(门户系统访问量,增加机器,增加服务器tomcat。但是新增的资源不能精准的分配;
    3. 模块(子系统)耦合度高、相互影响(修改某一个子系统的代码,产生了问题,影响其他的子系统);
    4. 维护部署成本高(某次发布,只更新了后台管理的(订单模块),但是因为是单体架构,所以会发布整个系统);
    5. 技术栈受限,必须使用相向的编程语言开发不同的子系统。

    垂直架构

    垂直架构

    RPC架构[Remote Procedure CaLL]

    RPC架构是由垂直架构发展而来的;

    RPC架构

    SOA架构[Service-Oriented Architecture]

    SOA架构是RPC架构的演化。代表框架Dubbo:

    1. RPC
    2. 服务治理
    3. ESB
    RPC架构出现的问题

    RPC架构出现的问题

    如果我们右侧的订单模块只有一个,如果订单模块挂了,会影响整个调用链条;如果订单模块访问量大,只有一个会顾不过来;

    所以我们可以对订单模块进行水平扩展,但是不具备可操作性,因为不能单独为订单模块做集群(订单是后台管理模块的一个功能);

    SOA架构

    SOA架构

    可以把订单模块从后台管理系统中抽取成一个服务;可以把订单模块单独放到一个jvm中;

    企业服务总线 ESB

    企业服务总线 ESB

    微服务架构

    微服务是SOA架构的升级,在微服务体系统中,没有⼦系统了,全部都是服 务化功能。微服务架构代表框架,SpringCloud,DNS;

    微服务架构

  • 相关阅读:
    [附源码]计算机毕业设计人事管理系统Springboot程序
    机器学习(五)逻辑回归
    食品赛道崛起,舌尖美食走俏礼品市场
    猿创征文 第二季|业务总结 #「笔耕不辍」--生命不息,写作不止#
    线扫相机DALSA软件开发套件有哪些
    Spring循环依赖
    Postman的使用——设置全局参数,参数的传递,从登录接口的响应body中提取数据更新全局参数,从响应cookie中提取数据更新全局变量
    JVM内存模型与垃圾回收
    Apache Dubbo的@SPI接口应用
    【漏洞复现】Salia PLCC cPH2 远程命令执行漏洞(CVE-2023-46359)
  • 原文地址:https://blog.csdn.net/qq_41243472/article/details/132995514