初试springboot+dubbo+zookeeper
1、首先需要下载安装好dubbo和zookeeper 2、在IDEA中新建空项目,然后类同建springboot项目的方式建立两个Module,分别作为提供者和消费者,成功后如下图 3、首先进行提供者的相关配置 创建一个服务接口,表示提供的服务,然后进行实现 注意上图中@service注解用的是dubbo的而不是springboot的,或者采用@Component注解也可 然后配置applicatin.properties server.port作为该模块运行的端口 …name作为提供者的名称 …address作为注册中心的地址 …base-package用来扫描提供的对应的服务 …metadaa-report(解决控制台出现元数据无法显示的问题) 4、进行启动 首先启动zookeeper,然后启动dubbo,最后运行ProviderApplication.java,出现如下结果(注意图中8080端口,跟自己配置相关):
接下来进行消费者的配置,以上运所有运行的程序不要关闭,否则后面运行出错
5、进行消费者的相关配置 (1)首先配置消费者的application.properties server.port为该模块运行的端口(不可与提供者一样,否则端口冲突) …name是消费者的名称 …registry.address是注册中心地址,即要从该地址获取服务 (因为是消费者,所以不需要指名要拿哪个服务) (2)实现获取服务 这里UserService里为了拿到注册中心的服务,需要引用对应的TicketService(这里是为了拿到注册中心的服务,而不是从本地获取,所以不采用@Autowired,而采用@Reference(远程引用,可以理解为将引用结果给创建的TicketService变量)),然后写一个方法来使用服务,打印结果 (3)测试 在测试类中进行测试,使用@AutoWired自动注入UserService,然后调用buyTicket()方法,观察控制台的输出情况 (4)运行 在之前运行没有任何改变的情况下,运行ConsumerApplicationTests.java,控制台输出相应内容,测试成功!!! (以上如果有错,还望指正)
|