초당 30-100 개의 이메일을 처리해야하는 자체 개발 된 SMTP 릴레이 서버에 고 가용성을 구현하는 가장 좋은 방법은 무엇입니까?자체 개발 한 Delphi SMTP Relay Server의 고 가용성?
이 서버의 주요 기능은 다양한 smtp 클라이언트로 인증 한 다음 특정 메일 서버로 릴레이하고 오류를 처리하는 것입니다. 메일 서버를 사용할 수 없습니다. 따라서 큰 첨부 파일을 포함 할 수있는 이메일 메시지를 포함하는 대기열이 필요합니다. 고 가용성을 위해 시스템은 클러스터링을 지원해야하는데, 기본/보조 활성 클러스터에 대해 Windows 클러스터링을 사용할 수 있습니다.
내가 리스팅 대기열에있을 수 있음을 생각한다 : (.이 방법은 명백한 이유를 위해 밖으로)
- 메모리 (나는이 가상 SMTP가 사용하는 IIS 무엇이라고 생각?)
- 같은 SQLite는 같은 임베디드 DB
- SQLite는 믹스 및 파일
- 설치 양론 할 필요가 일부 공상 제 3 자 Queue 제품 문채 있는?
일반적인 가용성은 MySQL과 같은 RDBMS를 사용하는 것이지만 메시지 대기열로 RDBMS를 사용하면 강력한 MySQL 서버가없는 한 성능이 크게 저하됩니다. 그 중에서도 쉽지 않은 MySQL 클러스터링을 구현해야합니다. 또한 어느 누구도 MySQL을 대기열로 사용해서는 안되는 곳을 읽었습니다. - http://www.engineyard.com/blog/2011/5-subtle-ways-youre-using-mysql-as-a-queue-and-why-itll-bite-you/
또는 SQLite + File을 사용하면 가장 빠른 (순수 메모리 제외) 방법이고 배포 방법이 가장 쉽습니다.), SQLite에 대한 클러스터링이 없으므로 서버가 충돌하면 보내지 않은 메시지가 여전히 손실 될 수 있습니다.
'sendmail'과 같이 현재 사용 가능한 SMTP 서버가 고 가용성을 포함하여 원하는 것을 수행 할 수있는 이유는 무엇입니까? –
@ JeroenWiertPluimers, 우리는 항상 더 잘 할 수 있기 때문에, 그렇지 않습니까? ;) –
@ Jeroen Wiert Pluimers - 일부 메일을 별도의 처리를 위해 필터링 중이므로 Exchange 플랫폼과 함께 작동해야합니다. – Joshua