springcloud项目实战_基于Springcloud微服务实战项目「源码开源」

作者:zhoutaoo

先决条件

首先本机先要安装以下环境,建议先学习了解springboot和springcloud基础知识。

  • git
  • java8
  • maven

开发环境搭建

linux和mac下可在项目根目录下执行 ./install.sh 快速搭建开发环境。如要了解具体的步骤,请看如下文档。

具体步骤如下:

  1. 克隆代码库: git clone https://github.com/zhoutaoo/SpringCloud.git
  2. 安装公共库到本地仓库:

cd common && mvn install

cd auth/authentication-client && mvn install

  1. 生成ide配置: mvn idea:idea或mvn eclipse:eclipse 并导入对应的ide进行开发,IDE安装lombok插件(很重要,否则IDE会显示编译报错)

编译 & 启动

  • 1.启动基础服务:进入docker-compose目录,执行docker-compose -f docker-compose.yml up 或单个启动docker-compose up 服务名, 服务名如下

在启动应用之前,需要先启动数据库、缓存、MQ等中间件,可根据自己需要启动的应用选择启动某些基础组件,一般来说启动mysql、redis、rabbitmq即可,其它组件若有需要,根据如下命令启动即可。

该步骤使用了docker快速搭建相应的基础环境,需要你对docker、docker-compose有一定了解和使用经验。也可以不使用docker,自行搭建以下服务即可。

服务服务名端口备注数据库mysql3306目前各应用共用1个实例,各应用可建不同的databaseKV缓存redis6379目前共用,原则上各应用单独实例消息中间件rabbitmq5672共用注册与配置中心nacos8848启动和使用文档日志收集中间件zipkin-server9411共用搜索引擎中间件elasticsearch9200共用日志分析工具kibana5601共用数据可视化工具grafana3000共用

  • 2.创建数据库及表

只有部分应用有数据库脚本,若启动的应用有数据库的依赖,请初使化表结构和数据后再启动应用。

docker方式脚本初使化:进入docker-compose目录,执行命令 docker-compose up mysql-init

项目脚本

路径一般为:子项目/db

如:auth/db 下的脚本,请先执行ddl建立表结构后再执行dml数据初使化

应用脚本

路径一般为:子项目/应用名/src/main/db

如:demos/producer/src/main/db 下的脚本

  • 3.启动应用

根据自己需要,启动相应服务进行测试,cd 进入相关应用目录,执行命令: mvn spring-boot:run

以下应用都依赖于rabbitmq、nacos,启动服务前请先启动mq和注册中心

服务分类服务名依赖基础组件简介应用地址文档centerbus-server消息中心http://localhost:8071消息中心文档sysadminorganizationmysql、redis用户组织应用http://localhost:8010待完善authauthorization-servermysql、organization授权服务http://localhost:8000权限服务简介 、授权server文档authauthentication-servermysql、organization认证服务http://localhost:8001认证server文档authauthentication-client无认证客户端jar包引入gatewaygateway-webredisWEB网关http://localhost:8443WEB网关简介 WEB网关文档gatewaygateway-adminmysql、redis网关管理http://localhost:8445网关管理后台文档monitoradmin总体监控http://localhost:8022

  • 4.案例示意图

以下是一个用户访问的的示意图,用户请求通过gateway-web应用网关访问后端应用,通过authorization-server应用登陆授权换取token,请求通过authentication-server应用进行权限签别后转发到"您的业务应用"中

authorization-server为授权应用,启动前请初使化好数据库,授权Server文档。

authentication-server为签权应用,若有新增接口,请初使化相关权限数据到resource表中。

gateway-admin可动态调整gateway-web的路由策略,测试前请先配置网关的转发策略,路由策略配置。

示意图

  • 6.前端项目

确确保gateway-admin、gateway-web、organization、authorization-server、authentication-server服务启动,然后启动

前端项目(该项目目前还在开发中)

大家启动如有问题,可以先到这里看看,也可以加入交流群

常见问题

测试

运行 mvn test 启动测试.

架构与开发

架构

开发指南

开发指南

功能与特性

功能预览

用户管理

07dd2968936ea8b515fc396e20b08168.png

角色管理

bfb82f46d43f2ecd389832758fdb3de1.png

服务容错

bc9d6d860515bed02ce605103032faf4.png

API文档

fb7101d6bc0c45828f02150754eb6450.png

组织架构管理

c52fe3f396ecdb9eda27805a0871c9fb.png

基础服务

f31298eb7919963825dcea2907f6a220.png

平台功能

ebc9088a8fcdda1eb34bcd18b34b2bd0.png

开发运维

07c39e6e320edca589bf5d1a0b65b230.png

更新日志

2019-10-18:

1.使用nacos替代eureka为服务的注册中心

2.使用nacos替代apollo为服务的配置中心

3.引入使用sentinel替换掉hystrix,引入sentinel-dashboard

4.使用jetcache作两级缓存,优化缓存性能

5.网关启动时加载数据库中的路由到redis缓存

6.其它已知bug修复

关注我助你,早日成为全栈工程师。

转发+评论,私信我:cloud项目源码

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值