人工智能 人脸识别项目的改造

背景介绍:从之前的设计模块方面来思考,人工智能这个项目里面的上传功能应该如何完善成一个真正的微服务,之前的调用链是批量的上传功能依赖单张入库的功能,而这里的单张入库的功能是一个单独的服务,其实这里的单张入库的模块,需要进行改造。
方案:把单张入库的模块进行改造,提取公共的模块,减少对象的冗余,以及避免数据库表对象的完全暴露,提高安全意识。
从单张人脸特征入库的模块来分析,这个服务只要是依赖了算法的SDK这个服务提供的人脸特征的数据返回,如果简单的依赖关系来看,批量服务依赖单张入库服务,单张入库服务依赖算法服务,而这里的模块之间的冗余数据很多,所以从算法服务来进行分模块开始
1.算法的服务主要的返回的是人的注册的信息,以及人 的特征的返回,这里可以提去一个common的模块。提供给自己调用,以及暴露接口提供个单张入库的服务调用,这里需要注意的是在调用的消费端的pom配置上这个common模块的依赖,因为此时的common将会以jar的形式放到了maven仓库,提供单张入库的调用。
2.同样的方式,批量的服务依赖单张的入库模块,这里的单张的模块,涉及到的人的注册信息的数据库对象进行封装,避免从查询的接口直接暴露整个数据库的查询对象,而且这里的需要设计出DTO对数据库对象或者页面返回的字段进行抽取成一个单独的对象进行封装,提供给批量进行调用,实现了解耦以及减少代码的冗余。
如何把微服务实现多模块化,这里科普一下如何搭建多模块的微服务

猜你喜欢

转载自blog.csdn.net/weixin_30947631/article/details/85039246