• dubbo初体验


    一、什么是dubbo
      dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架, 使得应用可通过高性能的RPC实现服务的输出和输入功能, 可以和Spring框架无缝集成.

    二、为什么要用dubbo
      随着互联网的发展, 网站应用的规模不断扩大, 常规的垂直应用架构已无法应对, 分布式服务架构以及流动计算架构势在必行, 需一个治理系统确保架构有条不紊的演进;

      单一应用架构
      当网站流量很小时, 只需一个应用, 将所有功能都部署在一起, 以减少部署节点和成本. 此时, 用于简化增删改查工作量的数据访问框架(ORM)是关键;

      垂直应用架构
      当访问量逐渐增大, 单一应用增加机器带来的加速度越来越小, 将应用拆成互不相干的几个应用, 已提升效率. 此时, 用于加速前端页面开发的Web框架(MVC)是关键;

      分布式服务架构
      当垂直应用越来越多, 应用之间交互不可避免, 将核心业务抽取出来, 作为独立的服务, 逐渐形成稳定的服务中心, 使前端应用能更快速的响应多变的市场需求. 此时, 用于提高业务复用及整合的分布式服务框架(RPC)是关键;

      流动计算架构
      当服务越来越多, 容量的评估, 小服务资源的浪费等问题逐渐显现, 此时需要增加一个调度中心基于访问压力实时管理集群容量, 提高集群使用率. 此时, 用于提高机器使用率的资源调度中心和治理中心(SOA)是关键;

    三、dubbo工作原理

     节点角色说明:


    调用关系说明:
    0.服务容器负责启动, 加载, 运行服务提供者;
    1.服务提供者在启动时, 向注册中心注册自己提供的服务;
    2.服务消费者在启动时, 向注册中心订阅自己所需的服务;
    3.注册中心返回服务提供者地址列表给消费者, 如果有变更, 注册中心将基于长连接推送变更消息给消费者;
    4.服务消费者, 从提供者地址列表中, 基于软负载均衡算法, 选一台提供者进行调用, 如果调用失败, 再选另一台调用;
    5.服务消费者和提供者, 在内存中累计调用次数和调用时间, 定时每分钟发送一次统计数据到监控中心;


    四、dubbo使用方法
      dubbo官网 http://dubbo.apache.org/zh-cn/index.html , 里面有一些文档及资源;

      1.打开 https://github.com/apache/incubator-dubbo/releases , 下载dubbo2.6.0版本进行下载(此处使用2.6.0版本进行示例)

      2.解压后, 找到dubbo-demo, 导入至eclipse;
       

      

      3.导入后如下所示, 从名字可以看出:
        dubbo-demo-api属于接口, 内部也只有一个接口类;
        dubbo-demo-provider属于服务提供者, 也就是被调用方;
        dubbo-demo-consumer属于服务调用者, 也就是调用方;
        

      4.下载zookeeper, 用作注册中心, 进入bin目录执行zkServer.cmd即可(我这里使用zookeeper版本为3.3.6);

      5.调整服务提供者与服务消费者zookeeper注册中心地址;

      服务提供者:
      

      服务消费者:
      

      6.分别启动服务提供者(Provider.java)与消费者(Consumer)即可;

      7.dubbo还提供一个管理控制台, 是一个war包, 也可以进入dubbo-admin自行打包, 这里我将war包分享出来, 链接:https://pan.baidu.com/s/1nLl2RbLMK2f_Pg90mE4h1w 提取码:fqbq

      8.将war包解压到tomcat的ROOT目录中(需提前将ROOT中的文件清除), 然后启动tomcat;
      



      9.浏览器中输入地址打开, 弹出登录窗口, 用户名密码都为root, 进入控制台后, 我们可以清晰的看到服务统计数量, 并且可以查看各个服务的状态;  
     



  • 相关阅读:
    GDI+学习笔记2
    GDI+学习笔记1- 概述
    Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制
    Java网络编程和NIO详解开篇:Java网络编程基础
    我在阿里工作的这段时间里,都学到了哪些东西
    在大公司做凤尾,还是在小公司做鸡头?
    蚂蚁金服财富技术部,诚招Java研发工程师。校招内推!!!
    测试课程
    新笔记
    阅读书籍电技术
  • 原文地址:https://www.cnblogs.com/dukeshi/p/9989422.html
Copyright © 2020-2023  润新知