安装zookeeper
安装环境centos7
安装主要参考官方文档,安装官方文档的步骤就能成功。
上传linux解压
进入conf创建一个zoo.cfg 填入对应的内容
进入bin我们可以看到相关的服务命令
启动服务
进入客户端
下载dubbo-admin
master版本。
解压进入application.properties根据自己的需要进行修改,主要是我们要写好我们自己的注册中心地址。
cmd一管理员的形式进入 执行 加载的时间有点长
mvn clean package -Dmaven.test.skip=true
执行成功会产生成jar
运行jar
访问admin界面
localhost:7001
默认用户名 root
密码 root
登录成功
集成springboot 仅供参考
生产者
<dependencies>
<!-- 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.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper -->
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.7.0</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.curator/curator-framework -->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>5.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.101tec/zkclient -->
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.11</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
application.properties
server.port=8081
#当前服务的名字
dubbo.application.name=producer
#注册中心地址
dubbo.registry.address=zookeeper://192.168.26.146:2181
dubbo.registry.timeout=25000
#扫描指定包下服务
dubbo.scan.base-packages=com.aw.producer.service
service
接口
public interface TicketService {
String getTicket();
}
实现类
@DubboService
public class TicketServiceImpl implements TicketService{
@Override
public String getTicket() {
return "你好";
}
}
启动类
@SpringBootApplication
@EnableDubbo
public class ProducerApplication {
public static void main(String[] args) {
SpringApplication.run(ProducerApplication.class, args);
}
}
启动成功,我们可以看到相应的服务
详细信息
消费者
相同pom文件
<dependencies>
<!-- 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.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper -->
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.7.0</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.curator/curator-framework -->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>5.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.101tec/zkclient -->
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.11</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
application.properties
server.port=8082
#自己的名字
dubbo.application.name=consumer
#注册中心的地址
dubbo.registry.address=zookeeper://192.168.26.146:2181
dubbo.registry.timeout=25000
service
接口
public interface TicketService {
String getTicket();
}
@Service
public class UserService {
@DubboReference()
TicketService ticketService;
public void buyTicket(){
String ticket = ticketService.getTicket();
System.out.println("从注册中心拿到的内容:"+ticket);
}
}
test
@SpringBootTest
@EnableDubbo
class ConsumerApplicationTests {
@Autowired
private UserService userService;
@Test
void contextLoads() {
userService.buyTicket();
}
}