docker pull zookeeper
docker run --name zk01 -p 2181:2181 --restart always -d 2e30cac00aca
表明zookeeper已成功启动
Zookeeper和Dubbo• ZooKeeperZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
DubboDubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。
从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。
客户端(consumer)配置:
启动类
1 2 3 4 5 6 7 8 | @SpringBootApplication
public class ConsumerManagerApplication {
public static void main(String[] args) {
SpringApplication.run(ConsumerManagerApplication. class , args);
}
}
|
登录后复制
controller
1 2 3 4 5 6 7 8 9 10 11 12 | @RestController
public class ManagerController {
@Reference
ManagerService managerService;
@RequestMapping( "/hello" )
public String hello() {
return managerService.hello();
}
}
|
登录后复制
service(只需要跟服务类的接口一致就行,包名也要一致)
1 2 3 | public interface ManagerService {
public String hello();
}
|
登录后复制
application.properties
1 2 3 | dubbo.application.name=consumer-manager
dubbo.registry.address=zookeeper:
server.port=8081
|
登录后复制
服务端(provider)配置:
启动类
1 2 3 4 5 6 7 8 | @SpringBootApplication
public class ProviderManagerApplication {
public static void main(String[] args) {
SpringApplication.run(ProviderManagerApplication. class , args);
}
}
|
登录后复制
service接口和实现类
1 2 3 4 5 6 7 8 9 10 11 12 13 | public interface ManagerService {
public String hello();
}
@Service
public class ManagerServiceImpl implements ManagerService {
@Override
public String hello() {
System.out.println( "客户端请求进来了!" );
return "xixi success !!!" ;
}
}
|
登录后复制
application.properties
1 2 3 | dubbo.application.name=provider-manager
dubbo.registry.address=zookeeper:
dubbo.scan.base-packages=com.hourui
|
登录后复制
浏览器访问:
以上是SpringBoot中如何整合Dubbo zookeeper的详细内容。更多信息请关注PHP中文网其他相关文章!