## 應用功能說明
> 描述應用模塊核心功能
```
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 容器監控
- 項目資源需求
- 應用服務
- 編譯和運行期標準
- 新核心系統基礎服務架構
- 安全防御
- 互聯網軟件可靠性工程及可靠性度量