Skip to content

JAVA 脚手架(适用于web)水源地彭毅版(redis+ getway+eureka+swagger+fegin+ hystrix等)

Notifications You must be signed in to change notification settings

liangchengcheng/spring-cloud-hdsx-x1

Repository files navigation

[toc]

前言

基于微服务的思想,构建在 B2C 电商场景下的项目实战。

  • 整体的功能:(用户系统)(订单服务 --> 商品服务)(基础微服务:多媒体+redis缓存)

  • 整体的功能如下图:功能图

技术

项目结构

模块 名称 端口
common 基础代码包 HTTP 无
user-service 用户 HTTP 服务 HTTP (见配置)
product-service 商品 HTTP 服务 HTTP (见配置)
order-service 订单 HTTP 服务 HTTP (见配置)
eureka-service 订单 HTTP 服务 HTTP (40000)
getway-service 订单 HTTP 服务 HTTP (40010)
redis-service 缓存 HTTP 服务 HTTP (见配置)
media-service 图片 HTTP 服务 HTTP (见配置)

后端项目,目前的项目结构如下:

[-] xxx
  ├──[-] web-service-xxx-api // 提供 FEGIN 服务 API 。
  ├──[-] web-service-xxx-server // 提供 服务 Service 实现 + controller对外。

考虑到大多数公司,无需拆分的特别细,并且过多 JVM 带来的服务器成本。所以目前的设定是:

  • web-service-xxx-server 内嵌了 controller 中运行。 也就是说,一个 xxx-server 启动后,该微服务就完整启动了,getway是对所有微服务的一个聚合,统一对外。

技术栈

后端

框架 说明 版本
Spring Boot 应用开发框架 2.2.*
Spring Cloud 应用开发框架 F版
MySQL 数据库服务器 5.6
Druid JDBC 连接池、监控组件 1.1.16
MyBatis 数据持久层框架 3.5.1
Redis key-value 数据库 暂未引入,等压测后,部分模块
Seata 分布式事务中间件 0.5.1
springfox-swagger2 API 文档 2.9.2
swagger-bootstrap-ui Swagger 增强 UI 实现 1.9.3

监控

一般来说,监控会有三种方式:

  • 1、Tracing ,我们采用 Apache SkyWalking
  • 2、Logging ,我们采用 ELK
  • 3、Metrics ,我们采用 Prometheus
框架 说明 版本
SkyWalking 分布式应用追踪系统 6.0.0
Prometheus 服务监控体系 2.9.2
Alertmanager 告警管理器 0.17.0
Grafana 仪表盘和图形编辑器 0.17.0

其它

  • Jenkins 持续集成
  • Nginx 服务器
  • Docker 容器
  • Nginx

About

JAVA 脚手架(适用于web)水源地彭毅版(redis+ getway+eureka+swagger+fegin+ hystrix等)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages