מה יותר יציב מבחינת קידוד?
תור
דבר חשוב נוסף שמושג בעזרת מערכת הודעות אסינכרונית היא "שקיפות במיקום". למעשה, הלקוח לא חייב לדעת כלום על המיקום של השרת שלו אלא רק על המיקום של תור ההודעות ששייך לאותו שרת. דבר זה מאפשר למשל להוריד מופע של השירות שנמצא בבעיה (למשל ללא זיכרון) ולהעלות מופע אחר במקומו בלי שללקוחות של אותו שירות יהיה אכפת. אז תשאלו "האם אנחנו לא מעבירים את הבעיה במקום לפתור אותה? עדיין הלקוח מודע למיקום של התור, אז עכשיו אנחנו רגישים לבעיות בתור במקום לבעיות בשירות?" תשובה: תור זה רכיב פשוט שלעיתים נדירות עובר שינויים בקוד שלו ולכן הוא הרבה יותר יציב מהשירות ששולף מהתור. דבר נוסף שמתאפשר בעקבות שקיפות במיקום זו היכולת לפרוס מספר מופעים של אותו שירות כך שכל אותם המופעים מאזינים לאותו התור ומחלקים את העבודה ביניהם (load balancing). עכשיו קל לראות איך זה גם מאפשר את האלסטיות שהזכרנו למעלה. אנחנו יכולים להוסיף ולהוריד מופעים של השירות כרצוננו בלי שהלקוחות מודעים לכך מה שמאפשר זמינות גבוהה של השירותים על פי גודל הדרישה.
תור הוא יותר יציב מבחינת קידוד.