昨天晚上,又经历了一次多说服务器的当机。SQLSTATE[08004] [1040] Too many connections
。显然是数据库连接数超过资源限制。
于是乎,多说的稳定性又得到了挑战。
看看长草的官方 和久久不更新的Blog。。不由叹息: 这本来是多好的互联网产品啊。。。
不说这些了。这几天抽空在研究 多说的API,为把多说的评论同步回本地而做准备。 研究过程中谈谈多说的一些不足吧。
- API文档严重不足: 这倒是像搞技术的通病。茶壶里的饺子的事情,不说也罢。 不单是多说的API这样,腾讯的API文档也是。
- 数据库储存逻辑很奇怪。 从反向同步API返回的数据来看。 多说对于用户评论并没有真正的删除说法,而是永久存储? 所谓的删除仅仅是新加上一条记录。 设置
meta
为delete
或者delete-forever
。 开始没有搞明白这个逻辑,将http://api.duoshuo.com/log/list.json?short_name=short_name&secret=secret_key&limit=200
拉下来的数据直接写入数据库,发现了很多已经删除的评论。。。
多说的数据库真的富裕成这个样子了吗? - 用户。 在多说管理界面添加或者同步的本地用户(
http://short_name.duoshuo.com/admin/users/
)无法删除。。 这个是什么逻辑? - 删除评论: API文档中没有告诉你怎么*删除评论*。 只有怎么发表评论。 其实这个删除功能还是很必要的,我的想法,同步到本地后随即删除已经同步的的远程服务器评论,是一个多么合适的选择。可惜,官方并没有提供。
- 对于
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'}/);
还有: 发表的评论不可以修改(不管是啥权限),如果有错误,只能删除后重发。
还有一个令人郁闷的事情: `http://api.duoshuo.com/log/list.json?short_name=short_name&secret=secret_key&limit=200` 拉下来 `meta` 中 `post_id` 不是唯一的,也就是删除了评论的 `post_id` 会被后来新发表的评论所占用。 而老记录依然可以查询出来,导致好几条评论共用一个 `post_id` 。(虽然可以根据操作顺序可以找到那个是删除了,那个是新建立的)
最近多说已经好很多了,上个月简直四卡到疯了
卡没有办法,现在这几天是数据库连接失败。
不盈利就是这样。。。以后只有博客用多说了,其他的高端都用畅言了
其实还是运作的缘故。。
PS: 反正现在已经实现多说数据自动同步到本地,那天不用了。所有的评论也不会丢失。
什么问题知道吗?
不知~
好产品还需要好的运营,感觉是管理层的问题。
多说的‘顶’上去东西管理员居然无法删除。。。