如何处理活动流中已删除的照片
Posted
技术标签:
【中文标题】如何处理活动流中已删除的照片【英文标题】:How can I deal with deleted photos in an activity stream 【发布时间】:2013-03-08 10:49:55 【问题描述】:在我们的应用中,用户可以上传照片。此上传事件被注册为一个活动并被推送到该用户的“关注者”活动流中。
使用的流程和技术如下:
mysql 后端存储(上传图片的 url 与一些元数据一起存储在照片表中) Activity 生成并存储在 MYSQL 中的活动表中 创建了 GEARMAN 作业,该作业将活动 ID 发送到 REDIS,在 REDIS 中,此活动 ID 被散播给所有用户关注者,以填充他们的活动流。 我们通过从 REDIS 获取活动 ID 数组然后在 MYSQL 中执行简单的 IN 查询来检索流。 在用户活动流中,可以看到图像的一个小裁剪版本。现在这一切工作得非常好,加上几个缓存层有助于保持系统非常稳定和可扩展。
但是,处理选择删除一张或多张照片的用户的最佳方式是什么?目前,当他们删除一张照片时,他们的所有关注者都会在他们的活动流中看到一个损坏的图片链接。
因此,我们需要在两种处理方法之间进行选择。
-
将活动ID存储在照片表中,并在用户删除该照片时删除与该照片相关的活动。这会很好地工作,但会看到用户偶尔会从他们的信息流中删除活动。
在照片表中将图像标记为已删除,并在生成流时显示“此图像已被用户删除”消息。
哪种方法被认为是最好的方法,为什么?或者,人们会推荐其他更好的方法来处理这个问题吗?
非常感谢。
【问题讨论】:
IMO 最好让它尽可能透明。告诉其他用户该图像已被删除,并提供从活动流中删除该条目的选项。这样用户就可以保持控制,并且不会在后台发生“魔术”。也许对于非常旧的条目(这在当前意味着什么),您可以自动删除该项目。但我总是希望获得相应的信息。 太好了,这正是我正在寻找的答案。由于这是一个基于意见的问题,因此我将保留它以获取有关此问题的更多意见。如果你想把它写成答案,这是我们的选择,我会奖励你作为第一的答案。非常感谢:) 完成 :-) 这个社交网络到底是什么? 【参考方案1】:IMO 最好让它尽可能透明。告诉其他用户该图像已被删除,并提供从活动流中删除该条目的选项。这样用户就可以保持控制,并且不会在后台发生“魔术”。也许对于非常旧的条目(这在当前意味着什么),您可以自动删除该项目。但我总是希望获得相应的信息。
【讨论】:
周末我们决定你的路线是我们要走的路线。很遗憾没有更多关于这件事的意见,但无论如何。我们认为你是正确的。再次感谢。 :) 很高兴我能帮上忙。还是不想告诉你到底在做什么?以上是关于如何处理活动流中已删除的照片的主要内容,如果未能解决你的问题,请参考以下文章
如何处理 Spark Structured Streaming 中已删除(或更新)的行?