zoukankan      html  css  js  c++  java
  • dubbo 学习1

    1.高性能优秀的服务框架,应用可通过高性能的RPC实现服务的输出和输入功能,可以和spring框架无缝集成。

    2.主要核心部件

      a。remoting 网络通信框架 实现了sync-over-asnc 和request-response消息机制

      b  RPC 一个远程过程调用的抽象,支持负载均衡,容灾和集群功能

      c  Registry 服务目录框架用于服务的注册和服务事件发布和订阅

    3 工作原理 

      provider 服务提供者

      consummer 服务消费者

      registry 服务注册于发现中心,服务注册中心

      monitor 统计服务的调用和调用时间的日志服务 服务监控中心

      container 服务容器

    步骤:

      1.服务容器启动,加载,运行服务提供者

      2.服务提供者在启动时,向注册中心提供自己的服务

      3 服务消费者在启动时,向注册中心订阅自己的服务

      4 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心会同步

      5 服务消费者基于负载均衡算法,选一台提供者进行调用,

      6 调用次数和时间,定时每分钟发送到监控中心

        

    4 实践

      a 服务端项目,maven引入

      

    <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <version>2.5.3</version>
    </dependency>

    <dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.4.6</version>
    </dependency>

    <dependency>
    <groupId>com.github.sgroschupf</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.1</version>
    </dependency>

    b  application.xml

    <!-- 提供方应用信息  -->
    <dubbo:application name="dubbo_provider"/>

    <!-- 定义dubbo服务的注册zk地址,check 注册不存在时,是否报错,subscribe 是否向注册中心订阅服务 address集群卑职  --> 

    <dubbo:registry address="zookeeper://192.168.59.128:2181?backup=192.168.59.128:2182,192.168.59.128:2183" check="false" subscribe="false" register=""></dubbo:registry>

    <!-- 定义服务端接口->

      <dubbo:service interface="com.huaguo.dubbo.IRegisterService" ref="registerService" />       


    c  客户端 

    <!-- 提供方应用信息,用于计算依赖关系 -->
    <dubbo:application name="dubbo_consumer"/>

    <!-- 使用zookeeper注册中心暴露服务地址
    check 注册中心不存在时,是否报错
    subscribe 是否向此注册中心订阅服务,如果设为false,将只注册,不订阅
    address 可以是集群配置,地址可以多个逗号隔开 -->
    <dubbo:registry address="zookeeper://192.168.59.128:2181?backup=192.168.59.128:2182,192.168.59.128:2183" check="false"></dubbo:registry>
    <!-- 要暴露的服务接口
    interface 服务接口路径
    ref 引用对应的实现类bean的id -->
    <dubbo:reference interface="com.huaguo.dubbo.IRegisterService" id="registerService"></dubbo:reference>

    客户端就像调用本地服务一样调用registerService服务。

      

  • 相关阅读:
    Java中子类继承了父类的私有属性及方法吗?
    为什么静态成员、静态方法中不能用this和super关键字
    poj 3378 二维树状数组
    poj 3034 动态规划
    poj 2498 动态规划
    poj 2029 二维树状数组
    hdu 3280 动态规划
    hdu 2586 LCA
    poj 3689 树形dp
    poj 1947 树形dp
  • 原文地址:https://www.cnblogs.com/suixin84/p/6703770.html
Copyright © 2011-2022 走看看