<!-- 服务提供者,导入依赖,dubbo+zookeeper -->
<!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-spring-boot-starter -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.3</version>
</dependency>
<!--zkclient-github版本! -->
<!-- https://mvnrepository.com/artifact/com.github.sgroschupf/zkclient -->
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
<!-- 引入zookeeper 并且解决日志冲突-->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.14</version>
<!--排除这个slf4j-log4j12-->
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
服务提供者
开发步骤
step1:提供者提供服务,导入pom依赖,配置注册基本信息(端口号,服务提供者,服务name,要扫描的包)
服务提供者
server.port=8001
##服务
##注册中心地址
##哪些服务需要被注册
dubbo.application.name=provider-server
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.scan.base-packages=com.xuwen.servicestep2:在想要被注册的服务上,+注解@Service,是dubbo的
!!!前提,zookeeper服务已经开启。否则无法提供服务!!!
消费者如何消费
step1:消费者来消费,导入pom依赖,(端口号,消费者name,去哪个服务中心消费)
服务消费者
server.port=8002
#消费者,去哪里拿服务?消费者需要暴露自己的名字
dubbo.application.name=consumer-server
#注册中心地址
dubbo.registry.address=zookeeper://127.0.0.1:2181step2:从远程,注入服务,@Reference
package com.xuwen.service;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Service;
//消费者--spring的service!!!
@Service
public class UserService {
/**
* 想拿到,provier-service提供的票!
*
*要去注册中心拿到服务!
*/
@Reference
TicketService ticketService;
public void buyTicker(){
//服务没有实现者,这个是从注册中心拿
String ticket = ticketService.getTicket();
System.out.println("在注册中心拿到-》"+ticket);
}
}