一、为什么会是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框架选型的更多相关文章

  1. SpringCloud微服务:基于Nacos组件,整合Dubbo框架

    源码地址:GitHub·点这里 || GitEE·点这里 一.基础组件简介 1.Dubbo框架 Dubbo服务化治理的核心框架,之前几年在国内被广泛使用,后续由于微服务的架构的崛起,更多的公司转向微服 ...

  2. TypeScript 强类型 JavaScript – Rafy Web 框架选型

    今天看到了 AngularJs 2.0 版本将基于 TypeScript 构建 的消息.与同事们对 TypeScript 展开了讨论.本文记录一些个人的想法. 理想的 JavaScript 开发模式 ...

  3. (转)dubbo框架基本分析

    原文地址: https://my.oschina.net/zhengweishan/blog/698591 Dubbo架构基本分析 1. dubbo简单介绍 1.1 dubbo是什么 dubbo是一个 ...

  4. 基于Dubbo框架构建分布式服务(一)

    Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...

  5. 基于dubbo框架下的RPC通讯协议性能测试

    一.前言 Dubbo RPC服务框架支持丰富的传输协议.序列化方式等通讯相关的配置和扩展.dubbo执行一次RPC请求的过程大致如下:消费者(Consumer)向注册中心(Registry)执行RPC ...

  6. Atitit.js javascript的rpc框架选型

    Atitit.js javascript的rpc框架选型 1. Dwr1 2. 使用AJAXRPC1 2.2. 数据类型映射表1 3. json-rpc轻量级远程调用协议介绍及使用2 3.1. 2.3 ...

  7. dubbo框架----探索-大型系统架构设计(图解)

    对于高并发系统的架构要求: 1. 负载均衡 2.高并发 3.高可用 4.面向服务架构 (Dubbo框架使用) 5.分布式缓存 (redis分布式缓存) 6.分布式全文检索 (solr分分布式全文检索) ...

  8. 混合App 框架选型

    个人一直想做个App,但是学习 IOS 的过程发现 原生的做界面还是听麻烦的就放弃了.后来就转到混合式App阵营了 混合式App 定义 Hybrid App(混合模式移动应用)是指介于web-app. ...

  9. atitit.ajax 最佳实践跟框架选型 o99

    atitit.ajax 最佳实践跟框架选型 1. 选型框架dwr/dwr3 跟jq 1 2. DWR方便的地方分为两个地方. 1 3. dwr 优点: 1 4. 缺点: 2 5. 根jq的区别 2 1 ...

随机推荐

  1. Oracle 11G在用EXP 导出时,空表不能导出解决

    Oracle 11G在用EXP 导出时,空表不能导出解决 (转)(.http://wanwentao.blog.51cto.com/2406488/545154 11G中有个新特性,当表无数据时,不分 ...

  2. iOS设置导航栏标题

    方法一:在UIViewController中设置self.title. 方法二:设置self.navigationItem.titleView.

  3. 日期函数(sql)

    SQL 标量函数----->日期函数 day() .month().year().2009年02月23日 星期一 11:30 SQL 标量函数----->日期函数 day() .month ...

  4. B-tree

    2-3 Tree 二叉搜索树的每个节点只带有一个值,这个值将数据区间划分成两部分,值左边的部分(也就是小于这个值的数据)保存到节点的左子树,值右边的部分保存到节点的右子树.因此,每个非叶子节最多能够拥 ...

  5. PHP中phar包的使用

    PHP5.3之后支持了类似Java的jar包,名为phar.用来将多个PHP文件打包为一个文件. 首先需要修改php.ini配置将phar的readonly关闭,默认是不能写phar包的,includ ...

  6. Loadrunner,将http请求返回的中文结果打印出来

    Loadrunner 做保险承保业务测试 1. 保险正常业务流程:保费计算--->保存--->申请核保--->核保--->缴费(出保单) 问题描述: 脚本录制,参数化完成后,R ...

  7. ESM335x Linux输出脉冲计数

    1.综述   ESM335X具有4路PWM输出,其中PWM1和PWM2除了可以用于产生标准的PWM信号,现已支持输出脉冲计数功能,可以在应用程序中设置脉冲个 数,当输出脉冲个数达到指定值时,驱动程序自 ...

  8. HttpWebRequest向路由器提交基本身份验证

    HttpWebRequest向路由器提交基本身份验证 服务端IIS设置为不允许匿名访问,只选择了基本身份验证,客户端使用HttpWebRequest发送一个get请求,请求一个页面. 基本身份验证,客 ...

  9. SQL 重置自增列的值 批量处理

    Declare @IdentityTable sysname, @IdentityColumn sysname, @TotalRows int, @i int, @Iden int, @Sql var ...

  10. React阶段开发总结

    这次独立编写了React页面主要是数据切换.点击不同的按钮,Ajax请求不同的后台数据.数据驱动表格内容的显示.使用React组件开发. 开发中获得下面的心得: 1.后台给的地址早一点添加路由(写好数 ...