Files
orange-admin/orange-demo-multi-service

必知要点


在该文档中,我们将主要介绍开发和调试阶段,系统所依赖的服务组件的启动与控制台访问方式。

  1. 我们目前提供的启动方式包括docker-compose和本地命令行两种方式。推荐操作更为简便的docker-compose方式。
  2. 对于基础服务组件,如注册中心(nacos/consul)、配置中心(nacos/consul)、Redis、Zookeeper和Kafka均可通过docker-compose的方式启动。 与此同时,我们也为这些服务组件提供了本地启动文档,具体详见开发文档中环境准备章节
  3. 出于某些原因apollo配置中心和skywalking我们目前尚未提供docker-compose方式因此只能通过本地命令行的方式启动。 具体详见开发文档中环境准备章节
  4. ELK、Prometheus、Grafana和PinPoint由于不会影响正常的开发和调试我们目前仅提供了docker-compose的启动方式。

最后,我们真诚的希望能够得到您的反馈,并持续改进我们的产品、文档、服务和操作流程。

系统依赖服务组件


当前工程所有微服务启动前,需将下列服务组件依次启动,可选组件可根据实际需要决定是否启动。

如果采用本地启动方式启动顺序如下。docker-compose方式脚本文件中已经编排好启动顺序。

  • Redis

  • Zookeeper

    • 版本3.5.5
    • 端口2181
    • 推荐客户端工具 zkui
  • Kafka

    • 版本2.12-2.4.0
    • 端口9092
    • 推荐客户端工具 Kafka Tool
  • Nacos

    • 版本1.3.1
    • 控制台URLlocalhost:8848/nacos
    • 用户名密码nacos/nacos
  • Sentinel-Dashboard (可选)

    • 版本1.7.2
    • 控制台URL: localhost:8858
    • 用户名密码sentinel/sentinel
    • 注意该服务缺省端口为8080容易冲突所以改为8858。我们在所有的配置中均使用了8858而非8080。
  • ELK (可选docker-compose-elk)

    • 版本7.5.x
    • Kibana控制台URLlocalhost:5601
  • PinPoint (可选仅当尝试使用PinPoint进行链路跟踪时使用)

    • 版本2.0.x
    • 控制台URLlocalhost:8079
  • admin-monitor服务模块 (可选)

    • 控制台URLlocalhost:8769
  • 启动upms服务 (保证登录和用户权限服务可用)

  • 启动其他业务应用微服务
    推荐在gateway服务之前启动以便gateway服务启动后可以即刻发现服务。由于gateway是从注册中心定时拉取微服务信息所以在gateway之后启动的微服务通常会延迟一小段时间之后才会被发现。

  • 启动gateway网关服务
    在所有微服务之后启动启动后即可发现所有微服务。仅有被gateway发现的微服务该服务的请求才可以被正常转发。

服务组件启动


下述文件位于工程目录的zz-resource/docker-files子目录内。

  • docker-compose.yml (必须)
    • 包含系统所需的必备组件如注册中心、配置中心、Sentinel-Dashboard、Redis、Kafka和Zookeeper。
    • 第一次启动方式为 docker-compose up -d
    • 停止方式推荐为 docker-compose stop
    • 再次启动方式推荐为 docker-compose start
    • 强行停止方式为 docker-compose down
    • 强行停止后再次启动可能导致kafka和zookeeper出现数据错误执行./clear-data.sh可清空部分临时数据。
    • 清空后再次执行docker-compose up -d 即可。
    • docker-compose start和docker-compose stop不会出现该类数据问题。
    • 查看启动日志命令 docker-compose logs
  • docker-compose-full.yml (可选)
    • 包含全部服务的启动项,基础服务 + elk + gp。
    • 启动方式为 docker-compose up -f docker-compose-full.yml -d
    • 停止方式和数据错误处理方式请参考上面docker-compose.yml的说明。
  • Pinpoint服务启动 (可选)
    • 进入zz-resource/pinpoint-docker-master目录。
    • 执行docker-compose up启动Pinpoint数据采集和分析服务docker-compose down停止该服务。

本地命令行启动方式


  1. Nacos、Consul、Sentinel、Seata、Apollo、XXL-Job、Redis、Kafka、Zookeeper、Skywalking的本地启动方式请参考开发文档中环境准备章节
  2. ELK、Grafana、Prometheus、Pinpoint目前仅提供docker-compose方式。
  3. 再次强调,通过本地命令行启动所有系统服务组件时,启动顺序一定要和上面"系统依赖服务组件"部分列出的服务顺序保持一致,因为服务组件之间是有依赖的。