版本V: 3.X.X
基础框架: maven springboot + mybatis + dubbo + zookeeper,业务分层,为微服务拆分做好准备
数据库: mysql(主机),redis(主机)
搜索引擎: lucene,elasticsearch,solr,设计三种实现方案,可实现无缝切换。elasticsearch,solr的引入主要是应对集群部署。
前端: elementui+vue框架
域名: 阿里云
服务器(2/4): 腾讯云/linux
存储: 主机
其他配置: nginx / ftp / docker / ffmpeg音视频处理技术
第三方服务: qq授权 / 钉钉授权 / 语雀授权 / 百度图片检测(内容检测)
目前此版本在以往的版本中删减了很多功能,例如暂时关闭了用户发表文章,以及管理的权限,用户点赞,收藏等功能。
目前登陆功能主要用于文件下载。
其主要原因是没有时间去写(以后有时间了可以慢慢完善)。
虽然功能上有所删减,但是在整个项目架构和接口设计以及可拓展性上表现的更加丰富。例如下列几个值得探索的几个方面:
1. 登陆功能,设计了自定义的注解和解析器,以及抽象出一些公共的登陆逻辑,可以方便以后整合更多的第三方登陆方式。
2. 文件上传,文件上传功能被单独抽取到一个maven模块中并整合成start。只要引入它的pom就可以用它提供的服务。 该模块整合了多种文件上传和下载的方式,例如ftp、local(本地)、阿里云oss,可以通过yml配置文件配置项目启动后具体使用某种方案。 该方案使文件上传下载有更多的选择,并且只需要简单配置即可完成。同时也使管理端和web端重用了这些逻辑。
3. 站内搜索,搜索方案在之前的版本中一直使用lucene并为单体应用,但考虑到以后微服务的加入,以及多台服务器的负载均衡所以引入了 分布式搜索引擎elasticsearch,和 solr。在设计的时候抽取出功能接口, 分别创建出多个start去分别实现lucene、elasticsearch、solr的解决方案。 并且在打包的时候通过pom依赖决定使用那种方案。或者三种方案的pom都可以引入,启动的时候通过配置决定使用某种方案。
4. 管理端权限框架的封装,该方案整合了springSecurity权限框架,在次基础上整合了一套默认的用户角色权限校验的实现,包括数据库, 在使用时只需要引入该start的pom即可,并且在此基础上做了很好的扩展以及更丰富的配置,在不同业务和需求中可以扩展原有一些类的功能从而实现更复杂的业务。
5. 图形验证码框架,因为很多功能都用到了图形验证码登陆、注册、注册验证等、包括管理端 所以我就考虑可以用一个独立的start去实现图形验证码的生成以及校验,我们在使用时只用在需要校验的对外暴露的接口上加上相应的注解,即可实现。 并且实现的过程比较简单,适用的范围也比较广,在很多简单的项目中都可以用。
该框架已经被我上传到github上 项目地址:https://github.com/18438301593/captcha 有详细的使用说明。
6...
虽然功能上有所删减,但是在整个项目架构和接口设计以及可拓展性上表现的更加丰富。例如下列几个值得探索的几个方面:
1. 登陆功能,设计了自定义的注解和解析器,以及抽象出一些公共的登陆逻辑,可以方便以后整合更多的第三方登陆方式。
2. 文件上传,文件上传功能被单独抽取到一个maven模块中并整合成start。只要引入它的pom就可以用它提供的服务。 该模块整合了多种文件上传和下载的方式,例如ftp、local(本地)、阿里云oss,可以通过yml配置文件配置项目启动后具体使用某种方案。 该方案使文件上传下载有更多的选择,并且只需要简单配置即可完成。同时也使管理端和web端重用了这些逻辑。
3. 站内搜索,搜索方案在之前的版本中一直使用lucene并为单体应用,但考虑到以后微服务的加入,以及多台服务器的负载均衡所以引入了 分布式搜索引擎elasticsearch,和 solr。在设计的时候抽取出功能接口, 分别创建出多个start去分别实现lucene、elasticsearch、solr的解决方案。 并且在打包的时候通过pom依赖决定使用那种方案。或者三种方案的pom都可以引入,启动的时候通过配置决定使用某种方案。
4. 管理端权限框架的封装,该方案整合了springSecurity权限框架,在次基础上整合了一套默认的用户角色权限校验的实现,包括数据库, 在使用时只需要引入该start的pom即可,并且在此基础上做了很好的扩展以及更丰富的配置,在不同业务和需求中可以扩展原有一些类的功能从而实现更复杂的业务。
5. 图形验证码框架,因为很多功能都用到了图形验证码登陆、注册、注册验证等、包括管理端 所以我就考虑可以用一个独立的start去实现图形验证码的生成以及校验,我们在使用时只用在需要校验的对外暴露的接口上加上相应的注解,即可实现。 并且实现的过程比较简单,适用的范围也比较广,在很多简单的项目中都可以用。
该框架已经被我上传到github上 项目地址:https://github.com/18438301593/captcha 有详细的使用说明。
6...
版本V: 2.X.X
基础框架: maven springboot+mybatis
数据库: 阿里云rds mysql(后因费用问题 又迁移到 主机mysql),redis(主机)
搜索引擎: lucene
前端: layui框架
域名: 阿里云
服务器(1/2): 阿里云/linux
存储: 阿里云oss(后因流量费用问题 又迁移到 主机本地)
其他配置: nginx / apache / ftp
第三方服务: qq授权 / 百度图片检测
版本V: 1.X.X
基础框架: maven spring+springmvc+mybatis
数据库: mysql(主机)
搜索引擎: lucene
前端: 没有框架,完全自己开发
域名: 阿里云
服务器(1/2): 阿里云/linux
存储: 主机
其他配置: nginx / apache / ftp