dubbo开始

dubbo作为微服务框架,了解一下。

dubbo支持三种方式: 
1.multicast; 
2.zookeeper; 
3.redis 

本次使用的是multicast

1、建一个maven工程,不添加其他依赖,只作为公共接口,让provider和comsumer保持


下面是公共接口的pom.xml,没有引用什么



2、创建服务提供者工程

3、创建公共接口中的实现类,ServiceImpl.java


4、创建applicationProvider1.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="hello-world" /><!-- 注册地址 -->
	<dubbo:registry address="multicast://224.5.6.7:1234" />
	<!-- <dubbo:registry address="127.0.0.1:2181" protocol="zookeeper"/> -->
	<dubbo:protocol name="dubbo" port="20880" />
	<bean id="provider1" class="com.tu.dubbo.ServiceImpl" />
	<dubbo:service interface="com.tu.dubbo.Service"
		ref="provider1" executes="10" />
</beans>  

5、创建main函数类,App.java,如下:


6、到这里服务提供者就写好了,由于我想测试多个提供者提供服务的情况,这里就直接copy了一份提供者的工程,重命名叫Provider2,但是有一些地方需要注意下:



(1)这里的application name要和Provider1中的一样,表示提供的是相同的服务,到时候dubbo就知道如果消费者需要hello-world这种服务的话,它会从这些提供者中去选取,感觉貌似有点负载均衡的味道

(2)如果是Provider1和Provider2都在同一台机器上,跟我现在一样,那么,这里对注册中心multicast暴露的端口,应该不能相同,否则冲突

(3)为了区分,我把Provider2中的接口实现返回值改了下,便于区分

到此为止,两个提供者就完成了

7、这里开始写消费者,创建maven工程



8、创建applicationConsumer1.xml


9、创建main函数


到这里消费者Comsumer就创建完成

10、然后启动Provider1和Provider2,再运行Comsumer,会看到结果



多次运行Comsumer会发现,使用的服务,有时候是Provider1提供的,有时候是Provider2提供的

最后,希望大家支持博主群springboot-Sundy1群  431445096

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值