Skip to content

About

java进阶开发,高级版web项目。基于dubbo实现分布式微服务架构,基于spring boot、spring mvc、mybatis、docker、ELK、redis、vue.js、node.js等技术实现的技术分享交流网站。网站名称:技术流,英文名:skill6。主要功能有:登录注册、单点登录、restful设计、文章及评论、代码及资源下载、主题讨论等。持续更新中...

Topics

Resources

Stars

159 stars

Watchers

12 watching

Forks

Latest commit

 

History

470 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

skill6 building status codecov Apache License 2 Average time to resolve an issue Percentage of issues still open

技术流skill6网站的架构设计、需求分析、技术选型等


1、架构设计

image


2、技术选型

2.1 后端

技术 功能点 官网链接
Maven 项目依赖管理 http://maven.apache.org/
Spring 容器 http://projects.spring.io/spring-framework/
Spring Boot spring框架 http://spring.io/projects/spring-boot
SpringMVC restful接口 http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc
Shiro 权限控制 http://shiro.apache.org/
MyBatis ORM框架 http://www.mybatis.org/mybatis-3/zh/index.html
MyBatis Generator 实体类和DAO代码生成 http://www.mybatis.org/generator/index.html
Druid 数据库连接池 https://github.com/alibaba/druid
Redis 缓存 https://redis.io/
Log4J 日志 http://logging.apache.org/log4j/1.2/
Sequence 分布式ID生产 http://git.oschina.net/yu120/sequence

2.2 前端

技术 名称 官网
Vue.js 构建用户界面的渐进式框架 https://cn.vuejs.org/
JQuery 轻量级 JavaScript 库 http://jquery.com/
Bootstrap 前端框架 http://getbootstrap.com/
Editor.md Markdown编辑器 https://github.com/pandao/editor.md

2.3 服务器

技术 名称 官网
Docker 容器 https://www.docker.com/
Nginx 负载均衡 http://nginx.org/

3、数据库设计

image

补充说明

  1. 目前已设计上述15个表,其中category_info表数据量较小,所以设计包含文章分类、代码分类等所有分类,通过type字段区别;
  2. type(类型)字段使用枚举一一映射;
  3. valid字段对应的tinyint只有1和0两个值,使用booealn值做映射;
  4. id统一使用分布式id生成器生成,便于后期做分库分表,分布式id默认长度不超过19位,通过传入workedId和datacenterId两个参数即可生成;
  5. 用户表包含管理用户和普通用户两种,通过type字段区分,用户表又分为用户重要信息(user_privacy_info)和其他信息(user_info);
  6. 图片和文件使用同一种方式存储,但是使用不同的表,因为图片数据量明显大于其他文件;
  7. 文章评论和灌水区(类似主题问答)使用不同的表区分;
  8. 文章和代码使用不同的表,文章包含文字+代码等,而代码是纯代码,如序列化工具类;
  9. 用户修改信息、用户登录记录、用户访问网站和文章等的记录都详细记载,用于后期数据存储、分析和做推荐等;
  10. 版本信息表用户更新网站版本说明及特性等;

4、沟通交流

点击加入QQ群

image

About

java进阶开发,高级版web项目。基于dubbo实现分布式微服务架构,基于spring boot、spring mvc、mybatis、docker、ELK、redis、vue.js、node.js等技术实现的技术分享交流网站。网站名称:技术流,英文名:skill6。主要功能有:登录注册、单点登录、restful设计、文章及评论、代码及资源下载、主题讨论等。持续更新中...

Topics

Resources

Stars

159 stars

Watchers

12 watching

Forks

Releases

Packages

Used by

Contributors

Languages