2 대의 원격 컴퓨터를 연결하는 수단으로 일부 원격 서버에서 실행되는 mysql 데이터베이스를 사용하는 것은 나쁜 습관입니까? 예를 들어, 원격 db의 특정 행에 대해 box1 폴링을 사용하면 box2가 게시 한 값을 확인하고, box2가 값을 게시하면 box1이 a, b, c를 수행합니다. 조언 해 주셔서 감사합니다.소켓 프로그래밍의 대안으로 mysql db?
답변
ZeroMQ과 같은 것을 사용하는 것이 좋습니다. 이는 대부분의 언어에 대해 바인딩이있는 소켓보다 사용하기 쉬운 추상화입니다. intro documentation뿐만 아니라 응용 프로그램에서 사용할 수있는 다양한 패턴의 many examples이 있습니다.
데이터베이스에 대한 유혹을 이해할 수 있지만 클라이언트간에 신호를 보내기 위해 끊임없이 쓰거나 폴링한다는 생각은 IO를 낭비하고 연결을 묶습니다. 더 중요한 것은 이해하기 어려울 것 같습니다./다른 사람 (또는 2 년 후) 자신이 디버그합니다.
하실 수 있습니다. 복잡한 물건을 만들었다면 조심 해야겠다.하지만 괜찮 으면 한 번만 할 수있는 물건을 다루어야한다.하지만 그렇게 어렵지는 않다.
당신이하고있는 일을 메시지 큐라고하며, 그 중 일부는 MySql을 기반으로하는 오픈 소스 프로젝트입니다.
컴퓨터가 2 개인 경우 (송신자 - 수신자)은 빠른 응답 시간이 필요할 경우 이 좋지 않습니다. 그렇지 않으면 괜찮습니다 ... 직접 소켓 연결은 더 좋을 것이지만 실제로 필요하지 않으면 시간을 낭비하지 않아도됩니다.
두 개 이상의 컴퓨터가 있고 내결함성이 필요하다면 실제로 은 중개인이 필요합니다. 중개인이 간단한 키 - 값 저장소 (예 : memcached, redis) 또는 메시지 대기열 (예 : 전용 메시지 대기열)이 될 수있는 기계간에 원하는 신호 방식에 따라 MySQL은 두 개의 대기열로 사용되는 것을 보았습니다 큰 트래픽을 가진 다른 사이트)
그리고 얼마나 빨리 내가 MySQL 데이터베이스에 대한 설문 조사, 속도가 내 ISP의 구성에 의해 제한됩니까? – brux
은 서버 및 구성에 따라 다릅니다. 당신은 그것을 측정해야합니다;) –
- 1. Comet 프로그래밍의 TCP 소켓
- 2. mysql 프로그래밍의 좋은 방법
- 3. 소켓 프로그래밍의 바인드 호출에 혼란이 있음
- 4. MySQL DB 설계 도움말
- 5. 젠드 DB MYSQL 래퍼
- 6. MAC와 MySQL-DB 연결!
- 7. MYSQL db help
- 8. MySql DB 디자인 질문
- 9. Mysql Geospatial point DB
- 10. 모니터링 DB : MySQL
- 11. SQLite DB 피드 마스터 MySQL DB (안드로이드)
- 12. MySQL Workbench를 사용하여 Windows에서 원격 MySQL DB (Linux)에 연결하십시오. 원격 DB 연결은 로컬 소켓이 필요합니다.
- 13. 노래 데이터 저장 MySQL DB
- 14. Blazeds와 Flex mySQL db 연결
- 15. PHP mysql check db first
- 16. PHPUnit 용 모의 MySQL DB
- 17. mySQL DB : 동시 입력 하시겠습니까?
- 18. DB 요청을 차단하는 방법? (MySQL)
- 19. MySQL DB 삽입시 데이터 제한
- 20. 2 db 사이의 MySQL 동기화
- 21. MySQL db 감사 추적 트리거
- 22. webmin을 통해 mysql db 잠금!
- 23. jtable을 Android 대안으로 사용 하시겠습니까?
- 24. iPhone 프로그래밍의 선택자
- 25. C 프로그래밍의 버퍼 배열?
- 26. 게임 프로그래밍의 움직임
- 27. 키워드 프로그래밍의 AttributeError
- 28. 액터 프로그래밍의 메시지는 무엇입니까?
- 29. "프로그래밍의 요소"실제 사례?
- 30. 병렬 프로그래밍의 법칙
이것은 매우 흥미로운 내용입니다. 지금 비디오 개요를보고 있습니다. 여기를 가리켜 주셔서 감사합니다 ... 여전히 유혹을 느낍니다 : F (댓글은 위에 있지 않음) – brux