dubbo分布式开发

dubbo

以下较为粗略的写出了dubbo的基本使用,其中dubbo基本配置完后,具体的增强措施,查看官方的文档配置便可实现。底层代码依旧可以采用原来框架,但配置环境需要在spring中。其作用概括说就是让两个不同的服务器能互相调用方法传递数据

使用RPC技术让2个服务器互相可以调用方法

如何实现

  • 基于tcp协议的RPC
    1.序列化和反序列化
    2.Socker
    3.反射
  • 基于http协议的RPC
    1. Xm
    2. Json
    3. http

    整体架构

    1. Provide:提供服务的服务提供方(生存者)
    2. Consumer:调用远程服务的服务消费方(消费者)
    3. Registry:服务注册与发现的注册中心
    4. Monitor:统计服务调用次数和调用时间的监控中心
    5. Container:服务运行容器

    如何使用dubbo


    在povide服务器中

    1.需要在spring环境中进行xml中配置,需要jar包com.alibaba.dubbo

    <dubbo:application name=”xxx(自定义)”/>
    <dubbo:registry address=””
    <bean id=”xxx” class=”(实现类)”/>
    <dubbo:service interface=”xxxx(业务接口)” ref=”xxx(接口实现)” register=”(注册中心)”
    

    在consumer服务器中
    2.需要在spring环境中进行xml中配置
    配置完成使用dubbo标签,需要jar包com.alibaba.dubbo

    <dubbo:application name=”xxx(自定义)”/>
    <bean id=”xxx” class=”(实现类)”/>
    <dubbo:reference id=”xxx” interface=”xxxx(业务接口)” url=”xxx” register=”(注册中心)”
    

    其中注册中心有很多,可自行搜索
    而zookeeper为官方推荐注册中心
    详细搭建步骤自行搜索下载zookeeper
    搭建完成后
    Java中导入zkclient的jar包和zookeeper的jar包
    再修改
    <dubbo:registry address=””的address地址
    其他注册中心类似操作

    其他

    Dubbo还有些常用协议可以自行了解

    Dubbo可设置多个<dubbo:reference id=”xxx” interface=”xxxx(业务接口)” url=”xxx” register=”(注册中心) vesion=’’”版本不同,可以用来实现版本在上线的环境下更新

    Dubbo还可以服务分组,统一接口不同的实现使用ground
    <dubbo:service interface=”xxxx(业务接口)” ref=”xxx(接口实现)” register=”(注册中心) ground=“(实现方法)””

    分布式开发模式

    诺干个接口提供者+诺干个接口实现提供者

    诺干个消费者

    令牌验证

    :防止消费者绕过注册中心访问提供者,提高安全性

    配置:
    《随机token令牌,使用UUID生成》
    <dubbo:service interface=”(接口)” token=”true”/>
    <固定token令牌,相当于密码>
    <dubbo:service interface=”接口” token=”密码”>

    Dubbo配置覆盖策略

    每个配置都有的配置功能作用分类:
    1.服务发现
    2.服务治理
    3.性能调优
    覆盖配置,消费端优先服务端
    覆盖策略:服务提供方配置,通过URL经由注册中心传递给消费端
    建议由服务端设置 超时,因为一个方法需要执行多长时间,服务提供方更清楚,如果一个消费端同时引入多个服务,就不需要关心每个服务端的超时时间

    Dubbo常用标签:

    1.dubbo:service:用于服务提供者暴露自己的服务
    2.dubbo:reference:用于配置服务消费端引用服务
    3.dubbo:protocol:用于配置服务提供者的访问协议
    4.dubbo:registry:用于配置 注册中心
    5.dubbo:application:用于配置应用信息
    6.dubbo:provider:用于服务提供者的默认值,即设置service,protocol标签的默认值
    7.dubbo:comsumer:用于配置消费端的默认值,即reference的默认值
    注:标签里还有很多各种各样的配置属性,可参看文档进行选择

    Dubbo管控台的部署与使用:

    dubbo有自己的后台网页来管理项目的各种配置,配置后可使用
    部署环境:lunx
    Jdk1.8
    Tomcat8.5
    Dubbo-admin-2.3.5.war

    具体配置方法自行搜索

    Zookeeper集群

    举例:
    步骤:下载安装3个zookeeper
    3个zookeeper中的conf目录下的zoo_simple.cfg复制一份,改为zoo.cfg并配置
    dataDir=/opt/cluster/apache-activemq/zkdatal/
    clientPort=2181
    Server.1=localhost:2888:3888
    Server.2=localhost:2889:3889
    Server.3=localhost:2890:3890
    其中2888端口是zookeeper服务之间通讯的端口,3888是与其他应用程序通讯的端口
    创建三个dataDir目录
    /opt/cluster/apache-activemq/zkdatal/
    /opt/cluster/apache-activemq/zkdatal2/
    /opt/cluster/apache-activemq/zkdatal3/
    每个目录中都创建一个名为myid的文件,3个文件的内容分别写1,2,3
    这个1,2,3是对应前面server1,2,3

    Dubbo配置:
    Zookeeper://10.160.2.11:2181?Backup=10.160.2.11:2182.10.160.2.11:2183

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值