## 应用功能说明
> 描述应用模块核心功能
```
hxgy-netinquiry-service为互联网医院-在线门诊业务中咨询服务模块。该项目是基于spring boot的后台java应用,通过API方式提供业务功能。
```
## 应用服务依赖说明
描述应用服务模块启动顺序依赖,应用成功启动是否依赖第三方服务。
- 启动顺序依赖
- 第三方服务依赖
- 黑白名单
- 数据库初始化
## 应用命名Appid
> 名称命名规范:功能-类别
- service 后端应用
- frontend 前端应用
### 举例:
- 项目:jenkins同级应用目录名称
```
hyt
```
- 功能
```wiki
netinquiry
```
- 类别
```wiki
service
```
```
完整应用名称: netinquiry-service
jenkins目录: hty-dev
```
## 应用私有代码仓库
- 私有代码仓库地址
```
http://gitlab-dev.XXX.info/ms/hxgy-netinquiry-service.git
```
- 代码分支branch
```
develop-cce-v0.1.0
```
## Java应用编译
- jar包名称
```wiki
hxgy-netinquiry-service-xxx.jar
```
- 打包命令
```shell
mvn clean package -DskipTests -DskipDocker -U
```
- jar包打包后文件路径
```
./target/hxgy-netinquiry-service*.jar
```
- jdk version
```wiki
jdk1.8.201
```
- maven version
```wiki
maven 3.6.3
```
- nexus私有仓库地址
```wiki
http://XXX/nexus/
```
- pom.xml编写规范
## 应用健康检查
> 应用提供健康检查请求地址,http 请求返回状态码 200
- 地址
```wiki
http://ip:port/api/checkhealth
```
## 日志格式规范
- 日志保存路径
```
/data/log/hxgy-netinquiry-service-xxxx-xx-xx.log
/data/log/hxgy-netinquiry-service-xxxx-xx-xx.log.gz
```
- 日志规范
## 应用启动参数
- 通用环境变量
```properties
SKYWALKING_AGENT_COLLECTOR_IP=hxgyskywalking-oap.skywalking
NACOS_CONFIG_SERVER_ADDR=ip:8848
NACOS_CONFIG_NAMESPACE=namespaceid
NACOS_CONFIG_GROUP=DEFAULT_GROUP
NACOS_CONFIG_FILE_EXTENSION=yml
```
- 私有环境变量
```properties
SKYWALKING_AGENT_SERVICE_NAME=hxgy-netinquiry-service
```
- JAVA_OPS
```shell
JAVA_OPTS=-Duser.timezone=GMT+08 -Dfile.encoding=UTF-8 -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMPercentage=80.0
```
- 启动命令
```shell
java -javaagent:/usr/skywalking/agent/skywalking-agent.jar=agent.service_name=${SKYWALKING_AGENT_SERVICE_NAME},collector.backend_service=${SKYWALKING_AGENT_COLLECTOR_IP}:11800 ${JAVA_OPTS} -jar /app.jar
```
## 基础组件依赖
- mysql初始化配置
- redis模式
```wiki
redis-cluster
```
- rabbitmq初始化配置
- 服务配置文件
```yaml
hxgy-netinquiry-service.yml
```
## Nginx路由规则
```nginx
location /netInquiry/ {
proxy_pass http://ip:port/netInquiry/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
}
```
## 数据库执行脚本
- 文件管理规范
- 初始化数据库
```wiki
执行仓库scripts目录下的01-ddl-netinquiry-service-v1.0.0.sql文件
```
## 应用域名
- 公网域名
```wiki
https://hyt-dev.cd120.info/netInquiry
```
- 内网域名
内网域名优先使用k8s service 地址
service请求地址格式
```
http://appid.namespace.svc.cluster.local:port
```
优先使用同namespace 内请求地址,
```
http://netinquiry-service:8080
```
夸namespace 请求地址
```
http://netinquiry-service.default.svc.cluster.local:8080
```
- 云原生应用
- 容器化微服务改造方案
- 应用容器化上线规范
- 服务网格和传统应用区别
- DevOps 管理规范
- 基础架构管理规范
- 域名管理规范
- 主机名称管理规范
- 应用域名管理规范
- 应用上线规范
- GIT分支及API JAR上传规范
- 基础架构设计
- 运维管理职责
- 基础服务
- DNS 内部架构
- centos 及 kernel 版本标准
- Linux服务器OS标准配置
- Docker版本初始化
- kuberneter 集群方案
- kubernetes 命名规范
- Jenkins CI/CD
- nginx 配置文件变更流程
- Prometheus 容器监控
- 项目资源需求
- 应用服务
- 编译和运行期标准
- 新核心系统基础服务架构
- 安全防御
- 互联网软件可靠性工程及可靠性度量