java/springmvc---Dubbo框架选型

 

一、为什么会是dubbo

1.Dubbo是一个分布式服务框架,提供RPC(远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。)

  远程服务调用方案,以及SOA(面向服务的体系结构(英语:service-oriented architecture)是构造分布式计算的应用程序的方法。它将应用程序功能作为服务发送给  最终用户或者其他服务。) 服务治理。

2.分布式服务框架真正意义上将多台具有不同功能、不同区域的计算机通过网络连接起来解决海量请求、计算。

3.将功能作为‘服务’提供给其他服务、消费者使用,每个服务负责的功能不同,性能要求也不同,可以更好的做到定点增加、减少服务器。

 

二、dubbo简介

1、架构

 

1.Registry-分布式服务的注册和发布中心。zookeeper、redis、multicast

2.Provider-服务提供方

3.Consumer-使用远程调用的服务消费方

4.Monitor-监控中心

5.Container-服务运行容器

2、联系

1.provider将提供的服务注册在registry中

2.consumer将需要的服务在registry中订阅

3.registry返回服务器提供者的地址给consumer,如果其中一个provider不再提供服务,registry可以通过长连接,让consumer取消这个provider的服务提供关系。

4.consumer使用负载均衡算法,调用远程的provider。

5.定时向monitor发送调用状态、统计。

 

 

 

三、如何上手 

  1. 下载zookeeper
    1. http://apache.claz.org/zookeeper/  下载最近的稳定版本3.4.9
    2. 解压后,打开zookeeper-3.4.9/
    3. 打开conf文件夹,复制一份zoo_sample.cfg,重命名为zoo.cfg
    4. 返回zookeeper根目录,打开bin目录下的zkServer.cmd
    5. zookeeper就已经安装启动成功了

 

     2.   一般项目结构

           

 

           a)         api-demo 定义接口、model类

           b)         common-demo 提供公共方法,供其他模块使用

           c)         consumer-demo 消费者模块,有spring-mvc框架,提供访问接口。

           d)         provider-demo、provider-demo2、provider-demo3服务提供者,也是api-demo接口的实现者

   

   3 .依赖关系

   

 

 

 

 

     4 .如何运行

  1. 运行zookeeper
  2. 使用cmd命令行工具,进入dubbo-demo-feiniu根目录

     

 

     3 输入命令mvn clean install

     4 进入provider-demo/target,解压dubbo-demo-assembly.tar.gz,进入解压好的文件夹dubbo-demo-assembly\dubbo-demo\bin\,双击运行start.bat

     5 进入provider-demo2/target,运行步骤3

     6 命令行进入consumer-demo,运行命令mvn jetty:run

     7 浏览器分别访问http://localhost:8080/activity/u?id=123,http://localhost:8080/users/u?id=123

     8 可以在之前打开的命令行窗口看到

     

 

  1. 到此由一个服务消费者,两个服务提供者的dubbo-demo就运行完毕了。


dubbo-用户指南 http://dubbo.io/User+Guide-zh.htm

 

 
posted @ 2016-12-28 12:07  JavAndroidJSql  阅读(438)  评论(0编辑  收藏  举报