前言

还记得当初入门前端的时候,我就打算做一个属于自己的“网站”(当时的想法也挺傻的,哈哈),然而这个想法也持续了很久。大概直到前两个月(8月初),终于狠下心来决定做一个属于自己个人的博客。
要做一个网站,首先得有域名,服务器,这两个是硬性条件了,接着就是开发,测试,部署上线。大致就是这么一个流程。
然后,我就在阿里云买了一个域名,一台服务器,域名申请备案审核等等,接着就开始规划这个项目。

项目简介

这是一个前后端分离的项目,一共分为三个子项目:博客网站前端应用、博客网站后台管理系统、博客网站后台。其中,前面两者属于前端项目,第三个是一个 Java 后台。

前端项目

博客网站前端应用,就是个人的博客,用户可以在里面阅读笔者写的博客文章,可以评论,点赞等等。这是一个由 vue-cli3 搭建的多页面应用,主要使用的技术有:

  • less 作为预编译 css
  • vue 实现大部分的功能
  • vue-router 处理每个页面的路由跳转
  • vuex 管理应用状态
  • _axios 基于 axios 进行了二次封装,让其更适合 REST 风格,使用更加简便
  • vue-cli3 作为项目构建的脚手架,webpack 作为打包工具

博客网站后台管理系统,是笔者个人使用的系统,它负责控制整个博客网站的运营,包括:文章管理,评论管理,用户管理,网站数据统计等等。它是一个由 vue-cli2 搭建的单页面应用。主要使用的技术有:

  • less 作为预编译语言
  • iView 作为 UI 组件库
  • 同样的使用 vue 全家桶来实现绝大部分功能
  • 使用自己封装的 axios 来与后台通信

后端项目

博客网站后台,是一个 Java 后端项目,主要为博客网站服务。

因为笔者深爱微服务技术,对于这种小型的项目其实直接一个 all-in-one 的方式更加简单,但是为了使用与体验微服务,本项目使用了微服务架构,并由 Spring Cloud 实现。

项目一个分由九个微服务组成,包括:分类微服务,标签微服务,短信微服务,注册中心微服务,评论微服务,统计微服务,用户微服务,文章微服务,通用微服务。
【开源项目】自己做的小博客(demo)
每个微服务大致分为三层主体结构:控制层、业务层、数据持久层。

  • 控制层负责处理请求以及返回响应
  • 业务层负责业务逻辑与事务管理
  • 数据持久层负责与数据库通信。

主要使用的技术有:

  • Spring Boot 负责启动与管理项目,项目中的依赖基本上都是基于 Spring Bootstarter
  • SpringMVC 负责控制层
  • Spring 负责业务层
  • Spring Data JPA 负责操作 mysqlmysql 主要用于存储项目的主体数据
  • Spring Data Redis 负责操作 redisredis 主要用于缓存数据
  • Spring Data Mongo 负责操作 mongodbmongodb 主要用于存储一些杂乱的,没有数据价值的数据
  • Eureka 负责管理注册中心
  • Feign 负责微服务之间的远程调用
  • hystrix 作为服务熔断器,防止雪崩效应
  • rabbitmq 作为消息中间件

项目部署

想法:在远程的服务器上安装 docker,将项目中使用的所有技术,比如 mysqlredismongodbrabbitmq 做成一个 image 运行在 docker 容器中, 将所有的微服务打为 jar 包,然后通过 dockerfile 技术将所有的 jar 做成一个个的 docker image,然而这些微服务就可以在 docker 中运行了。

想法很简单,可是现实很残酷。前面提到的 mysqlredismongodbrabbitmq 很简单就部署上了,当部署到第二个微服务时出现了一个奇怪的现象,就是明明运行着,突然就自动停止了,经过一番纠察发现,原因是服务器承受不了,docker 运行着5个容器,此时服务器的 cpu 占有率以接近90%,所以多运行一个服务,就会有一个服务被无情的 kill 掉。

最后,因为经济原因让我选择了放弃,所以在此把项目开源了。

写在最后

附上几张博客的丑照:
【开源项目】自己做的小博客(demo)
【开源项目】自己做的小博客(demo)
【开源项目】自己做的小博客(demo)
【开源项目】自己做的小博客(demo)
git仓库:
后端项目:https://github.com/JonasVon/blog_server
博客后台管理系统:https://github.com/JonasVon/blog_admin
博客前端:https://github.com/JonasVon/my_blog
喜欢的可以点下 star 给点小心心哦。

生活本该多姿多彩,可是贫穷限制了我的人生自由。

相关文章: