ABA


"בעייה תיכנותית - מולטיטרד JAVA."
גירסת הדפסה        
קבוצות דיון לימודים, מדע ותרבות נושא #20590 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 20590
Yariv-H לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
5856 הודעות, 1 פידבק
   16:28   31.01.14   
אל הפורום  
  בעייה תיכנותית - מולטיטרד JAVA.  
 
   טוב אז יש לי בעייה שאני מנסה לחשוב על פתרון יצירתי.

סקירה ראשונית:

יש לי מערכת קליינט סרבר , קליינט שולח בקשות , סרבר מחזיר תשובות.

לסרבר לוקח 1 שניות להחזיר תשובה אלי (בעומס).
לי לא משנה תוך כמה זמן אני מקבל את התשובה , שאני מקבל אותה אני יוצר אובייקט חדש ומעביר אותו הלאה (באיזה שהוא שלב אפשר להניח שאין סינכרון בכלל אבל אחרי 24 שעות הסנכרון חוזר קים downtime במערכת קבוע של 8 שעות ביום).

אין לי אפשרות לשנות את הקוד בצד שרת.

כרגע בצד לקוח אני עובד עם axis ב JAVA.

הבעייה בצד לקוח שהתור שלו מתפוצץ.
כרגע ישנו טרד אחד שעובד על התור , ברגע שיש הודעה הוא שולח אותה ע"י call.invoke ומחכה לתשובה , כרגע המצב הוא שהוא ב blocking.


בצד לקוח מייצרים באיזור ה 50-100 בקשות לשניה.


הפתרון שביצעתי כרגע הוא Thread pool אשר יעבוד בצורה אסינכרונית על התור , אבל השליחה עצמה תשאר סינכרונית.


הפתרון הזה כנראה ידרוש ממני לחתזק בערך 100 טרדים בפול אשר יטפלו לי בבקשות.

חשבתי בנוסף אולי על פתרון של ליצור טרד אחד ששולח הודעות לשרת בסגנון בלי לחכות לתשובה (כמו UDP)
וטרד אחד שיקבל את התשובות בשבילו וידפיס אותם .

או אפילו שילוב של השנים (טרד פול בקבלה )

מה אתם אומרים יש פתרון יצירתי / יעיל יותר ?

תודה.

*פורסם במקביל בפורום תיכנות




                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net