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 ...
随机推荐
- hadoop2.6源码导入mvn出错Missing tools.jar问题解决方案
1.定义JAVA_HOME: JAVA_HOME=$(/usr/libexec/java_home) 2.拷贝文件 cd $JAVA_HOME mkdir Classes ...
- 利用Maple推导向量方程的微分公式
在某些几何软件的开发中,会要求写出一个向量方程的微分公式.对我而言,手工推导繁琐.易出错.且需要反复校验. 早就听说Mathematica, Maple这样的软件可以自动进行符号公式的推导,一直没有时 ...
- PHP array_multisort—对多个数组或多维数组进行排序
PHP中array_multisort可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重新索引. 输入数组被当成一个表的列并以 ...
- [15]APUE:pipe / FIFO
管道 pipe 一.概述 管道(pipe / FIFO)是一种文件,属于 pipefs 文件系统类型,可以使用 read.write.close 等系统调用进行操作 其本质是内核维护了一块缓冲区与管道 ...
- DIV弹出和关闭新DIV
代码用HTML+JS实现: 代码(用HTML+JS实现): <!doctype html> <html lang="UTF-8"> <head> ...
- 第四章 使用Docker镜像和仓库(二)
第四章 使用Docker镜像和仓库(二) 回顾: 开始学习之前,我先pull下来ubuntu和fedora镜像 [#9#cloudsoar@cloudsoar-virtual-machine ~]$s ...
- 遇到的sql关键字
select count(1) 相当于 select count(*) 网上有比较差别的 菜鸟不用管
- Kubernetes1.5正式发布
Kubernetes1.5正式发布 修复了很多已知问题 进一步增强federation相关特性 将PetSet改名为StatefulSet 将ScheduledJobs改名为CronJobs 新增了命 ...
- [ MySql学习心得 ] --Two
五.MySql 中常用子句 1.where子句 我们都知道在查询数据时,未必会查整个表中的数据,当有条件查询时,就会用到where子句.其结构: select * from [表名] where ...
- ubuntu14.04设置terminal配色方案以配合使用vim的Solarized插件
在安装vim插件之前,首先安装Vundle插件,用来管理vim插件,安装方法查看Vundle在github上的指南.在安装vundle的时候出现了一个错误E117:unknown function v ...