SpringBoot整合Zookeeper+Dubbo案例 妖狐艹你老母 2022-02-28 13:48 249阅读 0赞 ### 一、创建两个项目一个购票服务(生产者)一个买票服务(消费者) ### ![20190325223400935.png][] ### 二、引入两个项目都需要的Jar ### <!--引入dubbo--> <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> ### 三、编写生产者相关配置和案例代码 ### 1)、Dubbo和Zookeeper全局配置基本配置 dubbo.application.name=provider-ticket dubbo.registry.address=zookeeper://192.168.43.118:2181 dubbo.scan.base-packages=com.zhq.ticket.service 2)、编写服务相关代码 @Component @Service//将服务发布出去 public class TicketServiceImpl implements TicketService { @Override public String getTicket() { return "《绿皮书》"; } } 注意:@Service是引用com.alibaba.dubbo.config.annotation.Service 3)、启动购票服务(运行项目) ### 四、编写消费者相关配置和代码 ### 1)、Dubbo和Zookeeper全局配置基本配置 dubbo.application.name=consumer-user dubbo.registry.address=zookeeper://192.168.43.118:2181 2)、编写服务相关代码 @Service public class UserServiceImpl { @Reference//远程引用服务 TicketService ticketService; public void bugTicket(){ String ticket = ticketService.getTicket(); System.out.println("买到票:"+ticket); } } 注意:消费者需要跟生产者有一样的接口目录 3)、编写单元测试 @Autowired UserServiceImpl userService; @Test public void contextLoads() { userService.bugTicket(); } 运行结果: ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3htMzkzMzkyNjI1_size_16_color_FFFFFF_t_70][] [20190325223400935.png]: /images/20220228/92b606e7630e40a0892580eb567b90a9.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3htMzkzMzkyNjI1_size_16_color_FFFFFF_t_70]: /images/20220228/4129ec85f3f6487aa47b8808b1b23299.png
还没有评论,来说两句吧...