zoukankan      html  css  js  c++  java
  • dubbo概述

    架构历史:

    1、单一应用架构

    缺点:单一的系统架构,当系统变得庞大,复杂后;新的扩展、维护,会变得复杂和困难。
    每次启动系统,都需要启动所有的东西。而你的扩展,有些东西却没有任何关联。

    2、垂直应用机构

    优点:垂直应用架构解决了单一应用架构所面临的扩容问题,能够将流量分散到各个子系统当中,
    而且系统的体积可控,一定程度上降低了开发人员之间的协同以及维护的成本,提升开发效率。
    缺点:但是垂直架构中相同的逻辑代码需要复制,不能复用。

    3、分布式架构

    优点:公共的逻辑业务抽取出来形成对外服务。这样对于维护和升级都只需要针对相应的系统进行。
    也可以让前段业务系统与底层数据访问分离,团队分工更为明确。
    当某个dubbo服务,负载过重时,可以直接增加对应服务的机器数量,用以分担负载。
    此时,dubbo的Monitor,就起到监控作用,统计服务的调用次数和调用时间。
    分布式系统所依赖的基础设施包括服务框架,消息中间件,数据访问中间件,配置中心,分布式缓存系统。
    持久化存储(关系数据库,nosql数据库)、搜索引擎、CDN网络、负载均衡系统、运维自动化系统、硬件虚拟化、
    镜像管理系统,分布式文件系统、日志收集系统、监控系统、离线计算、实时计算、数据仓库等等。

    原理:

    dubbo架构说明

    1、服务提供者(provider)含服务容器(container)
    2、服务消费者(consumer)
    3、注册中心 (registry)
    4、监控中心 (monitor)

    dubbo调用关系:

    1、container启动,将provider注册到registry。
    2、consumer启动,从registry中获取provider。
    3、调用的时候,monitor进行监控统计。
    4、registry维护provider的信息。

    调用关系说明:

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

    健壮性:
      1、注册中心宕机,消费者仍能通过本地缓存的地址列表对提供者进行调用。
      2、监控中心,不影响使用。
    伸缩性:
      1、提供者无状态,可以动态增加机器部署实例。实现高负载。

     

    使用:
      一、协议:
        1、dubbo 缺省协议,采用单一长连接和NIO异步通讯。适用于小数据量大并发的场景。不适用于传递大量的数据服务,如文件,视频等。

  • 相关阅读:
    CRB and His Birthday(2015多校)
    B. Bear and Three Musketeers
    Uva657
    cas服务端改造
    有用的maven插件
    maven管理的非标准目录
    struts2中的action交由spring管理
    数据库分库
    linux内核系列之二_资源
    linux内核系列之一_工具
  • 原文地址:https://www.cnblogs.com/chen--biao/p/9646891.html
Copyright © 2011-2022 走看看