dubbo初体验

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

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

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

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

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

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

 

3、dubbo工做原理
git

 

 节点角色说明:
github


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


4、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;
   apache

  

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

 

 

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

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

  服务提供者:
  浏览器

 

  服务消费者:
  tomcat

 

  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, 进入控制台后, 咱们能够清晰的看到服务统计数量, 而且能够查看各个服务的状态;  
 

 

相关文章
相关标签/搜索