• 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;

    微服务架构

  • 相关阅读:
    基于.Net 的 AvaloniUI 多媒体播放器方案汇总
    学习笔记-接口测试(postman、jmeter)
    前端开发中遇到的复杂数据求和问题
    Arthas 监听 Docker 部署的java项目CPU占比高的信息
    牛客练习赛100 A.小红的小桃子(exgcd)
    基于遗传算法的南昌周边城市旅游规划研究(Python实现)
    大数据ClickHouse(十二):MergeTree系列表引擎之CollapsingMergeTree
    【力扣】三角形最小路径和
    语音信号处理(二): 发声生理、听觉生理与听觉心理
    Java:Java中的堆栈和堆内存
  • 原文地址:https://blog.csdn.net/qq_41243472/article/details/132995514