Skip to content

开发指南

lorgine edited this page Oct 18, 2019 · 2 revisions

本文档介绍了如何在本地使用IDE编译、运行PMQ,从而可以帮助大家了解PMQ的内在运行机制,同时也为自定义开发做好准备。

1. 模块依赖图

模型依赖图

模块依赖图有助于我们对整个项目结构有总体的认识。下面会描述每个数字对应的项目目录和意义,mq-open是项目根目录。

  • \mq-open\mq-client\mq-core:

    mq-core 项目PMQ最基础的项目,里面包含一些公用的方法和公用的dto对象。是所有项目的基础。

  • \mq-open\mq-biz:

    mq-biz 项目broker服务端mq-rest 和 portal 界面的业务逻辑层,里面包含数据库实体和dal访问对象,供mq-rest 和 mq-ui使用。

  • \mq-open\mq-rest:

    mq-rest是PMQ的broker服务端,用来对客户端和第三方提供rest服务(包括:消息发送请求、消息拉取请求、心跳请求、重平衡等)。

  • \mq-open\mq-ui:

    mq-ui是PMQ的portal界面,用来给用户提供界面操作和管理。

  • \mq-open\mq-client\mq-client-core:

    此项目是PMQ的原生客户端,基本不依赖任何第三方jar包,除了http访问,比较轻量级,封装了一些客户端接口。

  • \mq-open\mq-client\mq-client-spring:

    此项目是在原生客户端的基础上,做了一些spring 封装,以简化操作,和提供了一些统计接口。

  • \mq-open\mq-client\mq-client-springboot:

    此项目是在spring客户端的基础上,为springboot做了一些自动化加载配置。

  • \mq-open\mq-client-test-001:

    此项目是PMQ的客户端demo。

  • \mq-open\mq-proxy 此模块是PMQ的代理客户端,为非Java语言应用提供的代理模块。

还有一些其他的项目,属于附加测试的,不一一介绍。

2. 本地开发环境

2.1 本地运行时环境

  1. Java: 1.8+
  2. MySQL: 5.6.5+
  3. Maven
  4. IDE: 没有特殊要求

准备好数据库,参考快速启动:快速部署

3. 本地启动

在application.properties配置文件中添加spring.profiles.active=fat配置,指定启动环境为fat环境。

启动配置

上图以mq-rest为例,为项目mq-rest添加spring.profiles.active=fat配置,指定启动环境为fat环境。

3.1 mq-rest 启动

点击RestApplication的Debug'RestApplication',启动mq-rest。如下图所示:

启动类

mq-rest启动之后,通过浏览器访问http://localhost:8080/,看到如下图片则说明访问成功。

启动类

3.2 mq-ui 启动

启动设置跟mq-rest一样,不单独描述。