zoukankan      html  css  js  c++  java
  • Dubbo+zookeeper 基础讲解

    一、dubbo是什么?

    1)本质:一个Jar包,一个分布式框架,,一个远程服务调用的分布式框架。

    既然是新手教学,肯定很多同学不明白什么是分布式和远程服务调用,为什么要分布式,为什么要远程调用。我简单画个对比图说明(图1看到图2。画板画的,勿喷)。

    「dubbo专题」dubbo其实很简单,就是一个远程服务调用的框架(1)


    你想一下,以前什么的都在一个服务器上,调用方法直接就自然而然调用了,没啥问题。现在因为需求增多拆分了这么多个,部署在不同的服务器上,那是不是相对以前都在一个服务器上,现在分布式后,web层调用service层的服务变成了远程调用?那怎样像以前那样都在一个服务器上自然而然调用方法呢?dubbo来解决。这就是下面dubbo的好处。

    二、Dubbo的好处?

    1.透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。

    2.软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。

    3. 服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。(下面讲解)

    Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。

    三、dubbo架构图如下所示:

    讲解他的架构图之前,我们先普及下几个概念。

    节点角色说明:

    Provider(生产者): 暴露服务的服务提供方。

    Consumer(消费者): 调用远程服务的服务消费方。

    如图,我们可以简单理解为web1234需要调用service1234的服务,所以web1234是消费者,service1234是生产者。

    「dubbo专题」dubbo其实很简单,就是一个远程服务调用的框架(1)

    那如果按照上面,消费者调用生产者的服务,那是不是如下图:

    「dubbo专题」dubbo其实很简单,就是一个远程服务调用的框架(1)

    你看着晕不晕?晕不晕?晕不晕?反正我是晕了,万一分布式得更多呢?,所以我们需要他:

    Registry(注册中心): 服务注册与发现的注册中心。dubbo推荐的是zookeeper。什么是zookeeper?zookeeper是用于分布式中一致性处理的框架。更多的可以查看我之前的文章:这么说吧,zookeeper 很简单,其实就是个框架,是一致性处理用的。简单的讲,zookeeper就是个中介,卖楼的(生产者)把楼盘信息放在中介(注册中心)那里,想买楼的(消费者)去中介那里获得楼盘资源清单。于是,我们的图变成了这样:

    「dubbo专题」dubbo其实很简单,就是一个远程服务调用的框架(1)

    是不是好很多了?还不够, 我们还需要个监控中心(干嘛用的?当然是监控用的,调用失败怎么办?挂了怎么办?): Monitor: 统计服务的调用次调和调用时间的监控中心。(不画图了)

    然后,Provider放在容器里运行,就叫做Container服务运行容器。(不画图了)

    最终dubbo架构,如图(从0开始看起):

    「dubbo专题」dubbo其实很简单,就是一个远程服务调用的框架(1)

    自己脑海里按照上图走了一遍后,看看自己想的是不是和下面说明一样。

    0 服务容器负责启动,加载,运行服务提供者。

    1. 服务提供者(生产者)在启动时,向注册中心注册自己提供的服务。

    2. 服务消费者在启动时,向注册中心订阅自己所需的服务。

    3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

    4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

    5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

    转载:https://www.cnblogs.com/a8457013/p/7818925.html

  • 相关阅读:
    支持向量机SVM知识点概括
    决策树知识点概括
    HDU 3081 Marriage Match II
    HDU 3572 Task Schedule
    HDU 4888 Redraw Beautiful Drawings
    Poj 2728 Desert King
    HDU 3926 Hand in Hand
    HDU 1598 find the most comfortable road
    HDU 4393 Throw nails
    POJ 1486 Sorting Slides
  • 原文地址:https://www.cnblogs.com/wuzm/p/11300036.html
Copyright © 2011-2022 走看看