• 技术文章 >php教程 >php手册

    Dubbo+zokeeper基础讲解

    坏嘻嘻坏嘻嘻2018-09-14 11:09:56原创2949
    dubbo本质:一个Jar包,一个分布式框架,,一个远程服务调用的分布式框架。

    一、dubbo是什么?


    1)既然是新手教学,肯定很多同学不明白什么是分布式和远程服务调用,为什么要分布式,为什么要远程调用。我简单画个对比图说明(图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)

    相关推荐:

    淘宝Amoeba构架MySQL分布式数据库环境_MySQL

    日均百万PV架构第四弹(分布式监控)_MySQL

    以上就是Dubbo+zokeeper基础讲解的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:Dubbo,zokeeper
    上一篇:CI框架中数据库操作函数$this->db->where()相关用法总结 下一篇:没有了
    大前端线上培训班

    相关文章推荐

    • 利用rabbit mq.模拟dubbo,使MQ异步调用• 关于注解的Dubbo服务配置实例详解• 一个分布式服务框架--Dubbo实例• dubbo 2.5.4-SNAPSHOT 源码编译

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网