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:

  1. 新建一个空项目
  2. 在空项目中新建一个消费者Module和一个生产者Module
  3. 将服务提供者注册到注册中心  :
    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.service
    3.使用@Service发布服务:
    TicketService:
    public interface TicketService {
    
        public  String  getTicket();
    }
    TicketServiceImpl:
    @Component
    @Service  //将服务发布出去(这里的Service是dubbo的service)
    public class TicketServiceImpl implements TicketService {
    
        @Override
        public String getTicket() {
            return "<厉害了,我的国>";
        }
    }

     

  4. 启动发布者项目,注册完成
  5. 编写消费者:    (1)引入pom文件,同上 ;编写Application配置文件
    dubbo.application.name=consumer-user
    
    dubbo.registry.address=zookeeper://192.168.0.113:2181

     

    (2)引入发布者的service接口  (3)编写消费者service  (4)测试类调用 (5)打印结果:买到票了:<厉害了,我的国>

posted @ 2019-05-22 17:11  MagicAsa  阅读(583)  评论(0编辑  收藏  举报