### 必知要点
---
在该文档中,我们将主要介绍开发和调试阶段,系统所依赖的服务组件的启动与控制台访问方式。
1. 我们目前提供的启动方式包括,docker-compose和本地命令行两种方式。推荐操作更为简便的docker-compose方式。
2. 对于基础服务组件,如注册中心(nacos/consul)、配置中心(nacos/consul)、Redis、Zookeeper和Kafka,均可通过docker-compose的方式启动。
与此同时,我们也为这些服务组件提供了本地启动文档,具体详见开发文档中[环境准备章节](http://www.orangeforms.com/development-doc/environment/)。
3. 出于某些原因,apollo配置中心和skywalking,我们目前尚未提供docker-compose方式,因此只能通过本地命令行的方式启动。
具体详见开发文档中[环境准备章节](http://www.orangeforms.com/development-doc/environment/)。
4. ELK、Prometheus、Grafana和PinPoint,由于不会影响正常的开发和调试,我们目前仅提供了docker-compose的启动方式。
最后,我们真诚的希望能够得到您的反馈,并持续改进我们的产品、文档、服务和操作流程。
### 服务接口文档
---
- Postman
- 无需启动服务,即可将当前工程的接口导出成Postman格式。在工程的common/common-tools/模块下,找到ExportApiApp文件,并执行main函数。
### 系统依赖服务组件
---
当前工程所有微服务启动前,需将下列服务组件依次启动,可选组件可根据实际需要决定是否启动。
> 如果采用本地启动方式,启动顺序如下。docker-compose方式,脚本文件中已经编排好启动顺序。
- Redis
- 版本:4
- 端口: 6379
- 推荐客户端工具 [AnotherRedisDesktopManager](https://github.com/qishibo/AnotherRedisDesktopManager)
- Zookeeper
- 版本:3.5.5
- 端口:2181
- 推荐客户端工具 [zkui](https://github.com/DeemOpen/zkui)
- Kafka
- 版本:2.12-2.4.0
- 端口:9092
- 推荐客户端工具 [Kafka Tool](http://www.kafkatool.com/download.html)
- Nacos
- 版本:1.3.1
- 控制台URL:localhost: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控制台URL:localhost:5601
- PinPoint (可选,仅当尝试使用PinPoint进行链路跟踪时使用)
- 版本:2.0.x
- 控制台URL:localhost:8079
- admin-monitor服务模块 (可选)
- 控制台URL:localhost: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、Apollo、XXL-Job、Redis、Kafka、Zookeeper、Skywalking的本地启动方式,请参考开发文档中[环境准备章节](http://www.orangeforms.com/development-doc/environment/)。
2. ELK、Grafana、Prometheus、Pinpoint目前仅提供docker-compose方式。
3. 再次强调,通过本地命令行启动所有系统服务组件时,启动顺序一定要和上面"系统依赖服务组件"部分列出的服务顺序保持一致,因为服务组件之间是有依赖的。