springboot与分布式(zookeeper+dubbo)
docker安装zookeeper命令:
docker pull zookeeper:3.4.14
docker启动zookeeper命令:
docker run --name zk01 -p 2181:2181 --restart always -d 8eccc77fd8d0(zookeeper的id)
项目demo:
- 新建一个空项目
- 在空项目中新建一个消费者Module和一个生产者Module
-
将服务提供者注册到注册中心 :
1.引入dubbo和zkclient相关依赖
<!-- 引入dubbo的starter --> <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>0.1.0</version> </dependency> <!--引入zookeeper的客户端工具--> <!-- https://mvnrepository.com/artifact/com.github.sgroschupf/zkclient --> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency>
2.配置dubbo的扫描包和注册中心地址
dubbo.application.name=provider-ticker dubbo.registry.address=zookeeper://192.168.0.113:2181
#配置dubbo扫描包 dubbo.scan.base-packages=com.springboottest.ticket.service3.使用@Service发布服务:
TicketService:
public interface TicketService { public String getTicket(); }
TicketServiceImpl:
@Component @Service //将服务发布出去(这里的Service是dubbo的service) public class TicketServiceImpl implements TicketService { @Override public String getTicket() { return "<厉害了,我的国>"; } }
- 启动发布者项目,注册完成
- 编写消费者: (1)引入pom文件,同上 ;编写Application配置文件
dubbo.application.name=consumer-user dubbo.registry.address=zookeeper://192.168.0.113:2181