CMS-项目的技术架构

CMS-项目的技术架构2项目的技术架构2.1技术架构学成在线采用当前流行的前后端分离架构开发,由用户层、UI层、微服务层、数据层等部分组成,为PC、App、H5等客户端用户提供服务。下图是系统的技术架构图:业务流程举例:用户可以通过pc、手机等客户端访问系统进行在线学习。系统应用CDN技术,对一些图片、CSS、视频等资源从CDN调度访问。所有的请求全部经过负载均衡器。对于PC、H5等客户端请求,…

大家好,又见面了,我是你们的朋友全栈君。

2 项目的技术架构

2.1 技术架构

学成在线采用当前流行的前后端分离架构开发,由用户层、UI层、微服务层、数据层等部分组成,为PC、App、 H5等客户端用户提供服务。下图是系统的技术架构图:
在这里插入图片描述

业务流程举例:

  1. 用户可以通过pc、手机等客户端访问系统进行在线学习。
  2. 系统应用CDN技术,对一些图片、CSS、视频等资源从CDN调度访问。
  3. 所有的请求全部经过负载均衡器。
  4. 对于PC、H5等客户端请求,首先请求UI层,渲染用户界面。
  5. 客户端UI请求服务层获取进行具体的业务操作。
  6. 服务层将数据持久化到数据库。

各模块说明如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 技术栈

下图是项目技术架构的简图,通过简图了解项目所使用的技术栈。
在这里插入图片描述
重点了解微服务技术栈:
学成在线服务端基于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等

2.3 开发步骤

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

开发步骤如下:

  1. 需求分析 梳理用户的需求,分析业务流程
  2. 接口定义 根据需求分析定义接口
  3. 服务端和前端并行开发 依据接口进行服务端接口开发。 前端开发用户操作界面,并请求服务端接口完成业务处理。
  4. 前后端集成测试 最终前端调用服务端接口完成业务。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135823.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • boost::lockfree使用介绍

    boost::lockfree使用介绍boost::lockfree是boost1.53引入的无锁数据结构,包括boost::lockfree::stack、boost::lockfree::queue和boost::lockfree::spsc_queue三种,前两种用于多生产者/多消费者场景,第三个用于单生产者/单消费者场景,下面对它们的使用进行详细介绍,以boost::lockfree::stack为例,其他类似。构造boo…

    2022年7月19日
    48
  • intellij设置经典样式(背景为黑色的经典样式Darcula)

    intellij设置经典样式(背景为黑色的经典样式Darcula)将intellij设置为经典样式,背景黑色的Darcula样式。

    2022年6月27日
    28
  • ▲ Android 动画望远镜效果

    ▲ Android 动画望远镜效果

    2021年3月12日
    147
  • Android程序员的进阶之路

    Android程序员的进阶之路本文主要论述的是android程序员的进阶之路,博主本人就是一名android开发攻城狮,所以这里讲述的大多数是android开发攻城狮的技术进阶之路,如有问题请多指正。大家都知道程序员之中有有菜鸟程序员和大神之分,这里我这暂时把android程序员分为几个层次:android初级程序员、android中级程序员、android高级程序员、android技术专家、CTO等等,不同的级别掌握的能力不

    2022年6月14日
    107
  • CUDA是什么-CUDA简介「建议收藏」

    CUDA是什么-CUDA简介「建议收藏」在大家开始深度学习时,几乎所有的入门教程都会提到CUDA这个词。那么什么是CUDA?她和我们进行深度学习的环境部署等有什么关系?通过查阅资料,我整理了这份简洁版CUDA入门文档,希望能帮助大家用最快的时间尽可能清晰的了解这个深度学习赖以实现的基础概念。本文在以下资料的基础上整理完成,感谢以下前辈提供的资料:CUDA——“从入门到放弃”我的CUDA学习之旅——启程介绍一篇不错的CUDA入门博…

    2022年5月29日
    34
  • PLSQL连接Oracle数据常见问题ORA-12154: TNS

    PLSQL连接Oracle数据常见问题ORA-12154: TNS相信使用过Oracle数据库的人一定碰到过“ORA-12154:TNS:无法解析指定的连接标识符”错误,我在此做一个小小的总结。     在程序中连接Oracle数据库的方式与其他常用数据库,如:MySql,SqlServer不同,这些数据库可以通过直接指定IP的方式连接,但是Oracle则需要通过Oracle客户端配置网络服务名的方式来连接。否则就会出现“ORA-12154:TNS

    2022年7月19日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号