2013-10-24 8 views

Antwort

13

Nach meinen Berechnungen mit den Servietten, unter der Annahme maximum publish rate of 53,710 messages per second, müssten Sie insgesamt 7,06 x 10^13 Jahre veröffentlichen, was vier Größenordnungen größer ist als das Alter des bekannten Universums. Wenn wir annehmen, dass man 3 Nachrichten pro Prozessorzyklus veröffentlichen könnte und dass der Intel-Prozessor 7.000.000.000 Nachrichten pro Sekunde verarbeiten könnte, würde es immer noch fast 84 Jahre dauern.

Daher ist es sicher zu schließen, dass Sie zuerst auf andere Probleme stoßen werden. Aber wenn Ihr RabbitMQ-Server so lange läuft, verdienen Sie einen Preis.

Aber in aller Ernsthaftigkeit, wenn dies irgendwie passieren würde, ich denke, es hängt davon ab, wie Erlang Ganzzahlen behandelt. This post zeigt an, dass Erlang keinen Speicher mehr hat - ich verstehe nicht ganz, wie sie das erreichen, aber vielleicht explodiert dann das ganze System? Wer weiß. In C# rollen die Ints einfach nach overflow.

+0

Ja, ich weiß, es wäre unwahrscheinlich, so viele Nachrichten zu senden. Ich war daran interessiert, was passiert, wenn Sie es tun würden. Während wir uns beide vorstellen können, was passiert, wollte ich sehen, ob jemand mich bereits kannte oder auf eine Referenz verweisen konnte. –

+1

Nicht "unwahrscheinlich" - unmöglich, angesichts Ihrer Definition des Problems. Aber ich habe versucht, im zweiten Teil meiner Antwort zu theoretisieren :) Es könnte sein, dass man einen Test einrichten könnte, wobei der ganzzahlige Wert absichtlich auf (MaxValue-1) oder etwas anderes gesetzt wurde, obwohl ich denke, dass es ein sein würde akademische Übung. – theMayer