1 | # service-starter
|
2 | 标准化nodejs程序的结构体系。提供一个通用的启动和关闭程序的方式。兼容Docker。使用Typescript编写。
|
3 |
|
4 | ## 程序结构
|
5 | 一个容器是由一个`ServicesManager`和多个`ServiceModule`所组成的。
|
6 |
|
7 | ### ServicesManager
|
8 | 一个容器之中只能允许实例化一个`ServicesManager`([API](bin/ServicesManager.d.ts))。该类负责
|
9 | * 按照服务注册的顺序来启动服务
|
10 | * 响应容器的健康检查
|
11 | * 按照服务注册相反的顺序来关闭服务
|
12 | * 打印服务启动和关闭的过程
|
13 | * 优雅处理程序未捕获异常(发生异常后,先依次停止服务,再退出程序)
|
14 | * 处理系统退出信号,收到退出信号后,先依次停止服务,再退出程序
|
15 | * 提供了onError回调,用户可以自定义运行时错误处理方式
|
16 |
|
17 | ### ServiceModule
|
18 | 规范了一个服务的基本结构([API](bin/ServiceModule.d.ts))
|
19 |
|
20 | ### docker
|
21 | 在该项目docker文件夹下提供了一个[Dockerfile](docker/Dockerfile)基础配置模板
|