Неправильно ли использовать базу данных mysql на каком-то удаленном сервере как средство взаимодействия двух удаленных компьютеров? Например, имея опрос box1 в определенной строке удаленной проверки db для значений, отправленных box2, когда box2 отправляет какое-то значение box1, выполняет a, b, c. Спасибо за любой совет.mysql db как альтернатива программированию сокетов?
ответ
Рассмотрите возможность использования чего-то вроде ZeroMQ, который представляет собой простую в использовании абстракцию над сокетами с привязками для большинства языков. Существует несколько хороших intro documentation, а также many examples различных узоров, которые вы можете использовать в своем приложении.
Я могу понять соблазн использовать базу данных для этого, но идея постоянно писать/опросить просто сигнализировать между клиентами отходы IO, связывает соединения и т. Д. И, что более важно, кажется, что было бы трудно понять/debug другим лицом (или вами через два года).
Вы можете. Если вы строите что-то сложное, я бы предостерег его, но все в порядке - вам нужно иметь дело с тем, что вещи делаются только один раз, но это не так сложно.
То, что вы делаете, называется очередью сообщений, и для него существуют проекты с открытым исходным кодом, в том числе некоторые из которых построены на MySql.
Да?
Вы запутываете точку своего кода, помещая посредника в ситуацию. Похоже, вы пытаетесь использовать то, что знаете, чтобы делать то, что не знаете. Это довольно нормально, потому что тогда проблема кажется разрешимой.
Правильно, идея многопоточных задач mysql, в отличие от задач сокета, обращается ко мне гораздо больше, а безопасность версии сокета также будет намного сложнее, я уверен. – brux
Действительно; однако, по крайней мере, хорошо, что вы понимаете, что это не лучшая идея; однако время на рынок всегда побеждает лучшее из намерений = D – Tejs
Если есть только 2 компьютера (отправитель-получатель), то это плохая практика , если вам нужно быстрое время отклика. В противном случае это нормально ... Прямое соединение сокетов было бы лучше, но не тратьте время на него, если вам это действительно не нужно.
С другой стороны, если есть более двух машин и/или вам необходима отказоустойчивость, то вы на самом деле необходимо посредник. В зависимости от сигнализации, которую вы хотите между машинами, посредником может быть простое хранилище ключей (например: memcached, redis) или очередь сообщений (например: специальная программа для очереди сообщений, но я видел, что MySQL используется как очередь в двух разные сайты с большим трафиком)
и как быстро я могу опросить mysql db, ограничена ли скорость моей конфигурацией isp? – brux
зависит от сервера и конфигурации. вы должны его измерить;) –
- 1. Рекомендации по программированию сокетов?
- 2. Рекомендации по программированию сокетов Linux
- 3. Java ME альтернатива программированию малины Pi
- 4. Альтернатива библиотеке сокетов для GAE
- 5. Как подойти к программированию сокетов между C# -> Java (Android)
- 6. Нужна помощь по программированию сокетов в Python (новичок)
- 7. Что такое хорошая книга/руководство по программированию сокетов в C?
- 8. Key-Value DB (альтернатива Berkeley DB?)
- 9. Как профилировать mysql db?
- 10. MySQL Cloud DB API
- 11. альтернатива MySQL код INET6_ATON
- 12. Альтернатива для за исключением mysql
- 13. MySQL альтернатива вложенным запросам?
- 14. Альтернатива функции GROUP_CONCAT MySQL
- 15. Альтернатива MySQL CASE/WHEN?
- 16. Альтернатива подзапросы в MySQL
- 17. Альтернатива MYSQL TRANSACTION?
- 18. MySQL защищает mysql DB
- 19. Документация по функциональному программированию
- 20. MySQL альтернатива подзапросам/присоединению
- 21. Обучение функциональному программированию/программированию - практические упражнения?
- 22. Альтернатива * = оператору в MySQL
- 23. MySQL альтернатива использованию подзапроса
- 24. Альтернатива Intersect в MySQL
- 25. альтернатива времени запроса mysql
- 26. альтернатива MySQL UNION
- 27. Альтернатива mysql_real_escape_string без подключения к DB
- 28. Нет запроса Db на TryGetObjectByKey - альтернатива?
- 29. Альтернатива запуску DB Lookup functoid через цикл?
- 30. Альтернатива для процедуры концепции в Vertica DB
Это очень интересный материал, я смотрю обзор видео сейчас, спасибо, что указал на меня здесь ... im все еще искушал: F (комментарий здесь имел в виду не выше) – brux