עדכון שרת tcp ללא downtime
-
אני מריץ שרת אסטריסק שמנוהל ע"י שרת tcp
כל שיחה יוצרת חיבור לשרת tcp למשך כל השיחה + נתונים משותפים לכל השיחות שאני שומר בזיכרון
הבעיה היא שאני לא יכול לעשות שינויים בשרת כל עוד יש מאזינים על הקו
האם יש דרך לבצע עידכונים לשרת בלי להפיל את הלקוחות? -
אתה צריך להשתמש באיזה פתרון אמצע כמו reverse proxy שגם יודע לעשות rolling updates. בקוברינטיס למשל יש את זה מובנה.
אני חושב שHAProxy גם יודע לעשות את זה, אם כי לא התנסיתי בזה בעבר.שרת TCP אתה מתכוון לא http? כלומר יש חיבור אחד רצוף או שנפתח חיבור חדש לכל שיחה או בקשה?
-
@aaron אמר בעדכון שרת tcp ללא downtime:
שרת TCP אתה מתכוון לא http? כלומר יש חיבור אחד רצוף או שנפתח חיבור חדש לכל שיחה או בקשה?
אני מתכוון חיבור אחד רצוף לכל שיחה
ונראה לי שזה חיבור אחד רצוף כי השיחה מבצעת את הסקרפיט לאורך כל השיחה וכשנגמר הסקריפט השיחה מתנתקת -
בנתיים מה שעשיתי
הקמתי עוד שרת על פורט אחר על אותו מכונה
והקדשתי מספר נוסף שפונה לפורט הזה
ורק אחרי כל הטסטים אני מעביר את זה עם גיט לשרת פרודקשן
כך אני יכול לעבוד על השרת טסטם ולא להפריע לפרודקשן
וכן אני יכול במקרה הצורך להפנוך את כל השיחות החדשות לפורט של הטסטים ולחכות שכל השיחות שעל השרת פרודקשן יגמרו
ואז לעדכן
אמנם יהיה חוסר סינכרון לכמה זמן אבל לזה במילא אין פיתרון
3/4