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

现在的系统架构的底层框架基本都是基于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作为注册中心和配置中心。

有时间后续会继续处理。

你可能感兴趣的:(java)