** 本篇对基于springboot构建的项目的项目功能结构和技术架构做一个概述,通用大部分项目,如有不符,恳请纠正.**
项目功能结构:
1 门户:
在首页、活动页、专题页等页面提供功能入口,如:首页,注册登录,搜索,产品入口等.
2 功能模块:
2.1 消费者模块:用户,买家,学员,患者等消费产品的模块…
2.2 服务提供者模块:卖家,教师,医生等管理提供产品的模块.
3 社交系统:社交系统为消费者和服务者流搭建沟通的平台,包括:问答系统、评论系统、论坛等,消费者和服务者通过问答系统提问问题、回答问题,通过评论系统对服务者授课进行评论.
4 系统管理系统:系统管理员登录系统管理中心进行分类管理、运维管理等功能,如:CMS,分类管理系统,数据字典,系统参数配置等.
技术架构
网图
业务流程举例:

1、用户可以通过pc、手机等客户端访问系统进行在线学习。

2、 系统应用CDN技术,对一些图片、CSS、视频等资源从CDN调度访问。

3、所有的请求全部经过负载均衡器。

4、对于PC、H5等客户端请求,首先请求UI层,渲染用户界面。

5、客户端UI请求服务层获取进行具体的业务操作。

6、服务层将数据持久化到数据库。1 用户层 用户层描述了本系统所支持的用户类型包括:pc用户、app用户、h5用户。pc用户通过浏览器访问系统、app用户通过android、ios手机访问系统,H5用户通过h5页面访问系统。
2 CDN CDN全称Content Delivery Network,即内容分发网络,本系统所有静态资源全部通过CDN加速来提高访问速度。系统静态资源包括:html页面、js文件、css文件、image图片、pdf和ppt及doc教学文档、video视频等。
3 负载均衡 系统的CDN层、UI层、服务层及数据层均设置了负载均衡服务,上图仅在UI层前边标注了负载均衡。 每一层的负载均衡会根据系统的需求来确定负载均衡器的类型,系统支持4层负载均衡+7层负载均衡结合的方式,4层负载均衡是指在网络传输层进行流程转发,根据IP和端口进行转发,7层负载均衡完成HTTP协议负载均衡及反向代理的功能,根据url进行请求转发。
4 UI层 UI层描述了系统向pc用户、app用户、h5用户提供的产品界面。根据系统功能模块特点确定了UI层包括如下产品界面类型: 1)面向pc用户的门户系统、学习中心系统、教学管理系统、系统管理中心。 2)面向h5用户的门户系统、学习中心系统。 3)面向app用户的门户系统、学习中心系统未在上图标注,在app项目中有详细说明。
5 微服务层 微服务层将系统服务分类三类:前端服务、后端服务及系统服务。 前端服务:主要为学习用户提供学习服务。 后端服务:主要为管理用户提供教学管理服务。 系统服务:公共服务,为系统的所有微服务提供公共服务功能。 服务网关:提供服务路由、负载均衡、认证授权等服务。
6 数据层 数据层描述了系统的数据存储的内容类型,持久化的业务数据使用MySQL和MongoDB保存,其中MongoDB中主要保存系统日志信息。 消息队列:存储系统服务间通信的消息,本身提供消息存取服务,与微服务层的系统服务连接。 索引库:存储课程信息的索引信息,本身提供索引维护及搜索的服务,与微服务层的系统服务连接。 缓存:作为系统的缓存服务,存储课程信息、分类信息、用户信息等,与微服务层的所有服务连接。 文件存储:提供系统静态资源文件的分布式存储服务,文件存储服务器作为CDN服务器的数据来源,CDN上的静态资源将最终在文件存储服务器上保存多份。 流媒体服务:作为流媒体服务器,存储所有的流媒体文件。
7 外部系统接口 1)微信、QQ、微博登录接口,本系统和微信、QQ、微博系统对接,用户输入微信、QQ、微博的账号和密码即可登录本系统。 2)微信、QQ、微博分享接口,本系统和微信、QQ、微博系统对接,可直接将本系统的课程资源信息分享到微信、QQ、微博。 3)支付宝、微信、网银支付接口,本系统提供支付宝、微信、网银三种支付接口。 4)短信接口,本系统与第三方平台对接短信发送接口。 5)邮件接口,本系统需要连接第三方的smpt邮件服务器对外发送电子邮件。 6)微信公众号,本系统与微信公众号平台接口,用户通过微信公众号访问H5页面。 7)点播、直播,前期视频点播与直播采用第三方服务方式,本系统与第三方点、直播服务对接,对外提供视频点播与直播服务。 8)OSS存储 ,前期静态资源文件的存储采用第三方服务方式,本系统与第三方提供的OSS存储服务对接,将系统的静态资源文件存储到第三方提供的OSS存储服务器上。 9)CDN,本系统与第三方CDN服务对接,使用CDN加速服务来提高本系统的访问速度。
8 DevOps DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。本项目供了许多开发、运营、维护支撑的系统,包括: Eureka服务治理中心:提供服务治理服务,包括:服务注册、服务获取等。 Spring Cloud Config服务配置管理中心:提供服务配置管理服务,包括:配置文件更新、配置文件下发等。 Hystrix Dashboard服务熔断监控:监控熔断的请求响应时间、成功率等 。 Zipkin服务追踪监控:监控服务调用链路健康情况。 Jenkins持续集成服务:提供系统持续集成服务。 Git/GitLab代码管理服务:提供git代码管理服务。 ELK日志分析服务:提供elk日志分析服务,包括系统运行日志分析、告警服务。 Docker容器化部署服务:将本系统所有服务采用容器化部署方式。 Maven项目管理工具:提供管理项目所有的Java包依赖、项目工程打包服务。
.重点了解微服务技术栈:

