zoukankan      html  css  js  c++  java
  • dubbo核心要点及下载(dubbo二)

    一、dubbo核心要点

    1):服务是围绕服务提供方和服务消费方的,服务提供方实现服务,服务消费方调用服务。

    2):服务注册

      对于服务提供方它需要发布服务,而由于应用系统的复杂性,服务的数量、类型不断的膨胀。

      对于服务消费方,它最关心如何获取它所需要的服务。而面对复杂的应用系统,需要管理大量的服务调用。

    而且对于服务提供方和服务消费方来说,它们还有可能同时兼具这两种角色,即需要提供服务,又需要消费服务。

       通过服务统一管理起来,可以有效的优化内部应用。对服务发布/使用的流程管理。服务注册中心可以通过特

    定协议来完成服务对外的统一。

    dubbo提供的服务注册中心有以下几种:

     ①Multicast注册中心,又叫广播、组播,是一个在局域网的环境。主要用于本地测试。

     ②zookeeper注册中心,官方推荐。用于上线发布。

     ③redis注册中心

     ④simple注册中心

    3):服务监控

      无论服务消费方,还是服务提供方,都要对服务的实际调用状态进行有效的监控。从而改进服务质量。

    4):远程通信与信息交换

      远程通信需要指定通信双方所约定的协议。在保证通信双方理解协议语义的基础上,还需要保证高效、稳定的

    消息传输。dubbo集成了当前主流的网络通信框架,主要包括如下几个:

    Nina、Netty、Grizzly(它们可以理解为对socket的封装)

    5):服务调用

      节点角色说明:

      Registry:服务注册与发现的注册中心

      Consumer:调用远程服务的服务消费方

      Provider:暴露服务的服务提供方

      Monitor:统计服务的调用次数和调用时间的监控中心

      Container:服务运行容器

      调用关系说明:

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

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

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

      3、注册中心返回服务提供者地址列表给服务消费者。如果有变更,服务注册中心将使用长连接

    推送变更数据给消费者

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

    调用失败,再选另一台调用

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

    中心

    知识补充:

    长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
     
    短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。
     
    长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况。每个TCP连接都需要三步握手,这需要时间,如果每个操作都是短连接,
    再操作的话那么处理速度会降低很多,所以每个操作完后都不断开,下次处理时直接发送数据包就OK了,不用建立TCP连接。例如:数据库的
    连接用长连接,如果用短连接频繁的通信会造成socket错误,而且频繁的socket 创建也是对资源的浪费。

    二、下载

      1):获取dubbo

      dubbo可以直接在maven的中央仓库获取,它是阿里巴巴的开源项目

      2):获取dubboX

      dubboX中央仓库没有,需要从github下载并且在本地编译才能使用。

      下载地址:https://github.com/hutai123/dubbox

      dubbo和dubbox均是基于maven进行项目管理与构建的。源码下载后进行编译打包,即可将dubbo放入

    本地仓库。

      编译打包过程中如果出现netty测试错误,请在maven中使用:

      mvn clean install -Dmaven.test.skip=true

      打包,放弃测试,因为dubbox本身存在bug

      打包后主要有以下几个文件:

      管理中心:dubbo-admin-2.8.4a(dubbox版本)

      监控中心:dubbo-monitor-simple-2.8.4a-assembly.tar.gz

      同时使用spring 4.2+版本

  • 相关阅读:
    oracle数据库体系架构详解
    数据库迁移之从oracle 到 MySQL
    一个专业DBA应具备的技能
    Oracle 内存参数调优设置
    正向代理与反向代理的区别
    负载均衡的几种常用方式
    Java虚拟机JVM学习07 类的卸载机制
    Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论
    Git 撤销修改
    Git 分支管理和冲突解决
  • 原文地址:https://www.cnblogs.com/zeussbook/p/10459380.html
Copyright © 2011-2022 走看看