[随笔]多说的几项不足

ds.png

昨天晚上,又经历了一次多说服务器的当机。SQLSTATE[08004] [1040] Too many connections 。显然是数据库连接数超过资源限制。
于是乎,多说的稳定性又得到了挑战。

看看长草的官方 和久久不更新的Blog。。不由叹息: 这本来是多好的互联网产品啊。。。

不说这些了。这几天抽空在研究 多说的API,为把多说的评论同步回本地而做准备。 研究过程中谈谈多说的一些不足吧。

  1. API文档严重不足: 这倒是像搞技术的通病。茶壶里的饺子的事情,不说也罢。 不单是多说的API这样,腾讯的API文档也是。
  2. 数据库储存逻辑很奇怪。 从反向同步API返回的数据来看。 多说对于用户评论并没有真正的删除说法,而是永久存储? 所谓的删除仅仅是新加上一条记录。 设置 metadelete 或者 delete-forever。 开始没有搞明白这个逻辑,将 http://api.duoshuo.com/log/list.json?short_name=short_name&secret=secret_key&limit=200 拉下来的数据直接写入数据库,发现了很多已经删除的评论。。。
    多说的数据库真的富裕成这个样子了吗?
  3. 用户。 在多说管理界面添加或者同步的本地用户http://short_name.duoshuo.com/admin/users/)无法删除。。 这个是什么逻辑?
  4. 删除评论: API文档中没有告诉你怎么*删除评论*。 只有怎么发表评论。 其实这个删除功能还是很必要的,我的想法,同步到本地后随即删除已经同步的的远程服务器评论,是一个多么合适的选择。可惜,官方并没有提供。
  5. 对于 ssl(https) 的漠视: 其实多说自身的代码已经很好的支持https ,但是在 https 下会汇报风险的原因,只是因为头像和表情的地址不支持 https 罢了。 但是官方客服在讨论区中明确回复: 头像和表情不需要HTTPS.。 虽然,第3方修改JS可以完全实现全站https, 但是第3方的修改总是第3方的。

嗯,随便写点流水帐。 附上自写的部分处理逻辑

code    return if ( @{$action->{'delete-forever'}} ~~ /$ds->{'post_id'}/ );
    return if ( @{$action->{'delete'}} ~~ /$ds->{'post_id'}/);
    return if ( @{$action->{'spam'}} ~~ /$ds->{'post_id'}/);