该服务端基于Spring Boot构建,采用Spring Cloud微服务框架。

持久层:MySQL、MongoDB、Redis、ElasticSearch

数据访问层:使用Spring Data JPA 、Mybatis、Spring Data Mongodb等

业务层:Spring IOC、Aop事务控制、Spring Task任务调度、Feign、Ribbon、Spring AMQP、Spring Data Redis等。

控制层:Spring MVC、FastJSON、RestTemplate、Spring Security Oauth2+JWT等

微服务治理:Eureka、Zuul、Hystrix、Spring Cloud Config等

开发步骤
项目是基于前后端分离的架构进行开发,前后端分离架构总体上包括前端和服务端,通常是多人协作并行开发,开发步骤如下:

1、需求分析

梳理用户的需求,分析业务流程

2、接口定义

根据需求分析定义接口

3、服务端和前端并行开发

依据接口进行服务端接口开发。

前端开发用户操作界面,并请求服务端接口完成业务处理。

4、前后端集成测试

最终前端调用服务端接口完成业务。

技术详情使用 有时间会陆续写

基于springboot开发项目架构概述相关推荐

  1. 基于SpringBoot开发一套完整的项目(一)准备工作

    基于SpringBoot开发一套完整的项目(一)准备工作 1.1 SpringBoot简介 ① 为所有Spring 开发提供一个更快更广泛的人门体验. ② 零配置.无冗余代码生成和XML 强制配置,遵 ...

  2. java 快递项目_基于SpringBoot开发的Java快递代拿系统

    该项目基于 [基于SSM开发的Java快递代拿系统] 项目全面升级,使用当前最为流行的 SpringBoot 框架,相关技术栈全面更新!是您深入学习 SpringBoot 开发的最佳实践! 相关技术栈 ...

  3. 基于SpringBoot开发一个Restful服务,实现增删改查功能

    点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 作者:虚无境 cnblogs.com/xuwujing/p/8260935.html 前言 在去 ...

  4. 基于Springboot开发实现二手交易商城

    作者主页:编程指南针 作者简介:Java领域优质创作者.CSDN博客专家 .掘金特邀作者.多年架构师设计经验.腾讯课堂常驻讲师 主要内容:Java项目.毕业设计.简历模板.学习资料.面试题库.技术互助 ...

  5. springboot增删改查案例_大神基于SpringBoot开发一个Restful服务,实现增删改查功能...

    前言 在去年的时候,在各种渠道中略微的了解了SpringBoot,在开发web项目的时候是如何的方便.快捷.但是当时并没有认真的去学习下,毕竟感觉自己在Struts和SpringMVC都用得不太熟练. ...

  6. 图片管理系统源码_「程序员分享」基于SpringBoot开发的天猫商城源码

    前言 大家好,我是程序员it分享师,应粉丝的要求,今天给大家带来一个基于Springboot开发的天猫商城的源码! 使用技术 天猫商城系统使用的是Spring,SpringMvc,SpringBoot ...

  7. boot客户管理系统源码_「计算机毕设」基于SpringBoot开发的仓库管理系统

    前言 大家好,我是it分享师,今天给大家带来一个计算机的毕设项目.基于Springboot开发的仓库管理系统,底层权限控制已经基于shiro实现了,直接可以作为二次开发框架使用! 使用技术 本套系统采 ...

  8. Java基于springboot开发的大学生档案系统非常好用+论文

    简介 Java基于springboot开发的学生档案系统,包含了权限管理,学生档案,学生成绩录入,教师管理等. 演示视频 https://www.bilibili.com/video/BV1XV411 ...

  9. 基于 SpringBoot 开发的在线短链生成系统(附源码)

    前言 分享一个基于 SpringBoot 开发的在线短链生成系统,在线短链接生成器. 完整项目源码在文章结尾处,大家自行下载即可~ 一.实现功能 1.将长链接转换成短链接,访问短链接时, 302重定向 ...

最新文章

  1. vue.config.js配置不生效_华为QoS流策略配置教程
  2. 数据科学-通过数据探索了解我们的特征
  3. MapReduce 作业调试
  4. 罚函数(penalty function)的设计
  5. Facebook怎样开发软件:工程师驱动的文化
  6. IOS多线程处理 三种多线程的实例
  7. (转)中华英才网竞品分析报告2016
  8. 网付代理利润我把它分析得透透的
  9. 【CCF CSP】201903-1小中大
  10. 【交换机】交换机简介
  11. 过滤器六:url-pattern设置过滤范围
  12. 局域网win7计算机如何互访,局域网Win7与WinXP电脑不能互访怎么办?
  13. Problem:Ubuntu Give up waiting for root device
  14. HTML5新特性浅谈
  15. GBase8s数据库GRANT 语句
  16. 微信支付页面模板html,jQuery仿手机微信支付输入密码界面效果
  17. 给自己身体充电的十招
  18. WPS2013开发工具中的VBA为灰色不可用状态的解决方法
  19. pyecharts x轴字体大小调整_这应该是最通俗易懂的PyEcharts的操作指南!
  20. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java智慧民政服务平台xl2r9

热门文章

  1. Google Glass 2.0
  2. 微积分的需求和基本定理
  3. android 4k拍摄,五款专业安卓手机摄影App,立即提高手机生产力(全部免费)
  4. Webots+tesla+ROS2
  5. LTE学习笔记——xmind思维导图
  6. 清华大学 计算机系 尹霞,轮椅上的清华博士毕业了,刷屏的还有她
  7. 联想g50-70 ssd+win10安装教程
  8. 驾考宝典 For Android 5.3 货车专版去广告版(学车考驾照必备软件 )
  9. 使用Jmeter查看聚合报告
  10. 08 Halcon 3D点云体积计算