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

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

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

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

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

    @google3 אם אני מבין נכון מערכת אחת יכולה לרוץ בפועל על שני שרתים ולכתוב לכונן SSD יחיד נתונים? ואתה מחבר SSD אחד לשני השרתים? איך?

    Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
    טיפים

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

      @google3 יש לי הרבה ביקורת על תהליך החשיבה שלך בנושא

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

      עכשיו מתחילה הבעיה - מה אם שני אנשים מסיימים את ההרשמה באותו זמן? הקובץ יכול להפוך ל-Corrupt file

      הבעיה גם אם היה לך רק שרת אחד

      אבל זה יעשה את המערכת למה שנקרא באנגלית "Single Point of Failure"

      נו נו, ממתי זה בעיה במערכות קטנות? אין לך חוץ מזה עוד "Single Points of Failure"?

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

      וגם לא מעניין שיהיה לי שרת נוסף בשביל זה

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

      מסד נתנים אני צריך לבנות אתר שלום ללקוח לראות ההרשמות עם כל מיני אפשרויות

      זה ממש פשוט להמיר רשומות של רשומות ממסד נתונים ל-CSV.כמה שורות PHP. זה ממש לא "לבנות אתר שלם"

      במסד נתונים אני שוב הייתי קשור לשרת אחד

      זה לא אמור להיות שיקול. מסדי נתונים לא נתקעים סתם. אם זה בנוי בצורה נורמלית זה יעבוד.

      בקיצור, דרך המלך הוא להשתמש במסד נתונים

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

      google3G תגובה 1 תגובה אחרונה
      6
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        כתב ב נערך לאחרונה על ידי
        #7

        רוצה לציין עוד משהו שנעדר מהשאלה (עונה גם על שאלתו של @yossiz).
        "אני לא כ"כ מכיר מסדי נתונים, ואני חושש להתחיל להיכנס לזה".
        אז התשובה היא שזה ממש פשוט, וכדאי להתחיל בדיוק בנקודה זו - שקבצי טקסט הם כבר מתחילים לחרוק.
        בהצלחה!

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

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

        תגובה 1 תגובה אחרונה
        5
        • google3G מנותק
          google3G מנותק
          google3
          השיב לצדיק תמים ב נערך לאחרונה על ידי
          #8

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

          @google3 אם אני מבין נכון מערכת אחת יכולה לרוץ בפועל על שני שרתים ולכתוב לכונן SSD יחיד נתונים? ואתה מחבר SSD אחד לשני השרתים? איך?

          בעקרון יש לי שרת/שרתים NFS-Gloucester וכל שרת פריסוויטש מחבר ל SSD שלו או יותר מאחד
          אבל אני יכול "למאונט ווליום" מכל מקום

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

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

            הבעיה גם אם היה לך רק שרת אחד

            לא ממש אז אני יכול לסגור הקובץ (File looking) ולעשות מהלך של תור

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

            נו נו, ממתי זה בעיה במערכות קטנות? אין לך חוץ מזה עוד "Single Points of Failure"?

            מי אומר שמדבר במערכת קטנה ?

            אני רוצה לפתוח את זה שיהיה מערכת גדולה בע"ה

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

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

            זה ממש פשוט להמיר רשומות של רשומות ממסד נתונים ל-CSV.כמה שורות PHP. זה ממש לא "לבנות אתר שלם"

            אוקיי אני אסביר עכשיו אני משתמש עם Next cloud (כמו גגול דרייוו אבל בקוד פתוח)
            זה אומר שחוץ מקבצים ותקיות(ולהוריד ולהעתיק ולשתף וכד) אין Front end בכלל ללקוח

            nigunN תגובה 1 תגובה אחרונה
            0
            • 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
                                  • דף הבית
                                  • קטגוריות
                                  • פוסטים אחרונים
                                  • משתמשים
                                  • חיפוש
                                  • חוקי הפורום