No description
  • Java 95%
  • HTML 5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2023-11-10 14:53:09 +08:00
.idea . 2023-09-13 21:05:19 +08:00
backend-main limit 1, CookieManager, CourseResponse 2023-11-10 14:53:09 +08:00
common 图书馆,研究生 2023-11-07 21:52:58 +08:00
doc g 2023-07-11 11:06:34 +08:00
external-library 图书馆,研究生 2023-11-07 21:52:58 +08:00
sub-services 图书馆,研究生 2023-11-07 21:52:58 +08:00
.gitignore 图书馆,研究生 2023-11-07 21:52:58 +08:00
.gitmodules quarkus 2023-07-08 14:27:34 +08:00
pom.xml 图书馆,研究生 2023-11-07 21:52:58 +08:00
README.md 图书馆,研究生 2023-11-07 21:52:58 +08:00

Wusthelper-backend

⚠ 未完成状态,半成品,部分接口未完全兼容实现

武科大助手后端项目

应该是第三代后端了吧。

新的重写过的后端其实在这版正式出来之前已经有很多个实验性的原型版本了用了各种不同的技术包括grpc,dubbo等等但是都因为效果不如意或者不合适胎死腹中给砍了没有继续写下去其实这个readme也是曾经最早的一个原型版本改来的

现在的这个版本应该差不多了,是时候放上来了。

这代后端结构与前面的有很大不同使用了真·多模块的方式运行部署部分独立模块以不同的程序运行子模块部署在内网时可以自动注册frpc进行服务远程转发主服务和子服务通过http进行通信调用各模块可以部署在不同的服务器或容器中当然也可以挤在一起跑。

因为基于http的json通信因此可以跨语言语言进行调用这些子服务若某个模块使用某种语言有比较大的优势如网关服务可用go或node等进行开发可以尝试直接用其他语言进行替换只需要开发时遵循文档即可 (虽然现在并没有什么文档之类的(但是以后会补上来的啦))

当某模块更新或下线时可以在不重启整个项目的情况下进行更新同时如果有多个实例部署可及时切换到可用节点上从而避免整个项目的完全重启而导致服务完全中断只要对外api网关模块仍在运行就可使用仍在运行的模块继续提供一定的服务提高可用性同时由于各个模块被拆分因此相较于以前更为轻量在模块更新或重启时也能更快的恢复服务

  • 随时有可能脑抽大改结构

@lensferno


环境要求

包管理和构建: Maven 3.8.2+

  • 后续可能会看情况转用Gradle

Java版本 Java 17+应使用OpenJDKOracleJDK(包括Graalvm)会出现 SecurityException: JCE cannot authenticate the provider BC 异常)


项目模块结构

详见doc


关于Mywust库的导入问题

待补充


API文档

详见doc


构建

待补充


运行

待补充


就先这样吧,手累了