# Wusthelper-backend 武科大助手后端项目 应该是第三代后端了吧。 新的重写过的后端,其实在这版正式出来之前已经有很多个实验性的原型版本了,用了各种不同的技术,包括grpc,dubbo等等,但是都因为效果不如意或者不合适胎死腹中给砍了,没有继续写下去(其实这个readme也是曾经最早的一个原型版本改来的) 现在的这个版本应该差不多了,是时候放上来了。 这代后端结构与前面的有很大不同,使用了真·多模块的方式运行部署,部分独立模块以不同的程序运行,子模块部署在内网时,可以自动注册frpc进行服务远程转发,主服务和子服务通过http进行通信调用,各模块可以部署在不同的服务器或容器中,当然,也可以挤在一起跑。 因为基于http的json通信,因此可以跨语言语言进行调用这些子服务,若某个模块使用某种语言有比较大的优势(如网关服务可用go或node等进行开发),可以尝试直接用其他语言进行替换,只需要开发时遵循文档即可 ~~(虽然现在并没有什么文档之类的(但是以后会补上来的啦))~~。 当某模块更新或下线时,可以在不重启整个项目的情况下进行更新,同时如果有多个实例部署,可及时切换到可用节点上,从而避免整个项目的完全重启而导致服务完全中断,只要对外api网关模块仍在运行,就可使用仍在运行的模块继续提供一定的服务,提高可用性,同时由于各个模块被拆分,因此相较于以前更为轻量,在模块更新或重启时也能更快的恢复服务 该项目意在探索新技术,同时提高后端服务的可用性 @lensferno --- ## 环境要求 包管理和构建: Maven 3.8.2+ - *后续可能会看情况转用Gradle* Java版本: Java 17+ --- ## 项目模块结构 详见[doc](/doc) --- ## 关于Mywust库的导入问题 --- ## API文档 详见[doc](/doc) --- ## 构建 --- ## 运行 --- 就先这样吧,手累了