夜间模式暗黑模式
字体
阴影
滤镜
圆角
主题色
Dubbo

简介

  • Dubbo是阿里内部的一个高性能服务框架

  • 实现

    • 远程通讯
    • 集群容错
    • 自动发现

Dubbo 工作方式

  • provider:服务提供方
  • consumer:调用远程服务的消费方
  • Registory:服务注册与发现的注册中心
  • Monitor:统计服务的调用次数和调用时间的监控中心

Zookeeper

  • 官方推荐的注册中心,主要负责服务地址的注册与查找

  • Zookeeper在Linux系统上的安装步骤

    • 第一步:安装JDK

    • 第二步:吧zookeeper上传到linux上

    • 第三步:解压缩zookeeper压缩包

    • 第四步:在解压后的zookeeper文件夹中创建data文件夹,用来存储zookeeper注册数据

    • 第五步:修改zookeeper/conf文件夹下配置文件名字zoo_sample.cfg,拷贝一份并修改文件名称为zoo.cfg

    • 第六步:修改zoo.cfg中的内容

      • dataDir = /usr/local/zookeeper-3.4.6/data
      • 表名:服务的注册信息存储到该目录
    • 第七步:开放linux 2181端口

      • 将2181端口添加到iptables
      • 重启防火墙服务
    • 第八步:启动zookeeper

      • 运行bin文件夹中的zkServer.sh文件

        • 在bin目录下:./zkServer.sh start
        • 非bin目录下:/usr/local/zookeeper/bin/zkServer.sh start
    • 第九步:部署zookeeper管理中心

      • 在linux系统中安装Tomcat
      • 在duboo-admin.war 放到 webapps
      • 在外部使用浏览器访问doubbo-admin

分布式微服务Demo

  • 项目结构

    • 创建一个Maven项目

      • provider项目:SpringBoot
      • consumer项目:SpringBoot
    • 导入依赖

      • 如果多个模块使用相同的依赖,那么建议最外层项目中进行依赖导入,各模块继承即可
      • 相同的依赖只导一次
      • 相应依赖
      # doubbo
      <dependency>
      	<groupId>com.alibaba.boot</groupId>
      	<artifactId>dubbo-spring-boot-starter</artifactId>
      	<version>0.2.0</version>
      </dependency>
      # curator
      <dependency>
          <groupId>org.apache.curator</groupId>
          <artifactId>curator-framework</artifactId>
          <version>4.0.1</version>
      </dependency>
      # zookeeper
      <dependency>
          <groupId>org.apache.zookeeper</groupId>
          <artifactId>zookeeper</artifactId>
          <version>3.4.13</version>
          <type>pom</type>
      </dependency>
      # 注意:依赖导入到最外层的Maven项目中
      
    • 设置启动项继承关系

      • MAven中的pom继承spring-boot-starter-parent启动器
      • provider和consumer继承Maven的pom
    • 提供者开发步骤

      • SpringBoot配置
      server.port=9001
      spring.application.name=provider
      
      dubbo.application.name=hello-provider
      dubbo.protocol.name=dubbo
      dubbo.protocol.port=20880
      dubbo.registry.address=zookeeper://192.168.229.128:2181
      
      • SpringBoot启动类中添加dubbo注解

        • @EnableDubbo
        • 表示:在启动SpringBoot项目时,需要将服务相关信息提交到注册中心
      • 接口配置

        • 注意:消费者中一定要又提供者的接口定义,而且必须一致

 


暂无评论

发送评论 编辑评论


				
上一篇