sanshanblog

Introduction: 一个微服务架构的博客社区平台
More: Author   ReportBugs   
Tags:

一个完善的分布式天然支持的博客社区

SanShanBlog 是基于 Spring Cloud 微服务化博客社区平台,具有统一授权、主要业务系统、搜索系统、监控与链路追踪系统,其中包含 权限管理,搜索管理,网关 API 管理等多个模块,支持多业务系统并行开发

核心采用 Spring Boot1.5.2 以及 Spring Cloud (Dalston.SR1)相关核心组件

演示 地址

这是后台代码 在下文中有技术选型的说明 前端代码在这里 地址

docker 编排文件 地址

项目部署 快速开始

sanshanblog-1

sanshanblog-2.jpg

sanshanblog-3

架构说明

sanshanblog-4.png?raw=true)

技术选型

  1. 前端使用angular4+bootstrap
  2. 后台说明:
    • 使用 Redis 作为缓存 mysql 作为通用数据库
    • maven 作为项目管理工具
    • 采用 ElasticSearch 作为搜索支持
    • 日志系统采用的是 Log4j2+slf4j 存储在 mongoDB 中
    • REST API 风格的 URL 以及事务的完整支持
    • 使用 RabbitMQ 作为消息总线
  3. 目前使用的是借鉴了 AG-admin 自实现的以 JWT 为基础的权限方案
  4. 使用 Spring Cloud 微服务框架支持
    • Zuul 网关
    • eureka 服务注册
    • hystrix 服务保护
    • feign 服务消费
    • zikpin 链路追踪
  5. 整体项目使用Docker部署
  6. 基于 Jenkins 实现 CI

领域模型设计

主要为 DO DTO VO 三种实体对象

  1. DO:数据库表模型,一张表对应一个 DO
  2. DTO:数据传输载体
  3. VO 对应接口返回数据包装.简单情况下 DTO 可以直接作为 VO 使用

开发中需要的配置模板可以在这里获取

在代码中采用 lombok 进行缩写代码

Support Me
Apps
About Me
Google+: Trinea trinea
GitHub: Trinea