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发送调用状态、统计。
三、如何上手
- 下载zookeeper
- http://apache.claz.org/zookeeper/ 下载最近的稳定版本3.4.9
- 解压后,打开zookeeper-3.4.9/
- 打开conf文件夹,复制一份zoo_sample.cfg,重命名为zoo.cfg
- 返回zookeeper根目录,打开bin目录下的zkServer.cmd
- 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 .如何运行
- 运行zookeeper
- 使用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 可以在之前打开的命令行窗口看到

- 到此由一个服务消费者,两个服务提供者的dubbo-demo就运行完毕了。
dubbo-用户指南
http://dubbo.io/User+Guide-zh.htm
Dubbo框架选型的更多相关文章
- SpringCloud微服务:基于Nacos组件,整合Dubbo框架
源码地址:GitHub·点这里 || GitEE·点这里 一.基础组件简介 1.Dubbo框架 Dubbo服务化治理的核心框架,之前几年在国内被广泛使用,后续由于微服务的架构的崛起,更多的公司转向微服 ...
- TypeScript 强类型 JavaScript – Rafy Web 框架选型
今天看到了 AngularJs 2.0 版本将基于 TypeScript 构建 的消息.与同事们对 TypeScript 展开了讨论.本文记录一些个人的想法. 理想的 JavaScript 开发模式 ...
- (转)dubbo框架基本分析
原文地址: https://my.oschina.net/zhengweishan/blog/698591 Dubbo架构基本分析 1. dubbo简单介绍 1.1 dubbo是什么 dubbo是一个 ...
- 基于Dubbo框架构建分布式服务(一)
Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...
- 基于dubbo框架下的RPC通讯协议性能测试
一.前言 Dubbo RPC服务框架支持丰富的传输协议.序列化方式等通讯相关的配置和扩展.dubbo执行一次RPC请求的过程大致如下:消费者(Consumer)向注册中心(Registry)执行RPC ...
- Atitit.js javascript的rpc框架选型
Atitit.js javascript的rpc框架选型 1. Dwr1 2. 使用AJAXRPC1 2.2. 数据类型映射表1 3. json-rpc轻量级远程调用协议介绍及使用2 3.1. 2.3 ...
- dubbo框架----探索-大型系统架构设计(图解)
对于高并发系统的架构要求: 1. 负载均衡 2.高并发 3.高可用 4.面向服务架构 (Dubbo框架使用) 5.分布式缓存 (redis分布式缓存) 6.分布式全文检索 (solr分分布式全文检索) ...
- 混合App 框架选型
个人一直想做个App,但是学习 IOS 的过程发现 原生的做界面还是听麻烦的就放弃了.后来就转到混合式App阵营了 混合式App 定义 Hybrid App(混合模式移动应用)是指介于web-app. ...
- atitit.ajax 最佳实践跟框架选型 o99
atitit.ajax 最佳实践跟框架选型 1. 选型框架dwr/dwr3 跟jq 1 2. DWR方便的地方分为两个地方. 1 3. dwr 优点: 1 4. 缺点: 2 5. 根jq的区别 2 1 ...
随机推荐
- Python 9X9乘法口诀表
#乘法口诀 for i in range(1,10): for j in range(1,i+1): print ( j,'*',i,'=',j*i,'',' ',end='') print(end= ...
- inotify resources exhausted
inotify resources exhausted tail -f /var/log/kubelet.log tail: inotify resources exhausted tail: ino ...
- NI Labview 将图形化系统设计用于肿瘤治疗
NI Labview 将图形化系统设计用于肿瘤治疗 - Jeff Stevens, Sanarus 挑战:在严格的规则条例范围内保持设计过程的情况下,为通过FDA认证的等级II医疗设备进行设计.原型并 ...
- MySQL pdo预处理能防止sql注入的原因
MySQL pdo预处理能防止sql注入的原因: 1.先看预处理的语法 $pdo->prepare('select * from biao1 where id=:id'); $pdo->e ...
- [Linux] 结构化命令 if
语法结构如下: 1. if-then语句 # if-then语句 if command #根据conmmand的退出状态码,选择执行语句 then commands fi e.g. #!usr/bin ...
- 关于C++的递归(以汉诺塔为例)
关于C++,hanoi塔的递归问题一直是个经典问题,我们学习数据结构的时候也会时常用到, 因为它的时间复杂度和空间复杂度都很高,我们在实际的应用中不推荐使用这种算法,移动n个盘子, 需要2的n次幂减一 ...
- 树莓派安装Transmission-daemon出现的问题
1,安装时发现默认的源里面没有transmission-daemon包 pi@fynn:/etc/apt/sources.list.d $ sudo apt-get install transmiss ...
- SEO是企业发展的永恒主题
最近接触很多客户问同一个问题,明明自己的网站花的时间很多,界面设计的很美,该考虑到的优化都考虑了,反而我那么优秀的网站却不如一个自己行业里的一个垃圾网站排名高,我没排名而对方的排名却很高?我每天坚持更 ...
- BZOJ4350: 括号序列再战猪猪侠
Description 括号序列与猪猪侠又大战了起来. 众所周知,括号序列是一个只有(和)组成的序列,我们称一个括号 序列S合法,当且仅当: 1.( )是一个合法的括号序列. 2.若A是合法的括号序列 ...
- java设计模式之-----桥接模式
一.概念定义 将抽象部分和实现部分分离,使他们都可以独立的变化.(这句话有点抽象啊..) 在软件系统中,某种类型由于自身逻辑,具有多个维度的变化,如何利用面向对象的技术来使得该类型沿着多方向变化,而又 ...