Dubbo介绍及使用教程
2018-03-20 16:12
316 查看
1、dubbo是什么
Dubbo是阿里巴巴开源的一个高性能的分布式服务框架,使得应用可以通过高性能的RPC实现服务的输入和输出,并且是soa服务治理方案,和spring框架无缝衔接。2、rpc是什么
Rpc(Remote Procedure CallProtocol),远程过程调用协议,基于这个协议我们可以通过网络从远程计算机调用服务,并且不需要了解网络底层技术,能够为dubbo实现远程调用接口做支持。3、dubbo核心功能
主要是三个,远程通讯,集群容错,自动发现(基于注册中心,使用消费方可以直接找到服务方)。4、dubbo架构
Container:服务运行容器
Provideer:服务提供方
Consumer:服务消费方
Registry:注册中心
Monitor:统计服务调用次数和时间的监控中心
调用过程说明:
0、服务容器负责加载、启动服务。
1、服务提供者启动时向注册中心注册自己提供的服务
2、服务消费者启动时向注册中心订阅自己需要的服务
3、注册中心将服务提供方的地址列表发送给消费方
4、消费方通过软负载均衡方法,从地址列表中选择一个服务提供方调用服务,调用失败在选择另一台(集群容错)
5、消费方和服务方将调用次数和时间存储到内存中,定时一分钟发送给监控中心
5、dubbo使用
首先在linux上面安装好zookeeper,网上有很多相关的教程可以查看。然后编写两个maven工程,一个作为服务提供者,一个作为服务消费者。
父工程用于管理我们的jar包版本
对于两个工程的pom文件的编写不做介绍,核心程序如下:
1、接口工程中编写一个接口
2、服务提供工程中实现这个接口
3、编写服务提供工程的spring配置文件
<!-- 发布dubbo服务 --> <!-- 提供方应用信息,用于计算依赖关系 --> <dubbo:application name="zdubbo-service" /> <!-- 注册中心的地址 --> <dubbo:registry protocol="zookeeper" address="192.168.156.80:2181" /> <!-- 用dubbo协议在20889端口暴露服务 --> <dubbo:protocol name="dubbo" port="20889" /> <!-- 声明需要暴露的服务接口 --> <dubbo:service interface="zdubbo.provider.service.DubboService" ref="dubboServiceImpl" timeout="300000"/>
主要是这个工作,首先配置包扫描器,用来扫描服务类,然后发布服务,发布服务需要有服务的名称,注册中心的地址,及在哪个端口暴露服务,最后声明需要提供的服务接口。
4、通过web.xml配置容器启动监听器加载spring配置文件
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" id="WebApp_ID" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>zdubbo-service</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 初始化spring容器 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicatio aa59 nContext-*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </web-app>
5、服务消费者pom文件添加对接口jar包的引用
<dependency> <groupId>com.zdubbo</groupId> <artifactId>zdubbo.interface</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>
6、编写controller类对服务进行调用
7、编写spring配置文件完成视图解析,注解配置,引用服务的配置
核心是引用服务,需要有服务应用名称,注册中心地址,和需要引用的接口即可
8、编写配置文件通过前端控制器加载spring配置文件
9、测试
调用成功!
参考程序链接:https://download.csdn.net/download/liuyuanq123/10297901
相关文章推荐
- 关于Dubbo以及Zookeeper的介绍和使用教程
- [原创][PowerShell教程][07]PowerShell中Write族cmdlet的介绍和使用
- FusionCharts Free使用文档教程第一章--FusionCharts Free介绍
- ligerUI 使用教程之Tip介绍与使用(草稿.1.1.4)
- SVN版本管理软件的使用介绍与教程
- ANT介绍及使用教程
- Heritrix3.0教程 使用教程(三) CrawlJob控制台界面(一) 大概介绍
- CSS Sprites教程大全(使用方法、工具介绍)
- Unity3D教程:Javascript的使用介绍
- Excel宏教程 (宏的介绍与基本使用)
- win8系统下安装电源管理8.0风扇除尘方法使用教程介绍
- Mac OS X 基础介绍与使用教程
- Gravatar 全球通用头像简单介绍与使用教程
- FusionCharts Free使用文档教程第一章--FusionCharts Free介绍
- Aga.Controls.Tree.TreeViewAdv使用教程之概要介绍
- 简单介绍一下asp.net中DataGrid的使用(视频教程)
- 使用Easy Image X 备份还原教程详细介绍
- FTP介绍及FlashXP的使用教程