SpringBoot整合Dubbo+zookeeper

Posted 从入门到放弃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot整合Dubbo+zookeeper相关的知识,希望对你有一定的参考价值。

docker pull zookeeper

docker run --name zk01 -p 2181:2181 --restart always -d 2e30cac00aca

 表明zookeeper已成功启动


 

Zookeeper和Dubbo
• ZooKeeper
ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务。它是
一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、
域名服务、分布式同步、组服务等。
• Dubbo
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方
式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦
合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要
么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象
出服务提供方(Provider)和服务消费方(Consumer)两个角色。
 

 

 

客户端(consumer)配置:

启动类

@SpringBootApplication
public class ConsumerManagerApplication {

public static void main(String[] args) {
SpringApplication.run(ConsumerManagerApplication.class, args);
}

}

controller

@RestController
public class ManagerController {

@Reference
ManagerService managerService;

@RequestMapping("/hello")
public String hello() {
return managerService.hello();
}

}

service(只需要跟服务类的接口一致就行,包名也要一致)

public interface ManagerService {
public String hello();
}

application.properties

dubbo.application.name=consumer-manager
dubbo.registry.address=zookeeper://192.168.0.106:2181
server.port=8081

服务端(provider)配置:

启动类

@SpringBootApplication
public class ProviderManagerApplication {

public static void main(String[] args) {
SpringApplication.run(ProviderManagerApplication.class, args);
}

}

service接口和实现类

public interface ManagerService {
public String hello();
}

@Service
public class ManagerServiceImpl implements ManagerService {

@Override
public String hello() {
System.out.println("客户端请求进来了!");
return "xixi success !!!";
}
}

application.properties

dubbo.application.name=provider-manager
dubbo.registry.address=zookeeper://192.168.0.106:2181
dubbo.scan.base-packages=com.hourui

浏览器访问:

以上是关于SpringBoot整合Dubbo+zookeeper的主要内容,如果未能解决你的问题,请参考以下文章

Springboot整合Dubbo和Zookeeper

SpringBoot整合Dubbo&ZooKeeper

Springboot+dubbo+zookeeper整合

Spring Boot 整合 Dubbo和Zookeeper

SpringBoot-整合Dubbo+Zookeeper

2020最新IDEA SpringBoot整合Dubbo(zookeeper版)