欢迎关注千巅科技,江西领先的企业信息化服务商!
能解决用户需求的技术,都是好技术。作为一个程序猿,尤其是移动端程序猿,大家有没有独立开发一个产品的想法?
于是,作为一个 Android 开发者,我自己设计开发了个 App,本篇文章谈一谈我对于 Java 服务端开发的理解和实践。这是一个简单的签到类应用,主要的页面如下,顺便提一下,下面的 App 使用 Flutter 开发的。
Flutter 页面开发不是本篇文章的重点。下面给大家介绍下开发过程中我使用到的服务端技术。
通过这张图可以简单看下我所理解的 Java 服务端开发流程,首先业务代码由我们开发完成后,推送到代码仓库 gitlab(github),然后由持续集成工具 Jenkins 拉取代码进行编译打包,把打成的 Jar 或者 War 包存到服务器某个目录,最后将 Jar 或者 War 部署在 Tomcat 中运行。最后由 Nginx 进行反向代理,将请求转发的不同的服务器,如果有多个服务器的话,还可以做一个负载均衡,减轻单个服务器压力。这样前端浏览器或者移动端 App 就可以正常访问请求了。
在每一台服务器上,我们可能不同的业务跑在不同的 Tomcat 上,这样还会有不同服务之间的通信问题,可以采用 HTTP 或者消息订阅进行通信。另外也不是每次请求都会访问数据库,比如在我开发验证码验证功能的时候,就将验证码存在了 redis 中。当然在线上服务运行的过程中,我们还需要对运行情况做监控。比如 Zabbix 等工具。
开发工具:IntelliJ IDEA、Android Studio
MySQL客户端:MySQL Workbench
Redis客户端:Another Redis DeskTop Manager
终端工具:iTerm2
Git工具:SourceTree
HTTP 请求工具:Postman
. ├── README.md ├── pom.xml ├── roc-css-business ├── roc-css-data ├── roc-css-webapp-app ├── roc-css-webapp-browser └── roc-css.iml
项目的结构如下:
因为最熟悉的是 Java,在开发业务代码时,我选择了 Java Web 开发中最流行的 Spring Boot 框架。用到的技术包括:
以上依赖使用 maven 进行管理,当然也可以使用 Android 中常用的 Gradle。
以上就是在开发这个小项目的过程中用到的一些技术,可能有一些认识上的不足,如果你有更好的框架或工具选择,欢迎留言。当然还有很多的坑是在实际的开发中遇到的,后续会逐渐把代码完善并进行开发,欢迎大家持续关注 千巅科技,持续分享 Android、Flutter、Java Web 等技术。
spring-boot 官网:https://spring.io/projects/spring-boot/
spring security 介绍:https://spring.io/projects/spring-security
JWT 官网:https://jwt.io/
MySQL Workbench 官网:https://www.mysql.com/products/workbench/
Redis 客户端工具:https://github.com/qishibo/AnotherRedisDesktopManager/
iTerm2 官网:https://www.iterm2.com/
不能为空
不能为空