Skip to content

706YouthSpace/706platform-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

技术说明文档

这个文档是为了让大家更好地理解代码,想要贡献代码的请看 CONTRIBUTING.md

如何启动项目

当我们配置好开发环境,把项目 clone 下来之后,我们只需要找到 BackendApplication,先 run 一次,让 IDEA 生成配置文件, 然后编辑这个启动配置在 active profiles 里填入 develop 保存,就配置好了本地的开发环境可以直接启动了。如果是用别的ide的小伙伴,在开发环境启动时加入参数 -Dspring.profiles.active=develop 就可以启动了

架构

因为业务逻辑还比较简单,现在我们不采用复杂的微服务架构,一切都建立在 spring-boot 之上,当然这也为了将来有一天需要升级为 spring cloud 打下基础。

总的来说,我们使用了如下的模块完成对应的功能:

  • actuator 服务器健康状况监控
  • prometheus 更多服务运维数据
  • cache 我们使用注解的方式来做缓存,避免直接使用 redis 或者 memcached来完成缓存的工作,关于缓存下面还有更多说明
  • data-jpa 我们使用 data-jpa 的框架来避免直接操作数据库的链接,这一方面解放了我们自己去深度管理 session 的麻烦,一方面让我们更好地在本地开发,避免依赖复杂数据库环境,另一方面也是为了之后在访问量上来之后做扩容的准备
  • h2 开发环境本地数据库的实现
  • mysql 线上环境数据库的实现
  • mail-sender 我们用来发邮件的框架,将会把邮件集中起来用第三方的邮件服务发送
  • swagger2 开发环境里给前端小伙伴的接口文档

具体框架的文档和学习资料

框架的一些示例

缓存

不在代码里手动操作缓存的原因有如下几个:

  • 开发环境我们是用 simple 类型的缓存,这样就不需要在本地搭建 redis服务了,simple类型的缓存用的是 ConcurrentHashMap,有助于我们在开发的时候快速启动服务
  • 如果深度使用 redis 的复杂类型的话,未来缓存扩容是一个会面临的问题

当然如果我们是把 redis 当作别的用途,比方说 pubsub,那我们另说

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages