多客户端链接mysql,安全和效率问题?
巴扎黑
巴扎黑 2017-04-17 13:15:54
[MySQL讨论组]

遇到项目实际需求,特此来请教大家。(本人没啥经验)
项目:多个客户(客户端),用同一桌面软件(VC 或者 C#开发),去链接自己的数据库,进行读写(读少,写多!而且写可能会持续1s一次写,要2个小时的样子)。假定以200个客户端同时写的情况,来考虑。

首先遇到的就是安全问题:因为每一个客户都是对应不同的数据库,密码。所以:客户端软件所需的数据库名,密码,应该怎么处理?写在哪里?特别要注意的是,我们不希望用户得到这个密码,从而可以导出数据库(不能让用户反向出数据库)
我自己想到是通过 post到 php网站来处理,客户端post过来他的用户id和密码,在网站上验证,通过则写入数据库。可是又担心效率问题 (当然没测试),我个人感觉应该不如直接把数据库密码弄在本地。(或者谁有经验,能否说出效率会相差多大?)

有经验的朋友给些许提示,思路。谢谢了。

所以:客户端软件所需的数据库名,密码,应该怎么处理?写在哪里?还要考虑效率

巴扎黑
巴扎黑

全部回复(3)
天蓬老师

没人回答。。。

PHPz

建议不要直接连接数据库操作,修改为客户端通过POST将数据提交给PHP处理,为了提高效率,PHP接受到数据后,直接将数据丢进一个缓存队列,然后再单独开启一个服务进程监控缓存队列,及时进行入库落地操作。当然,你也可以自己实现一个长连接的服务端,自己实现一套缓存规则,会比PHP方式更高效

阿神

既然是多个客户端,又考虑安全性问题,那么可以考虑使用Token来解决。

对于效率问题,如果数量就几百个的话,那完全不用担心PHP的效率问题,但对于你这种持续时间较长的写入的话,还需要在服务端进行优化较好,比如考虑楼上说的消息队列来实现。

如果在没有测试的情况下,就使用开发成本较高的队列的话我觉得不划算,还是先用比较原生的PHP压测一下,如果效率问题可以接受的话,那就如此。

如果真的存在效率问题,再对服务端进行优化也不迟。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号