imap って、同一アカウントで同時にログインしても良いプロトコルですか?
ストレージは外部に一元化させて、フロントの imap 鯖を LB とかで単純に
負荷分散構成にしちゃって良いものかどうか考え中なのですけど。
プロトコルの問題じゃなくて実装の問題だろう。
>>351の言うとおり、実装の問題
uw-imap使ってたころ、メール消失したことある
Maildir ならOKかも。
ログインしてメールいじってる時に
SMTPがメールボックスいじると消失とかある?
355 :
350:2007/09/05(水) 06:06:58
言われてみれば確かに実装の問題ですね・・・。
ストレージ上のメール箱にロックファイルとか
作ってくれる鯖もあるっぽいので、そういうので
排他しようかと思います。
>>354 Maildir ならOKかも。
>>354 「IMAP でログインしてるときに」って意味だよね?
それも実装の問題だろう。
でもそんなダメな実装はない、と信じたいなぁ。
imap はプロトコル的に同時ログイン可。それでぶっこわれるのならば実装が悪い。
実際、thunderbird は1クライアントで複数接続する。が、
>ストレージは外部に一元化させて、フロントの imap 鯖を LB とかで単純に
>負荷分散構成にしちゃって良いものかどうか考え中なのですけど。
これって同じメールボックスにアクセスする imap サーバが複数あるということ?
さすがにそれは保証できんだろ。外からは同じに見えても内部的には別なんだから、
それはクライアントとサーバの間の問題ではなく、複数のサーバがひとつの
メールボックスを同時アクセスするときの制御の問題になる。
別ホストで動いているプロセス間で情報をやりとりする仕組みを備えている
実装でないかぎり(そんな実装があるのかどうか知らん)、
同時ログインしたらぶっこわれる可能性が高い。
>Maildir ならOKかも。
maildir が保証するのはあくまでメールの中身だけ。それ以外の管理情報は
別のところに置く実装が多いので、メールと管理情報の不整合が起きる可能性がある。
たとえば、ファイルの実体がサーバ上に残っていても、もし imap サーバがそれを
認識できなくなったとしたら、ユーザからすればメールが消えたのと同じ。
358 :
350:2007/09/05(水) 18:29:45
>imap はプロトコル的に同時ログイン可。
お、そうなんですか。情報ありがとうございます。
>これって同じメールボックスにアクセスする imap サーバが複数あるということ?
はい。ご指摘の通り、異なるホスト間でセッション情報を共有するような
ソフトは恐らくないかと思いますw ただ、RDBMS にセッション情報を
置くとか、ファイルシステム上にロック情報を置くとかして代替する
ことは出来るかなぁと思ってます。前者は SQL でフラグを参照するように
出来ればいけそうですし、後者は実装済みのものがありそうです。
# どっちもデッドロック発生の可能性を秘めていますが・・・w
360 :
名無しさん@お腹いっぱい。:2007/09/10(月) 00:55:55
10個のアカウントに一気に接続しようとして、全部ちゃんと接続できることが
ほとんどない。こんなものなのかな?
IMAPがこんなものなのか、サーバーがしょぼいのか、メールクライアント
(Becky)が負荷高いのか。。
エスパーの俺が答えるが、それはテスト方法が間違っている。
>>358 ただし同時アクセス時の"Message State"についてはRFC 4551でやっと規定されたので、そこら辺のインターオペラビリティは芳しくない。
RFC4551 は同時アクセス時の Messsage State を規定してるんじゃなくて、
同期を簡単に確実に早くする方法を定めている。
IMAP的には、複数クライアントの同時アクセスは保証していない。
2本目が来たときに、2本目を拒否するか、1本目を切断するサーバもある。