人工智能 人脸识别 springcloud redis rabbitMQ

这一节就是把之前提到的rabbitMQ以及redis综合起来运用,这个架构基本可以满足目前微服务高可用,实现数据最后一致性等大部分业务需求。现在就来配置说明一下
1.配置中心服务在git或者开源中国上配置好yml文件或者properties文件,然后在在依赖到配置中心服务的其他服务配置好配置服务名,如下图CONFIG服务,环境为dev。
在这里插入图片描述
2.配置起步依赖,在消费端以及生产端配置好消息队列的依赖以及配置中心依赖,如spring-cloud-config-client以及spring-boot-starter-amqp在这里插入图片描述
3.在单张入库的controller层接收到算法库的返回的人脸token值,进行入库操作,算法服务通过mq接收到需要识别的人脸数据,进行消费,消费之后返回识别结果给单张入库的服务。
通过@AutoWired 注入AmqpTemplate 在人脸数据入库后进行返回信息
在这里插入图片描述
4.消费端使用@RabbitListener(queueToDeclare = “faceTokenQueue”)动态的创建队列进行消费生产端服务的消息在这里插入图片描述
5.记录存到redis,使用docker镜像到服务器,docker -run -d -p 6379:6379 redis
当人脸识别的结果返回,人脸识别的服务可以把数据存到redis中,需要在yml配置redis,可以在git上配置
在这里插入图片描述
使用redis存数据只需要@AutoWired StringRedisTemplate 注入,使用它set方法 完整的语法 stringRedisTemplate.opsForValue().set()在这里插入图片描述
整个人脸特征识别到算法库消费返回消息,人脸信息存到redis的过程已经完成,但是这里的细节还是有点问题,譬如,人脸的信息是多张图片,如果在一个for循环里面处理这个信息的时候,如果识别到的特征已经存到库里面就会返回异常,但是消息已经在第一次循环的时候已经发送,这时候需要处理这里的bug ,后面的章节介绍如何处理这里的bug。

猜你喜欢

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