• 分布式RPC框架Apache Dubbo


    一、Dubbo架构图详解。

     1.节点角色说明

    • provider:暴露服务的服务提供方
    • Consumer:调用远程服务的服务消费方
    • Registry:服务注册与发现的注册中心
    • Monitor:统计服务的调用次数和调用时间的监控中心
    • Container:服务运行容器

      虚线都是异步访问,实线都是同步访问。

      蓝色虚线:在启动时完成的功能。

      红色虚线(实线)都是程序运行过程中执行的功能。

    2.调用关系说明

    1. 服务容器负责启动,加载,运行服务提供者。
    2. 服务提供者在启动时,向注册中心注册自己提供的服务。
    3. 服务提供者在启动时,向注册中心注册自己提供的服务。
    4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给 消费者。
    5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
    6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

    二、服务注册中心Zookeeper

      Dubbo官方推荐使用Zookeeper作为服务注册中心

    1.Zookeeper树型目录服务:

     2.流程详细说明

    • 服务提供者(Provider)启动时: 向 /dubbo/com.foo.BarService/providers 目录下写入自己的 URL 地址
    • 服务消费者(Consumer)启动时: 订阅 /dubbo/com.foo.BarService/providers 目录下的提供者 URL 地址。并向 /dubbo/com.foo.BarService/consumers 目录下写入自己的 URL 地址
    • 监控中心(Monitor)启动时: 订阅 /dubbo/com.foo.BarService 目录下的所有提供者和消费者 URL 地址

    三、服务提供方和消费方开发需要引入的Dubbo相关依赖

    <!-- dubbo相关 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>dubbo</artifactId>
        <version>2.6.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>3.4.7</version>
    </dependency>
    <dependency>
        <groupId>com.github.sgroschupf</groupId>
        <artifactId>zkclient</artifactId>
        <version>0.1</version>
    </dependency>
    <dependency>
        <groupId>javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.12.1.GA</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.47</version>
    </dependency>
  • 相关阅读:
    浅析微服务全链路灰度解决方案
    作业帮在线业务 Kubernetes Serverless 虚拟节点大规模应用实践
    重磅发布 | Serverless 应用中心:Serverless 应用全生命周期管理平台
    你不知道的 HTTPS 压测
    应用实时监控服务 ARMS 4 月功能新鲜快报
    托管式服务网络:云原生时代的应用体系架构进化
    可观测|时序数据降采样在Prometheus实践复盘
    巧用API网关构建大型应用体系架构
    卓越工程实践之—前端高质量单测
    科普达人丨一文看懂阿里云的秘密武器“神龙架构”
  • 原文地址:https://www.cnblogs.com/zhangzhongkun/p/15987583.html
Copyright © 2020-2023  润新知