Dubbo入门案例介绍

##Dubbo入门简要学习指南 ##

一、 什么是Dubbo

Dubbo是一个是高性能、基于Java的开源RPC分布式服务框架。

Architecture如下

avatar

二、Dubbo 能做什么

· 远程方法的本地调用
· 负载均衡
· 容错机制
· 可视化服务管理

应用案例:多项目集成的统一对外接口

三、一个简单的Dubbo demo示例

####安装zookeeper####

详情请见另一篇博客

基于maven的简单demo

扫描二维码关注公众号,回复: 3676725 查看本文章

1、新建三个maven项目,dubbo-api/dubbo-provider/dubbo-consumer

provider 和consumer依赖api

导入依赖
api——》pom:

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>4.3.16.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo</artifactId>
			<version>2.5.3</version>
		</dependency>
		<dependency> 
         	<groupId>com.101tec</groupId>
         	<artifactId>zkclient</artifactId>
         	<version>0.10</version>
		</dependency>

provider.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://code.alibabatech.com/schema/dubbo
       http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
       <!-- http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd -->
    <!--定义了提供方应用信息,用于计算依赖关系;在 dubbo-admin 或 dubbo-monitor 会显示这个名字,方便辨识-->
    <dubbo:application name="demotest-provider" owner="programmer" organization="dubbox"/>
    <!--使用 zookeeper 注册中心暴露服务,注意要先开启 zookeeper-->
    <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
    <!-- 用dubbo协议在20880端口暴露服务 -->
    <dubbo:protocol name="dubbo" port="20880" />
    <!--使用 dubbo 协议实现定义好的 api.PermissionService 接口-->
    <dubbo:service interface="com.lee.dubbo.demo.DemoService" ref="demoService" protocol="dubbo" />
    <!--具体实现该接口的 bean-->
    <bean id="demoService" class="com.lee.dubbo.demo.impl.DemoServiceImpl"/>
</beans>

consumer.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
   http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="demotest-consumer" owner="programmer" organization="dubbox"/>
<!--向 zookeeper 订阅 provider 的地址,由 zookeeper 定时推送-->
<dubbo:registry address="zookeeper://localhost:2181"/>
<!--使用 dubbo 协议调用定义好的 api.PermissionService 接口-->
<dubbo:reference id="permissionService" interface="com.lee.dubbo.demo.DemoService"/>

四、项目测试

1)启动zookeeper
2)启动provider服务器
3)启动consumer服务,进行接口调试
  • 详情参见:

https://blog.csdn.net/tlk20071/article/details/52028945

猜你喜欢

转载自blog.csdn.net/qq_29269907/article/details/83112715
今日推荐