目前的项目是一个单体应用,由于用户基数不大,因此很多第三方服务都是直接由业务端直接接入。
现在要接入内容审核的服务,考虑到不需要实时处理审核结果和减轻业务端的压力,想要将其抽离业务端,想请教各位有无比较好的实现方案?
1
golangLover 2021-09-04 11:13:50 +08:00
“第三方服务都是直接由业务端直接接入。"
还是没看懂这句话,你意思是单体应用提供了 Api,然后让其他人直接连上去? |
2
shenX OP @golangLover 就是以前的第三方服务是直接由单体应用接入。这次的内容审核服务由于不需要实时反馈结果给到用户,想要新增一个服务去处理这一块的逻辑
|
3
shadowfish0 2021-09-06 00:20:34 +08:00
不知道是不是你的意思,像我这里搞邮件发送,或者循环调用微信消息提醒接口,直接把相应的代码写函数计算里,然后程序用函数计算 SDK 调用下函数计算就行了
|
4
EscYezi 2021-09-06 02:20:59 +08:00 via iPhone
新服务接入内容审核,老服务发 mq 触发新服务执行任务
|
5
shenX OP @shadowfish0 不是相同的场景。举个例子,用户发布了一个帖子,单体应用新增一条待审核状态的帖子记录即可,不用关心帖子什么时候通过审核。我想要新开一个服务专门去处理审核的流程
|
7
tangtj 2021-09-06 11:33:47 +08:00
可以起个新的项目,用来监听原项目发布的事件。
|
8
EscYezi 2021-09-06 12:51:52 +08:00 via iPhone
@shenX 根据个人的浅薄经验,主要是 mq 消息消费的问题(丢失 /重复消费 /消费失败)丢失问题可以靠中间件,重复消费可能要做幂等,消费失败怎么处理根据业务需求定。模式类似于发布订阅模型。
|
9
siweipancc 2021-09-06 18:16:49 +08:00 via iPhone
单体需要做到发布订阅可以做 eventbus 的实现,也可以上 springboot publisher,不必上重武器(指 mq )。
|