דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. מערכת טלפנית- התמודדות עם הרשמות ל CSV מכמה שרתים

מערכת טלפנית- התמודדות עם הרשמות ל CSV מכמה שרתים

מתוזמן נעוץ נעול הועבר תכנות
20 פוסטים 6 כותבים 944 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    כתב ב נערך לאחרונה על ידי dovid
    #10

    @google3 סלח לי. יש לי תחושה שאתה עדיין אוחז בתירוצים ולא בבירור האמת. אז תן לעצמך סטירה בשמי... תפסיק עם התירוצים.
    בא נניח כעת שזה לא תירוצים.
    לא הבנתי בכלל את הארכיטקטורה שלך, אבל א: אתה יכול לשמור לקובץ טקסט פיזי, ב. אתה יכול לעשות שרת תור רק שהיה לך הסתייגות למקרה כשל.
    אז הצענו לך את ההצעה הכי בעולם: מסד נתונים. זה בעצם הפתרון שהצעת עם התור, אבל לא אתה צריך לכתוב את הקוד שמנהל את זה, וזה משוכלל הרבה יותר ממה שהיית כותב, וגם תרשה לי לקבוע - אין שמה שום כשלים בדרך הטבע (אלא אם כן השרת מקונטבו למשל, גם זה אני לא בטוח).
    מאוד קל לעשות ביזור לשם שרידות, ואז להסתבך בשאלה "הקטנה" של התיאום והסנכרון.
    "מערכות גדולות" לא הכוונה היקף, אלא הכוונה חשיבות. אם חיים של אנשים היו תלויים בזה או משהו שמתקרב לכך, היינו באמת ממליצים לך על ביזור מסויים. ביזור אמיתי עושים עם מסד נתונים עם רפליקציות, או סתם מסד חירום (במקרה של כשל בשמירה במסד הראשי) בכל מופע.
    ההצעה של הCSV לא מחייבת front-end. כמו שיש לינק לדרייב או הדומה לו, ימשיך להיות לינק ישיר לCSV שלא באמת קיים, PHP יטפל בניתוב הזה ויחזיר CSV עדכני מהמסד בכל בקשה. אם אתה מתכוון שהשרתים לא חשופים בכלל לרשת, אוקי, גם עוד לא התקנת מסד נתונים. שלוש צעדים נותרו 🙂

    נ.ב. הקביעה שלי שאין כשלים היא מוגזמת אבל היא באה לתת איזון להגזמה הרבה יותר גדולה.
    הסיכוי הכי גבוה לכשל בשרת מסד נתונים זה היעדר מקום בדיסק, זה יכול לקרות אם "הולכים לישון" למשך זמן בו יחס השמירה גדול ביחס למקום הפנוי.

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

    google3G תגובה 1 תגובה אחרונה
    10
    • nigunN מנותק
      nigunN מנותק
      nigun
      השיב לgoogle3 ב נערך לאחרונה על ידי
      #11

      @google3 כתב במערכת טלפנית- התמודדות עם הרשמות ל CSV מכמה שרתים:

      וכן בניתי כל דבר שאין אף "דבר אחד" שיכול להוריד המערכת ( "Single Points of Failure")

      בעבודה עם CSV אתה עלול לגרום למצב שזה יהיה הדבר שיוריד את המערכת הרבה לפני שאיזה חוות שרתים עולה באש או שמישהו חתך בטעות את הכבל רשת לא חושב שזה בריא אם יהיה לך קובץ עם עשרות אלפי רשומות ומאות כתיבות בשניה (לא תרחיש ביזארי, תחשוב מישהו יחליט שבונה על המערכת שלך מערכת מכירת כרטיסים למירון)

      גם אם לא יהיה שום צוואר בקבוק בכתיבה לקובץ המשתמש יקבל קובץ ענק להורדה בלי אפשרות לסינון פשוט של רשומות 0-1000 וכדו'

      וזה עוד לפני שתרצה להוסיף פיצ'ר פשוט של תנאי שמשתמש לא יכול להרשם פעמיים ואז אתה צריך לעבור על כל השורות ולבדוק האם הרשומה קיימת או לא (במסד נתונים יש קיצורי דרך ולא קוראים מהדיסק את כל השורות בכל קריאה)

      אני יודע שזה מגניב שיש לך מערכת שאין בה SPOF אבל לא תמיד זה שווה את המאמץ, וכנראה אף פעם לא תגיע ל100% כי גם אם תקים 2 שרתי קמיליו בחוות שרתים נפרדות הספק שלך יכול ליפול ולא יהיה מי שיעביר לך את השיחות....

      מייל: nigun@duck.com

      google3G תגובה 1 תגובה אחרונה
      4
      • google3G מנותק
        google3G מנותק
        google3
        השיב לnigun ב נערך לאחרונה על ידי google3
        #12

        @nigun כתב במערכת טלפנית- התמודדות עם הרשמות ל CSV מכמה שרתים:

        אני יודע שזה מגניב שיש לך מערכת שאין בה SPOF אבל לא תמיד זה שווה את המאמץ, וכנראה אף פעם לא תגיע ל100% כי גם אם תקים 2 שרתי קמיליו בחוות שרתים נפרדות הספק שלך יכול ליפול ולא יהיה מי שיעביר לך את השיחות....

        צריך לעשות כל מה שאפשר וזה מה שאני עושה, ויכול להעיד על זה מי שמשתמש בשרתים שלי.

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

        אבל עדיין יש לי 2 שרתי קמיליו, 2 שרתי פריסוויץ' וכדומה.
        וגם אני בטוח 101 אחוז שהספק גם עובד בשיטה כזו שלא יהיה Single Points of Failure

        עכשיו הנושא של הרשמה לא נורא עם זה נפל לכמה דקות ואם היה בעיה אפשר לתקן, וזה שונה משיחות והשמעת קבצים שזה צריך לעבוד 100 אחוז ואם יש דקה של בעיה אני כבר בבעיה (ברוך השם יש לי יותר מ-150 שיחות לדקה ומליון + שיחות לשבוע).

        אבל כבר בניתי את המערכת שלי דרך קבצים ולא עם DB חוץ מ-CDR ובוקמרקס שכן עובדים עם DB, ולכן הכי טוב אם אפשר לעשות גם הרשמה עם קובץ וכמו שאני כותב כבר למעלה, שעם מערכת קבצים יש המון פונקציות שאני לא צריך לעשות ומגיע ממילא ואחד מזה הוא שאין לי בכלל Front End (אני הולך לעשות, אבל עד שאני עושה המערכת מוכן כבר להשתמש במערכת).

        זו תמונה מקמיליו אחד ורק שיחות נכנסות.

        a90f4269-6b98-415f-b34a-0dbd39fde66c-image.png

        אגב מה שמעניין הוא שספק השרתים שאני משתמש בו, Hetzner, הפסיק לעבוד האינטרנט למקומות מסוימים לכמה שעות בגלל כבל אינטרנט שנחתך קישור אז כמו @nigun אומר אי אפשר להיות 100 אחוז SPOF אבל עדיין צריל לעשות מצידנו מה שאפשר

        nigunN תגובה 1 תגובה אחרונה
        0
        • google3G מנותק
          google3G מנותק
          google3
          השיב לdovid ב נערך לאחרונה על ידי dovid
          #13

          @dovid כתב במערכת טלפנית- התמודדות עם הרשמות ל CSV מכמה שרתים:

          אז תן לעצמך סטירה בשמי... תפסיק עם התירוצים.

          קודם כל נתתי! 🤕

          אני באמת כבר אחר בירור דברתי עם המון אנשים בנושא וכן בכל נושא במערכת כולל @nigun ובתכם כמה שיש להם מערכת פעיל וגם אני יש לי כמה מערכת פעילות אז יש לי קצת נסיון (אכן גם שיניתי את דעתי אחרי בירור כאן בפורום)

          @dovid כתב במערכת טלפנית- התמודדות עם הרשמות ל CSV מכמה שרתים:

          וגם תרשה לי לקבוע - אין שמה שום כשלים בדרך הטבע

          אכן אתה צודק מסד נתונים בעצמו אין כמעט כשלים בנושא מסד נתונים בעצמו העניין הוא כמה

          א) כשאתה עושה מערכת קבצים יש לך אוטומטית הרבה דברים, כמו צד לקוח שאפשר לפתוח שלוחות באמצעות פתיחת תיקייה. אפשר להעתיק ולגזור, למחוק, אפשר לשתף הרשאות עם אנשים אחרים לתיקייה וכד וכד

          ב) אם כל המערכת שלך היא על מסד נתונים יש פה עניין של עומס (כמובן שאפשר הכל לסדר, אני רק אומר הפרו והקאנס)

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

          @dovid כתב במערכת טלפנית- התמודדות עם הרשמות ל CSV מכמה שרתים:

          ההצעה של הCSV לא מחייבת front-end. כמו שיש לינק לדרייב או הדומה לו, ימשיך להיות לינק ישיר לCSV שלא באמת קיים, PHP יטפל בניתוב הזה ויחזיר CSV עדכני מהמסד בכל בקשה. אם אתה מתכוון שהשרתים לא חשופים בכלל לרשת, אוקי, גם עוד לא התקנת מסד נתונים. שלוש צעדים נותרו

          אני מצרף תמונה מהמערכת שלי שאני (מערכת הקבצים) תלמדו לי איך אני יכול לעשות פה PHP פשוט (חוץ עם אני לומד הקוד של Next clued ואני עושה דף חדש ששם יש כל הרשמות ולעשות שאפשר למחוק ולשנות ההרשמה קיים אני לא אומר שזה לא אפשרי אבל זהנ לא כמה שירות קוד לדעתי)

          afe2ae4d-0e90-4fff-8f55-9fdd0b4bd481-image.png

          תגובה 1 תגובה אחרונה
          1
          • yossizY מנותק
            yossizY מנותק
            yossiz
            כתב ב נערך לאחרונה על ידי
            #14

            @google3 ניסינו לשנות את דעתך בלי הרבה הצלחה
            אז בוא נוותר על זה, ונחזור לשאלה המקורית

            תוכל לפרט יותר בדיוק את השאלה?

            האם אתה חייב לשמור הכל בקובץ אחד גדול? אולי אפשר שכל סשן מקביל יפתח קובץ חדש?
            איך הדיסק מחובר לשרת? אם דרך NFS, האם אין שם נעילה של קבצים? (אני לא בקי בזה, והתעצלתי לחפש, אבל נדמה לי שיש)

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            google3G תגובה 1 תגובה אחרונה
            3
            • clickoneC מנותק
              clickoneC מנותק
              clickone
              כתב ב נערך לאחרונה על ידי clickone
              #15

              @google3 אולי אתה יכול לשמור לDB ואחת לX זמן לייצא את כל הCSV שהיו להם תוספות בX הזמן שחלף לתיקיות הרלוונטיות?
              כמובן שזה ידרוש ממך CRON מסויים, אבל יש מצב שעד שעד שיהיה מוכן הממשק משתמש תהנה מ2 העולמות, ואח"כ המעבר יהיה חלק יותר.
              בנוסף, יש מצב שבPHP אם אתה משתמש בהוספת בלבד לקובץ הוא כן יתמודד עם זה עד גודל מסויים (באותו שרת כנראה שבוודאי. אתה שאלת על 2 שרתים....)

              file_put_contents($filename, $data . PHP_EOL, FILE_APPEND);
              

              אז אולי אתה יכול לכתוב ל2 קבצים כל שרת עם מזהה נפרד (לדוגמא עם סיומת 1/2) ולעשות שילוב בין הקבצים פעם בכמה זמן.

              (לדעתי האישית במקרה שלך אם אתה מכוון לעומסים וסקייל גבוה - תחזור לDB כמו שהציעו כאן)

              אין טסט כמו פרודקשן.

              המייל שלי urivpn@gmail.com

              nigunN תגובה 1 תגובה אחרונה
              4
              • nigunN מנותק
                nigunN מנותק
                nigun
                השיב לclickone ב נערך לאחרונה על ידי
                #16

                @clickone כתב במערכת טלפנית- התמודדות עם הרשמות ל CSV מכמה שרתים:

                כמובן שזה ידרוש ממך CRON מסויים

                הוא לא חייב לעבוד עם cron
                אפשר לשמור הכל בDB ואחרי כל רישום בDB לפנות לשירות נפרד ולהפעיל טריגר ליצירת CSV והשירות הזה ינהל את כל התור והבקשות המקבילות
                אחרת אם יש לו אלפי קבצים בשרת יהיה לו אלפי cron jobs שרצים בלי סיבה

                מייל: nigun@duck.com

                google3G תגובה 1 תגובה אחרונה
                3
                • nigunN מנותק
                  nigunN מנותק
                  nigun
                  השיב לgoogle3 ב נערך לאחרונה על ידי nigun
                  #17

                  @google3 כתב במערכת טלפנית- התמודדות עם הרשמות ל CSV מכמה שרתים:

                  וגם אני בטוח 101 אחוז שהספק גם עובד בשיטה כזו שלא יהיה Single Points of Failure

                  אולי בארה"ב
                  כאן בארץ פחות....

                  מייל: nigun@duck.com

                  תגובה 1 תגובה אחרונה
                  2
                  • google3G מנותק
                    google3G מנותק
                    google3
                    השיב לyossiz ב נערך לאחרונה על ידי google3
                    #18

                    @yossiz כתב במערכת טלפנית- התמודדות עם הרשמות ל CSV מכמה שרתים:

                    @google3 ניסינו לשנות את דעתך בלי הרבה הצלחה
                    אז בוא נוותר על זה, ונחזור לשאלה המקורית

                    תוכל לפרט יותר בדיוק את השאלה?

                    האם אתה חייב לשמור הכל בקובץ אחד גדול? אולי אפשר שכל סשן מקביל יפתח קובץ חדש?
                    איך הדיסק מחובר לשרת? אם דרך NFS, האם אין שם נעילה של קבצים? (אני לא בקי בזה, והתעצלתי לחפש, אבל נדמה לי שיש)

                    אני רוצה לעשות כמו שיש במערכת בימות המשיח "הקלטת נתונים" וכל הקלטת נתונים תהיה בתוך השלוחה בקובץ
                    זו רק דוגמה אחד אני גם רוצה לעשות כמו שיש בימות המשיח (וכן מערכת אחרת) List_all_information שבה יהיה כל המידע על המאזינים: השם, מספר טלפון, מייל, סיסמה וכדומה, וכמה פעמים היו במערכת. לדוגמה, ה-CDR ייקח ממנו מידע וכדומה

                    את ה-List_all_information, בגלל שזה פעם אחת במערכת, אני יכול יותר לעשות במסד נתונים מה שאין כן כל השאר - אם אני יכול לעשות בקובץ, יהיה לי עדיף מהרבה סיבות

                    תגובה 1 תגובה אחרונה
                    0
                    • google3G מנותק
                      google3G מנותק
                      google3
                      השיב לnigun ב נערך לאחרונה על ידי google3
                      #19

                      @nigun כתב במערכת טלפנית- התמודדות עם הרשמות ל CSV מכמה שרתים:

                      @clickone כתב במערכת טלפנית- התמודדות עם הרשמות ל CSV מכמה שרתים:

                      כמובן שזה ידרוש ממך CRON מסויים

                      הוא לא חייב לעבוד עם cron
                      אפשר לשמור הכל בDB ואחרי כל רישום בDB לפנות לשירות נפרד ולהפעיל טריגר ליצירת CSV והשירות הזה ינהל את כל התור והבקשות המקבילות
                      אחרת אם יש לו אלפי קבצים בשרת יהיה לו אלפי cron jobs שרצים בלי סיבה

                      מה עם קורה הפוך הלקוח עולה קובץ? אז לכראה אין ברירה אלא לעשות cron job?

                      nigunN תגובה 1 תגובה אחרונה
                      0
                      • nigunN מנותק
                        nigunN מנותק
                        nigun
                        השיב לgoogle3 ב נערך לאחרונה על ידי
                        #20

                        @google3 כתב במערכת טלפנית- התמודדות עם הרשמות ל CSV מכמה שרתים:

                        @nigun כתב במערכת טלפנית- התמודדות עם הרשמות ל CSV מכמה שרתים:

                        @clickone כתב במערכת טלפנית- התמודדות עם הרשמות ל CSV מכמה שרתים:

                        כמובן שזה ידרוש ממך CRON מסויים

                        הוא לא חייב לעבוד עם cron
                        אפשר לשמור הכל בDB ואחרי כל רישום בDB לפנות לשירות נפרד ולהפעיל טריגר ליצירת CSV והשירות הזה ינהל את כל התור והבקשות המקבילות
                        אחרת אם יש לו אלפי קבצים בשרת יהיה לו אלפי cron jobs שרצים בלי סיבה

                        מה עם קורה הפוך הלקוח עולה קובץ? אז לכראה אין ברירה אלא לעשות cron job?

                        מחיפוש מהיר נראה שיש שם אופציה של הפעלת טריגרים
                        https://docs.nextcloud.com/server/latest/developer_manual/digging_deeper/flow.html#configuration-component

                        מייל: nigun@duck.com

                        תגובה 1 תגובה אחרונה
                        2

                        בא תתחבר לדף היומי!
                        • התחברות

                        • אין לך חשבון עדיין? הרשמה

                        • התחברו או הירשמו כדי לחפש.
                        • פוסט ראשון
                          פוסט אחרון
                        0
                        • דף הבית
                        • קטגוריות
                        • פוסטים אחרונים
                        • משתמשים
                        • חיפוש
                        • חוקי הפורום