记录一下后端系统架构搭建初期需要注意的事情

现在的系统架构的底层框架基本都是基于spring作为核心框架,其他的框架都可以完美接入该框架中,这里就不累述了, 主要记录下开发中遇到了一些初期因为未统一规范或者未做好技术选型发生的一些问题。

1. 系统中的导入导出为excel,pdf是否在项目初期定义好处理规范,比如说excel导入导出采用阿里巴巴的fastexcel, pdf采用itext,然后是否做好对其进行进一步的封装,做好对当前项目的大部分通用功能的简单实现以及提供一下个性化自定义拓展, 对其导入导出是否考虑将其作为服务单独抽离。

2. 系统中的任务调度是否在项目处理有所考虑,并非采用Spring自带的@Scheduled注解来完成,在集群或者分布式的情况下,如何保证任务调度的单一性执行。可考虑采用xxl来完成,对任务调度是否考虑单独抽离出服务。

3. 服务间调用是否考虑过采用何种rpc,考虑过兼容性与否, 可考虑采用Dubbo或其他rpc框架,也可采用Spring全家桶,使用@Feign进行服务间调用。

4. 对于过长时间的调用是否考虑过采用异步的方式来做处理。

5.数据库是否考虑过读写分离,分库分表的策略是否考虑过, 分布式事务的最终一致性是否考虑,可采用ShardingSphere。

6. 数据库版本控制工具是否考虑过,可考虑使用flyway。

7. 系统的部署是否采用docker进行容器化,采用k8s进行容器治理框架。

8.是否定义好前后端交互的统一组件。

9. 是否考虑过用户数据权限, Spring security。

10. 是否考虑过redis宕机的补救措施,采用主从备份,1主多从。

11. 是否考虑过将与业务无关的数据埋点等数据进行服务抽离。

12. 是否考虑过选取的技术是仍在更新迭代中的,比如说eureka已经不在维护,可采用阿里巴巴的nacos作为注册中心和配置中心。

有时间后续会继续处理。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring Boot是一个开源的Java开发框架,主要用于快速构建基于Spring的应用程序。在线教育系统架构是指构建一个可以在线提供教育课程的系统的设计和组织方式。 Spring Boot的特点是简化了Spring的配置和部署过程,提供了强大的开发工具和约定大于配置的原则,使得开发人员可以更加专注于业务逻辑的实现。在线教育系统架构基于Spring Boot可以采用以下的设计: 1. 前端展示层:可以使用HTML、CSS、JavaScript等前端技术来实现用户界面。可以使用开发框架如Vue.js或React来简化前端开发。前端通过HTTP协议与后端进行通信,接收用户请求并展示响应的内容。 2. 后端服务层:使用Spring Boot构建后端服务,包括业务逻辑的实现、数据库访问,以及与前端的数据交互。可以使用Spring MVC来处理用户请求,使用Spring Data JPA来访问数据库。 3. 数据库层:在线教育系统需要存储课程信息、用户信息等数据,可以选择关系型数据库如MySQL或PostgreSQL来存储数据。 4. 媒体资源存储和管理层:在线教育系统可能需要存储和管理教学视频、课件等媒体资源,可以使用云存储服务如阿里云OSS或腾讯云COS来存储和管理这些资源。 5. 安全认证和权限管理层:在线教育系统需要考虑用户身份认证和权限管理,可以使用Spring Security来处理用户认证和授权。 6. 日志监控层:为了保证系统的稳定性和运行状态可控,可以使用日志框架如Logback来记录系统运行日志,使用监控工具如Prometheus和Grafana来监控系统的运行状态。 综上所述,Spring Boot可以作为在线教育系统的开发框架来简化开发流程,提高开发效率。通过合理的架构设计,可以实现一个功能完善、稳定可靠的在线教育系统。 ### 回答2: Spring Boot是一种用于开发Java应用程序的开源框架,能够帮助开发人员快速搭建和部署应用程序。在线教育系统是一种基于互联网的教育服务,通过在线平台提供教学和学习资源。下面是一个简单的Spring Boot在线教育系统架构的说明。 Spring Boot在线教育系统的核心组件包括前端用户界面、后端服务器和数据库。前端用户界面通常由Web页面或移动应用程序构成,用于展示课程信息、教学视频和学习资料。后端服务器负责处理用户请求和逻辑处理,提供相应的数据资源。数据库用于存储用户信息、课程信息和学习记录等数据。 在Spring Boot架构中,可以使用MVC(Model-View-Controller)模式来处理用户界面和后端逻辑。Spring MVC提供了一个强大的框架,用于处理HTTP请求和响应。用户界面通过web浏览器发送请求到后端服务器,服务器根据请求路径和参数进行逻辑处理,并返回相应的数据或页面。 为了提供高可用性和扩展性,可以将Spring Boot应用程序部署在分布式的服务器集群上。可以使用Spring Cloud框架来实现微服务架构,将系统拆分为多个独立的服务。每个服务负责处理特定的功能,通过服务间的REST API进行通信。通过这种方式,系统可以更好地应对高并发和大规模用户量的需求。 此外,可以使用Spring Security来保护在线教育系统的安全性。Spring Security提供了认证和授权的机制,可以对用户进行身份验证,保护敏感数据和功能不被未授权用户访问。 总之,Spring Boot提供了一个高效、可靠的开发框架,可以帮助开发人员快速搭建和部署在线教育系统。通过合理的架构设计和使用Spring相关组件,可以实现系统的高可用性、可扩展性和安全性。 ### 回答3: Spring Boot 是一种轻量级的Java开发框架,用于构建独立的、可扩展的、高效的应用程序。在线教育系统是一个基于互联网的教育平台,为学生和教师提供在线学习和教育资源。 Spring Boot 在线教育系统架构可以分为前端、后端和数据库三个部分。 前端部分使用HTML、CSS和JavaScript等技术来实现用户界面。可以使用前端框架如Vue.js或React.js来构建交互式的界面,提供用户友好的体验。 后端部分使用Spring Boot来实现服务器端的业务逻辑和数据处理。Spring Boot提供了强大的依赖注入、ORM(对象关系映射)和数据库访问等功能,可以方便地处理业务逻辑和数据交互。同时,Spring Boot还可以与其他框架如Spring MVC和Spring Security等无缝集成,提供更完整的功能。 在后端中,可以使用一个或多个控制器来处理用户请求,并调用相应的服务层来逻辑处理。服务层负责处理业务逻辑,如用户注册、登录、课程管理等。服务层可以调用持久层(数据访问层)来实现对数据库的增删改查操作,如学生信息、课程信息等数据。 数据库部分使用关系型数据库如MySQL或PostgreSQL来存储和管理数据。可以使用MySQL Workbench等工具来进行数据库设计和管理。 整体架构中,前端向后端发送请求,后端通过控制器和服务层来处理请求,并通过数据库操作来返回数据。前端接收数据并在界面上显示给用户。 该架构基于Spring Boot的特性,具有快速开发、高效、易维护和可扩展等优势。同时,可以通过使用缓存、负载均衡、分布式部署等技术来提高系统的性能和可靠性。 综上所述,Spring Boot在线教育系统架构涵盖了前端、后端和数据库三个部分,通过合理的分层和技术选型,实现了一个功能完善、高效稳定的在线教育平台。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值