整个项目使用微服务架构,并使用 Spring Cloud 2021版作为微服务架构总体实现技术。拆分颗粒度为接口,每个接口对应一个功
能。使用 Eureka 作为注册中心,使用 Gateway 作为网关,使用Config 作为分布式配置中心,使用 OpenFeign 进行远程调用,使用resillience4j 进行服务熔断,使用 Elasticsearch 提升搜索效率,缓存工具使用 Redis,缓存技术使用 Spring Cache,数据库使用MongoDB,数据访问技术使用 Spring Data,图片上传下载使用FastDFS。MongoDB 身为 NoSQL 数据库,又带有索引,本身读取性能就很高,此处可以使用 redis 作为缓存工具,也可以直接从MongoDB 中取数据。在本次项目中使用 redis 作为缓存工具,SpringCache 作为缓存技术。