Dubbo

ε祈祈猫儿з 提交于 2020-02-18 05:23:42

1、什么是Dubbo


概述:Dubbo是阿里巴巴内部使用的分布式业务框架,2012年由阿里巴巴开源,由于Dubbo在阿里内部经过广泛的业务验证,在很短时间内,Dubbo就被许多互联网公司所采用,并产生了许多衍生版本,如网易,京东,新浪,当当等等。由于阿里策略变化,2014年10月Dubbo停止维护。随后部分互联网公司公开了自行维护的Dubbo版本,比较著名的如当当DubboX,新浪Motan等。经过三年的沉寂,在2017年9月,阿里宣布重启Dubbo项目,并决策在未来对开源进行长期持续的投入。随后Dubbo开始了密集的更新,并将停摆三年以来大量分支上的特性及缺陷修正快速整合。

基于rpc:
    rpc远程过程调用协议;是JDK底层提出的协议,Dubbo只是对这个协议的实现的一个框架技术; rpc协议就是跨服务器,跨tomcat;
    可以从一个项目调用另一个项目中的方法


2、作用


    跨项目调用方法, 从一个项目中的Controller可以调用另一个项目中的service方法


3、同类型的技术有哪些


    Dubbo:

   DubboX

                 优点:传输效率快

                 缺点:Controller和Service两个项目必须都是Java语言实现
    springCloud
    webService技术


4、如何使用


    ①.服务层注解

        service实现类上写@service注解
        写此注解的时候,注意先包,选的是阿里dubbo下的包
    ②.Controlle注入
        使用@refrence注解来进行注入
        选择也是dubbo下的
    ③.pojo传输
        如果Controller和service之间传输pojo实体类,
        那么实体类必须实现Java的序列化接口
     ④. 序列化
            网络传输,是通过插在电脑上的网线(双绞线)进行
            网线当中传输入的是模拟信号,波浪形式的信号,有高电位和底电位  可以使用高底电位 代表 0 或 1
            网线是插在电脑网卡上,网卡我们又称数模转换器   数字信号和模拟信息进行转换
                网络传输是模拟信息
                计算机处理时, 数字信号
            转换成数字信号后, 进入操作系统, 再根据相应的端口号找到对应的服务处理
            在Java中只要告诉它,实现序列化接口, JVM就会自动的把实现类转换成对应的信号进行传输


5、Dubbo调用流程


  ①.所有的服务都要在Zookeeper注册中心当中进入注册,每一个服务都有自己的配置文件,在配置文件当中配置好自己端口号和地址,然后把端口号和地址注册在zookeeper注册中心统一管理
    ②.Zookeeper注册中心 ,管理服务提供方服务器的ip和端口,并知道哪台机器启动了,哪台机器关闭了
    ③.服务调用方Controller项目询问ZooKeeper可以提供服务的IP和端口
    ④.Zookeeper返回可以使用的IP和端口号给Controller
    ⑤.Controller使用IP+端口+接口+方法调用,到指定的服务中调用对应的方法
    ⑥.服务返回对应的结果
    示例图
       

 下一篇文章:如何安装dubbo服务

https://blog.csdn.net/qq_43060870/article/details/104362769

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!