Mysql db作为套接字编程的替代方案

本文关键字:方案 编程 套接字 db Mysql | 更新日期: 2023-09-27 17:49:24

在一些远程服务器上使用mysql数据库作为连接2台远程计算机的手段是不好的做法吗?例如,让box1对远程数据库的特定行进行轮询,检查box2提交的值,当box2提交一些值时,box1执行a、b、c。谢谢你的建议。

Mysql db作为套接字编程的替代方案

考虑使用ZeroMQ之类的东西,它是对大多数语言具有绑定的套接字的易于使用的抽象。有一些很好的介绍文档,以及许多可以在应用程序中使用的各种模式的示例。

我可以理解使用数据库的诱惑,但是仅仅为了客户机之间的信号而不断地写/轮询的想法浪费了IO,束缚了连接等,更重要的是,它似乎很难被其他人(或者两年后的你自己)理解/调试。

可以。如果你正在构建一些复杂的东西,我会提醒你不要这样做,但这没关系——你需要处理只完成一次的项目,但这并不是那么困难。

你正在做的事情被称为消息队列,有一些开源项目专门用于此——包括一些建立在MySql上的项目。

是吗?

你通过在这种情况下放置一个中间人来混淆代码的要点。听起来你是想用你知道的东西去做你不知道的事情。这很正常,因为这样问题就可以解决了。

如果只有2台计算机(发送方-接收方),那么如果您需要快速响应时间,那么这是不好的做法。否则就好了……直接套接字连接会更好,但如果你真的不需要它,不要浪费时间。

另一方面,如果有两台以上的机器和/或您需要容错,那么实际上需要一个中间人。根据你在机器之间想要的信号,中间人可以是一个简单的键值存储(例如:memcached, redis)或一个消息队列(例如:一个专用的消息队列软件,但我已经看到MySQL在两个不同的大流量站点上用作队列)