1 项目架构
交友项目分为三大模块:app模块、大数据推荐模块、管理模块,我主要负责的是App模块的Java后端开发。
整个项目使用了SpringBoot+SpringCloud+Dubbo的整理架构,使用nacos作为注册中心,前端(app端+管理端)访问网关,网关转发到后端提供的接口,比如app端主要对接后端app-server接口。
我们使用的数据库包括mysql、redis、mongoDB,我们搭建了dubbo-mongo模块,专门操作mongoDb数据库,搭建了dubbo-db模块,专门操作mysql数据库,redis是在需要的时候,及时的使用。
项目的资源上传和资源下载(图片+视频)使用的是fastdfs技术,短信发送对接了吉信达中台,在项目中还是用了百度人脸检测进行真实头像的校验等等。
项目的及时通信采用的是环信服务。
大数据推荐系统主要根据协同过滤算法,根据系统用户的喜好,智能推荐好友和好友视频。
2.部分功能展示
3.技术介绍
- Spring Boot + SpringCloud + SpringMVC + Mybatis + MybatisPlus + Dubbo
- MongoDB 实现海量数据的存储, geo 实现地理位置查询
- 采用Redis集群实现缓存的高可用
- 采用环信服务实现即时通讯
- 采用阿里云短信服务发送短信
- 采用百度人脸识别服务检测人脸
- 采用Apache Dobbo作为微服务架构技术
- 采用分布式文件系统fastdfs存储小视频数据