目录规划
类似于linux系统,什么目录里面放什么文件,都是很有讲究的。由于微服务会随着业务而增加,定义统一的目录标准也是有必要的。这种约定的东西使得其他人接手或者新人熟悉,也是很快的。
系统分析
- 一般linux系统都分为 系统盘(系统自带的硬盘)和 外部挂载盘(额外挂载的硬盘)
- 系统盘: 用于存放系统产生的日志和数据,这种盘空间一般都很小,不适合用于存放业务系统产生的数据
- 数据盘: 用于业务系统产生的数据和日志,通常空间比较大。空间使用情况和具体的业务紧密相关
目录规划
- 数据盘挂载点: 假设数据盘的挂载点为
/data
- 项目存放: 项目以服务名称放在
/data
目录下面。举个例子/data/service_name/service_name.jar
- 日志存放: 日志全部统一放在
/data/logs
目录下面,并且根据不同的服务存放不同的目录下面。举个例子/data/logs/service_name
- 配置存放: 由于使用了SpringBoot,所有的配置应该包含在jar包之中。额外的配置,比如一些证书或者第三方的配置,都放在
/data/config
目录下面。举个例子/data/config/service_name
- 数据存放: 由于服务可能会产生一些临时文件,临时文件可以存放到
/data/data
目录下面。举个例子/data/data/service_name
统一如何落地
- 这个只是目录约定,那么如何确保大家都是用统一的目录,如果只靠文档是不够的,所以可以采用统一配置的方式,并且设置默认配置,不让开发人员感知到这些约定的东西。
- 具体落地可以查看[如何优雅的使用配置中心]和如何规划日志文件和格式