app-engine 是一个分布式的App服务端快速开发框架,包含了基本的权限认证、日志处理、接口防刷、系统监控等基本功能。 此框架围绕分布式服务系统构建,能够快速扩容,迎合微服务化,提供App服务端常用必备功能。
- Spring Boot / Spring MVC / Spring Data Jpa
- Gradle
- Java8
- Logback
- Lombok
- 认证方式: Basic、 Cookie、Header、内外网
- 统一错误处理、统一Json格式模板
- 接口请求日志统一处理
- 接口频次拦截
- 支持多数据源、主从分离
- 多Profile支持,Gradle、Spring、应用程序Profile整合
- 完善的系统监控
- 热部署
- 自动生成接口文档
- docker支持(gradle创建image、docker-compose)
区分有三种环境dev、test、prod,不同环境会加载不同的配置文件
- Gradle环境配置: gradle.properties里设置profile
- Spring环境变量: application.yaml或application.properties里配置spring.profiles.active
- 应用内获取环境变量: spring注入: @Autowired Environment env 或手动解析spring配置文件(不依赖Spring)
- 如果安装了docker,直接执行 deploy/bin/init_redis.sh脚本
- 手动安装: redis: ip:127.0.0.1 port:6379 password:无
运行 gradle clean jar assemble 会自动打可执行jar包,运行:
- java -jar deploy/build/libs/deploy-${version}.jar
- ./deploy/build/libs/deploy-${version}.jar 如需配置JVM等参数请修复deploy/config/deploy-${version}.conf并拷贝到可执行jar包相同目录,并修改${version}
- 修改build.gradle里uploadArchives的私有仓库地址、用户名、密码
- 执行 ./gradlew uploadArchives 命令
- 执行: gradle run
- 执行运行: Application.java
- 执行: ./gradlew run,此方式不用安装gradle
- 指定 gradle check
- 在build/reports目录会生成相关报告文件
- 健康检查: http://localhost:7002/health
- 次数监控: http://localhost:7002/metrics
- APP信息: http://localhost:7002/info
- dump信息: http://localhost:7002/dump
- 环境信息: http://localhost:7002/env
- 性能监控: http://localhost:8080/javasimon
- 数据库监控: http://localhost:8080/druid
- Tomcat监控: http://localhost:7002/jolokia/read/Tomcat:type=Connector,port=8080
- 完善注释
- 完善文档
- 添加单元测试、集成测试、压力测试