You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
lensfrex 155c577792
limit 1, CookieManager, CourseResponse
10 months ago
.idea . 1 year ago
backend-main limit 1, CookieManager, CourseResponse 10 months ago
common 图书馆,研究生 10 months ago
doc g 1 year ago
external-library 图书馆,研究生 10 months ago
sub-services 图书馆,研究生 10 months ago
.gitignore 图书馆,研究生 10 months ago
.gitmodules quarkus 1 year ago
README.md 图书馆,研究生 10 months ago
pom.xml 图书馆,研究生 10 months ago

README.md

Wusthelper-backend

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

武科大助手后端项目

应该是第三代后端了吧。

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

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

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

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

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

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

@lensferno


环境要求

包管理和构建: Maven 3.8.2+

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

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


项目模块结构

详见doc


关于Mywust库的导入问题

待补充


API文档

详见doc


构建

待补充


运行

待补充


就先这样吧,手累了