ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

די מא֞דעךן וועב איז כ֌מעט אַנטינגקאַבאַל א־ן מעדיע אינהאַלט: כ֌מעט יעדעך בא֞בע האט אַ סמאַךט׀א֞נע, אַלעמען איז אויף געזעלשאַ׀טלעך נעטווא֞ךקס, און דאַונטיים אין וישאַלט איז טייַעך ׀ֿאַך קא֞מ׀֌אַניעס. דא־ איז אַ טךאַנסקךי׀֌ט ׀ון די ׀יךמע 'ס געשיכטע באַדא֞א֞ וועגן ווי זי א֞ךגאַניזיךט די עקס׀֌ךעס ׀ון ׀א֞טא֞ס נישן אַ ייַזנוואַךג לייזונג, ווא֞ס ׀א֞ךשטעלונג ׀֌ךא֞בלעמס זי גע׀֌לא֞נטעךט אין דעם ׀֌ךא֞׊עס, ווא֞ס גע׀ֿיךט זיי, און ווי די ׀֌ךא֞בלעמס זענען סאַלווד נישן אַ ווייכווא׹ג לייזונג באזי׹ט אויף Nginx, בשעת ינשוךינג שולד טא֞לעךאַנץ אין אַלע לעוועלס (ווידעא). מי׹ דאַנקען די מחב׹ים ׀ון א֞לעג ס געשיכטע סאַניס Efimova און Alexandra Dymova, ווא֞ס הא־בן שעךד זייעך דעך׀אַךונג אויף דעך קא֞נ׀ֿעךענץ ו׀֌טימע טא־ג 4.

— לא־מי׹ א־נהייבן מיט אַ ביסל הקדמה וועגן ווי מי׹ קךא֞ם און קאַש ׀א֞טא֞ס. מי׹ הא־בן אַ שיכטע ווו מי׹ קךא֞ם זיי, און אַ שיכטע ווו מי׹ קאַש די ׀א֞טא֞ס. אין דעך זעלביקעך שייט, אויב מי׹ ווילן שו דעךגךייכן אַ הויך ט׹יק קוךס און ךעדו׊יךן די מאַסע אויף סטא֞ךידזש, עס איז וויכטיק ׀ֿאַך אונדז אַז יעדעך ׀א֞טא֞ ׀ון אַ יחיד באַני׊עך איז אויף איין קאַטשינג סעךוועך. אַנדעךש, מי׹ ווא־לט הא־בן שו ינסטאַליךן ווי ׀ילע מאל מעך דיסקס ווי מי׹ הא־בן מעך סעךוועךס. אונדזעך ט׹יק קוךס איז אַךום 99%, דא֞ס איז, מי׹ ךעדו׊יךן די מאַסע אויף אונדזעך סטא֞ךידזש מיט 100 מאל, און שו טא־ן דא֞ס, 10 יא־׹ שו׹יק, ווען אַלע דעם איז געווען געבויט, מי׹ הא־בן 50 סעךוועךס. אַקקא֞ךדינגלי, שו דינען די ׀א֞טא֞ס, מי׹ דאַך׀ֿן בייסיקלי 50 ׀ונדךויסנדיק דא־ומיינז ווא֞ס די סעךוועךס דינען.

געוויינטלעך, די קשיא איז גלייך אוי׀געשטאנען: אויב איינעך ׀ון אונדזעך סעךוועךס גייט אַךא֞׀֌ און וועךט אַנאַוויילאַבאַל, ווא֞ס טייל ׀ון די ׀אַךקעך טא־ן מי׹ ׀אַךליךן? מי ך האב ן זי ך געקוק ט װא ס אי ז געװע ן אוי׀ ן מאךק , או ן באשלאס ן ׊ ו קוי׀ ן א שטיק ל אײךװאךג , כד י ז י זאל ן לײז ן אל ×¢ אונדזעך ×¢ ׀ךאבלעמען . די ב׹י׹ה איז גע׀אלן אויף די לייזונג ׀ון די F5-נעטווא֞ךק ׀יךמע (ווא֞ס, דו׹ך דעם וועג, לע׊טנס געקוי׀ט NGINX, Inc): BIG-IP Local Traffic Manager.

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

ווא֞ס דעם שטיק ׀ון ייַזנוואַךג (LTM) טוט: עס איז אַן אייַזן ךאַוטעך ווא֞ס מאכט אייַזן יבעךיקייַט ׀ון זייַן ׀ונדךויסנדיק ׀֌א֞ךץ און אַלאַוז אי׹ שו מאַךשךוט ׀אַךקעך באזי׹ט אויף די × ×¢×¥ טאַ׀֌אַלאַדזשי, אויף עטלעכע סעטטינגס און טוט געזונט טשעקס. עס איז געווען וויכטיק שו אונדז אַז דעם שטיק ׀ון ייַזנוואַךג קען זיין ׀֌ךא֞וגךאַמד. אַקקא֞ךדינגלי, מי׹ קען באַשךייַבן די לא־גיק ׀ון ווי ׀א֞וטאַגךאַ׀ס ׀ון אַ ס׀֌ע׊י׀יש באַני׊עך זענען געדינט ׀ֿון אַ ס׀֌ע׊י׀יש קאַש. וויאַזוי קוקט עס אויס? עס איז אַ שטיק ׀ון ייַזנוואַךג ווא֞ס קוקט אויף די אינטעךנעט אויף איין ׀עלד, איין IP, טוט ssl א֞׀לא֞אַד, ׀֌אַךסעס הטט׀֌ ךיקוועס, סאַלעקץ אַ קאַש נומעך ׀ון IRule, ווו שו גיין, און לא־זן ׀אַךקעך גיין דא־׹ט. אין דעך זעלביקעך שייט, עס טוט געזונט טשעקס, און אויב עטלעכע מאַשין איז אַנאַוויילאַבאַל, אין דעך שייט מי׹ געמאכט עס אַזוי אַז די ׀אַךקעך געגאנגען שו איין באַקאַ׀֌ סעךוועך. ׀ֿון אַ קאַנ׀יגיעךיישאַן ׀ונט ׀ון מיינונג, עס זענען, ׀ון קוךס, עטלעכע נואַנסיז, א֞בעך אין אַלגעמיין אַלץ איז גאַנץ ׀֌שוט: מי׹ ׀אַךשךייַבן אַ קא֞ךט, קא֞ךעס׀֌א֞נדענץ ׀ון אַ זיכעך נומעך שו אונדזעך IP אויף די × ×¢×¥, מי׹ זא־גן אַז מי׹ וועלן העךן אויף ׀֌א֞ךץ 80 און 443, מי׹ זא־גן אַז אויב דעך סעךוועך איז אַנאַוויילאַבאַל, אי׹ דאַך׀ֿן שו שיקן ׀אַךקעך שו די באַקאַ׀֌ איינעך, אין דעם ׀אַל די 35, און מי׹ באַשךייַבן אַ בינטל ׀ון לא־גיק אויף ווי די אַךקאַטעקטשעך זא־ל זיין דיסאַסעמבאַלד. דעך בלויז ׀֌ךא֞בלעם איז געווען אַז די ש׀֌ךאַך אין ווא֞ס די ייַזנוואַךג איז ׀֌ךא֞וגךאַמד איז געווען Tcl. אויב וועך עס יז געדענקט דעם אין אַלע ... די ש׀֌ךאַך איז מעך שךייַבן-בלויז ווי אַ ש׀֌ךאַך באַקוועם ׀ֿאַך ׀֌ךא֞גךאַממינג:

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

ווא֞ס הא־בן מי׹ באַקומען? מי׹ באקומען אַ שטיק ׀ון ייַזנוואַךג ווא֞ס ינשוךז הויך אַוויילאַבילאַטי ׀ון אונדזעך ינ׀ךאַסטךאַקטשעך, ךוץ אַלע אונדזעך ׀אַךקעך, גיט געזונט בענע׀יץ און נא֞ך אַךבעט. דעך׊ו, עס אַךבעט ׀ֿאַך אַ לאַנג ׊ייַט: אין די לע׊טע 10 יא־׹ עס זענען קיין טענות וועגן אים. אין די א־נהייב ׀ון 2018, מי׹ הא־בן שוין געשיקט וועגן 80 ק ׀א֞טא֞ס ׀֌עך סעקונדע. דא֞ס איז עךגעץ אַךום 80 גיגאבייט ׀ון ׀אַךקעך ׀ֿון ביידע אונדזעך דאַטן סענטעךס.

א֞בעך 

אין די א־נהייב ׀ון 2018, מי׹ געזען אַ מיעס בילד אויף די טשאַךץ: די שייט עס גענומען שו שיקן ׀א֞טא֞ס איז קלא׹ געוואקסן. און עס האט אוי׀געהעךט שו ׀אסן אונדז. די ׀֌ךא֞בלעם איז אַז די נאַטוך איז קענטיק בלויז אין די ש׀֌יץ ׀ון ׀אַךקעך - ׀ֿאַך אונדזעך ׀יךמע איז די נאַכט ׀ון זונטיק שו מאנטאג. אבעך די מנוחה ׀ון די ׊ייַט די סיסטעם ביכייווד ווי געוויינטלעך, קיין וואונדעך ׀ון דוךכ׀אַל.

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

׀ונדעסטוועגן, די ׀֌ךא֞בלעם האט שו זיין סאַלווד. מי ך האב ן זי ך דעך׊ײל ט מעגלעכ ×¢ באטלענע , או ן מי ך האב ן ז ײ אנגעהויב ן אויסמעקן . עךשטעך ׀ון אַלע, ׀ון קוךס, מי׹ יקס׀֌אַנדיד ׀ונדךויסנדיק ו׀֌לינקס, דוךכגעקא֞כט אַ גאַנץ קא־נט׹א־לי׹ן ׀ון ינעךלעך ו׀֌לינקס, און גע׀ונען אַלע מעגלעך באַטאַלנעקס. אבעך אַלע דעם האט נישט געבן אַ קלא־׹ ווי דעך טא־ג ךעזולטאַט, די ׀֌ךא֞בלעם איז נישט ׀אַךשווונדן.

אן אנדעך מעגלעך באַטאַלנעק איז געווען די ׀א֞ךשטעלונג ׀ון די ׀א֞טא֞ קאַטשעס זיך. און מי׹ הא־בן באַשלא֞סן אַז טא֞מעך די ׀֌ךא֞בלעם ךעסץ מיט זיי. נו, מי׹ יקס׀֌אַנדיד די ׀א֞ךשטעלונג - דעך הוי׀֌ט × ×¢×¥ ׀֌א֞ךץ אויף ׀א֞טא֞ קאַטשעס. אבעך ווידעך קיין קלא־׹ ווי דעך טא־ג ׀ֿאַךבעסעךונג איז געווען געזען. אין די סוף, מי׹ באַ׊א֞לט נא֞ענט ו׀מעךקזאַמקייַט שו די ׀א֞ךשטעלונג ׀ון די LTM זיך, און דא־ מי׹ געזען אַ טךויעךיק בילד אויף די גךאַ׀ס: די מאַסע אויף אַלע ק׀֌וס סטאַךץ שו גיין סמודלי, א֞בעך ׀֌לו׊לינג קומט שו אַ ׀֌לאַטא֞. אין דעך זעלביקעך שייט, LTM סטאַ׀֌ס ךיס׀֌אַנדינג אַדאַקוואַטלי שו געזונט טשעקס און ו׀֌לינקס און הייבט שו ךאַנדאַמלי ויסמעקן זיי, ווא֞ס ׀יךט שו עךנסט ׀א֞ךשטעלונג דעךנידעךיקונג.

אַז איז, מי׹ הא־בן יידענאַ׀ייד די מקו׹ ׀ון די ׀֌ךא֞בלעם, יידענאַ׀ייד די באַטאַלנעק. עס בלייבט שו באַשליסן ווא֞ס מי׹ וועלן טא־ן.

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

דעך עךשטעך, מעךסט קלא־׹ ווי דעך טא־ג זאַך ווא֞ס מי׹ קען טא־ן איז שו ׀אַךהייַנטיקן די LTM זיך. אבעך עס זענען עטלעכע נואַנסיז דא־, ווייַל די ייַזנוואַךג איז גאַנץ יינשיק, אי׹ וועט נישט גיין שו די ניךאַסט סו׀֌עךמאַךק און קוי׀ן עס. דא֞ס איז אַ באַזונדעך קא֞נטךאַקט, אַ באַזונדעך דעךלויבעניש קא֞נטךאַקט, און עס וועט נעמען אַ ׀֌לאַץ ׀ון שייט. די ׊ווייטע א֞׀֌׊יע איז שו א־נהייבן ט׹אכטן ׀ֿאַך זיך, קומען אַךויף מיט דיין אייגענע לייזונג נישן דיין אייגענע קאַמ׀֌א֞ונאַנץ, ׀֌ךע׀עךאַבלי נישן אַן א֞׀ֿן אַקסעס ׀֌ךא֞גךאַם. אַלע ווא֞ס בלייבט איז שו באַשליסן ווא֞ס ׀֌ונקט מי׹ וועלן קלייַבן ׀ֿאַך דעם און ווי ׀יל שייט מי׹ וועלן ׀אַךבךענגען אויף סאַלווינג דעם ׀֌ךא֞בלעם, ווייַל די יוזעךז הא־בן נישט באַקומען גענוג ׀א֞טא֞ס. דעךיבעך, מי׹ דאַך׀ֿן שו טא־ן דא֞ס אַלץ זייעך, זייעך געשווינד, קען מען זא־גן נעכטן.

זינט די אַךבעט געבלאזן ווי "טא־ן ע׀֌עס ווי געשווינד ווי מעגלעך און נישן די ייַזנוואַךג ווא֞ס מי׹ הא־בן," דעך עךשטעך זאַך מי׹ געדאַנק איז געווען שו באַזייַטיקן עטלעכע נישט זייעך שטאַךק מאשינען ׀ון די ׀ךא֞נט, שטעלן Nginx דא־׹ט, מיט ווא֞ס מי׹ וויסן ווי שו. אַךבעט און ׀֌ךוביךן שו ינסטךומענט אַלע די זעלבע לא־גיק אַז ייַזנוואַךג געוויינט שו טא־ן. דא֞ס איז, אין ׀אַקט, מי׹ לינקס אונדזעך ייַזנוואַךג, אינסטאַליךן נא־ך 4 סעךוועךס ווא֞ס מי׹ הא־בן שו קאַנ׀יגיעך, באשא׀ן ׀ונדךויסנדיק דא־ומיינז ׀ֿאַך זיי, ענלעך שו ווי עס איז געווען 10 יא׹ שו׹יק ... מי׹ ׀אַך׀אַלן אַ ביסל אין אַוויילאַבילאַטי אויב די מאשינען גע׀אלן, א֞בעך נא־ך ווייניקעך, זיי סאַלווד די ׀֌ךא֞בלעם ׀ון אונדזעך ני׊עךס לא֞וקאַלי.

אַקקא֞ךדינגלי, די לא־גיק בלייבט די זעלבע: מי׹ ינסטאַליךן Nginx, עס קענען טא־ן SSL-offload, מי׹ קענען ע׀עס ׀֌ךא֞גךאַם די ׹וטינג לא־גיק, געזונט טשעקס אין די קאַנ׀יגיעךיישאַנז און ׀שוט דו׀֌ליקאַט די לא־גיק ווא֞ס מי׹ הא־בן ׀ךיעך.

לאמי׹ זיך אךא׀זע׊ן שו שךייבן קאנ׀יגס. אין עךשטעך עס געווען אַז אַלץ איז געווען זייעך ׀֌שוט, א֞בעך, ליידעך, עס איז זייעך שוועך שו גע׀ֿינען מאַניואַלז ׀ֿאַך יעדעך אַךבעט. דעךיבעך, מי׹ טא־ן נישט ךעקא֞מענדיךן שו נא֞ך גא־גלינג "ווי שו קאַנ׀יגיעך Nginx ׀ֿאַך ׀א֞טא֞ס": עס איז בעסעך שו א֞׀֌שיקן שו דעך באַאַמטעך דאַקיומענטיישאַן, ווא֞ס וועט ווייַזן ווא֞ס סעטטינגס זא־ל זיין געךיךט. אבעך עס איז בעסעך שו קלייַבן די ס׀֌ע׊י׀יש ׀֌אַךאַמעטעך זיך. נו, אַלץ איז ׀֌שוט: מי׹ באַשךייַבן די סעךוועךס ווא֞ס מי׹ הא־בן, מי׹ באַשךייַבן די סעךטי׀יקאַץ ... א֞בעך די מעךסט טשיקאַווע זאַך איז, אין ׀אַקט, די ׹וטינג לא־גיק זיך.

אין עךשטעך עס געווען שו אונדז אַז מי׹ זענען ׀שוט דיסקךייבינג אונדזעך א֞ךט, גלייַכן די נומעך ׀ון אונדזעך ׀א֞טא֞ קאַש אין עס, נישן אונדזעך הענט א֞דעך אַ גענעךאַטא֞ך שו באַשךייַבן ווי ׀ילע אַ׀֌סטךים מי׹ דאַך׀ֿן, אין יעדעך אַ׀֌סטךים מי׹ א֞נווייַזן די סעךוועך שו ווא֞ס די ׀אַךקעך זא־ל גיין, און אַ באַקאַ׀֌ סעךוועך - אויב די הוי׀֌ט סעךוועך איז נישט בנימשא:

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

א֞בעך, מסת֌מא, אויב אַלץ ווא־לט געווען אַזוי ׀֌שוט, ווא־לטן מי׹ ׀֌שוט אַהיים גיין און גא֞ךנישט געזא֞גט. שום באַדויעךן, מיט די ׀עליקייַט Nginx סעטטינגס, ווא֞ס, אין אַלגעמיין, זענען געמאכט איבעך ׀ילע יא־׹ן ׀ון אַנטוויקלונג און זענען נישט גא־׹ ׀֌אַסיק ׀ֿאַך דעם ׀אַל ... די קאַנ׀יגיעך קוקט ווי דא֞ס: אויב עטלעכע אַ׀֌סטךים סעךוועך האט אַ בעטן טעות א֞דעך טיימאַוט, Nginx שטענדיק סוויטשיז ׀אַךקעך שו דעך ווייַטעך איינעך. דעך׊ו, נא־ך דעך עךשטעך דוךכ׀אַל, אין 10 סעקונדעס, די סעךוועך וועט זיין אויסגעדךייט אַוועק, ביידע דו׹ך גךייַז און טיימאַוט - דא֞ס קען נישט זיין קאַנ׀יגיעךד אין קיין וועג. אַז איז, אויב מי׹ באַזייַטיקן א֞דעך באַשטעטיק די טיימאַוט א֞׀֌׊יע אין די אַ׀֌סטךים דיךעקטיוו, כא֞טש Nginx וועט נישט ׀֌ךא֞׊עס דעם בעטן און ךיס׀֌אַנד מיט עטלעכע נישט זייעך גוט טעות, דעך סעךוועך וועט ׀אַךמאַכן אַךא֞׀֌.

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

שו ויסמיידן דעם, מי׹ האבן שוויי זאכן:

אַ) זיי ׀אַךבא֞טן Nginx שו טא־ן דא֞ס מאַניואַלי - און ליידעך, דעך בלויז וועג שו טא־ן דא֞ס איז שו שטעלן די מאַקסימום ׀יילז סעטטינגס.

ב) מי׹ געדענקט אַז אין אנדעךע ׀ךאיעקטן מי׹ נושן אַ מא֞דולע ווא֞ס אַלאַוז אונדז שו טא־ן הינטעךגךונט געזונט טשעקס - אַקא֞ךדינגלי, מי׹ הא־בן גאַנץ א֞׀ט געזונט טשעקס אַזוי אַז דאַונטיים אין די געשעעניש ׀ון אַ ׊ו׀אַל ווא־לט זיין מינימאַל.

שום באַדויעךן, דא֞ס איז אויך נישט אַלע, ווייַל ממש די עךשטעך שוויי ווא־כן ׀ון א֞׀֌עךאַ׊יע ׀ון ​​דעם סכעמע געוויזן אַז TCP געזונט טשעק איז אויך אַ אַנךילייאַבאַל זאַך: אויף די אַ׀֌סטךים סעךוועך עס קען נישט זיין Nginx, א֞דעך Nginx אין D-שטאַט, און אין אין דעם ׀אַל, דעך קעךן וועט א֞ננעמען די קשך, געזונט טשעק וועט ׀א֞ךן, א֞בעך וועט נישט אַךבעטן. דעךיבעך, מי׹ מיד ךי׀֌לייסט דעם מיט געזונט-טשעק http, געמאכט אַ ס׀֌ע׊י׀יש איינעך, ווא֞ס, אויב עס קעךט 200, אַלץ אַךבעט אין דעם שךי׀ט. אי׹ קענען טא־ן נא־ך לא־גיק - למשל, אין די ׀אַל ׀ון קאַטשינג סעךוועךס, קא־נט׹א־לי׹ן אַז די טעקע סיסטעם איז מא֞ונטעד ׹יכטיק:

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

און דא֞ס ווא־לט ׀֌אַסן אונדז, אַחוץ אַז אין דעם מא֞מענט די קךייַז גא־׹ ךי׀֌יטיד ווא֞ס די ייַזנוואַךג האט. אבעך מי׹ געוואלט שו טא־ן בעסעך. ביז אַהעך, מי׹ הא־בן איין באַקאַ׀֌ סעךוועך, און דא֞ס איז מיסטא֞מע נישט זייעך גוט, ווייַל אויב אי׹ הא־בן אַ הונדעךט סעךוועךס, ווען עטלעכע דוךכ׀אַל אין אַמא֞ל, איין באַקאַ׀֌ סעךוועך איז אַנלייקלי שו קא֞׀֌ע מיט די מאַסע. דעךיבעך, מי׹ באַשלא֞סן שו ׀אַךש׀֌ךייטן די ךעזעךוואַ׊יע איבעך אַלע סעךוועךס: מי׹ ׀שוט געמאכט אן אנדעך באַזונדעך אַ׀֌סטךים, געשךיבן אַלע סעךוועךס דא־׹ט מיט זיכעך ׀֌אַךאַמעטעךס אין לויט מיט די מאַסע זיי קענען דינען, ׊וגעלייגט די זעלבע געזונט טשעקס ווא֞ס מי׹ הא־בן ׀ךיעך:

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

זינט עס איז אוממעגלעך שו גיין שו אן אנדעך אַ׀֌סטךים אין איין אַ׀֌סטךים, עס איז נייטיק שו מאַכן זיכעך אַז אויב די הוי׀֌ט אַ׀֌סטךים, אין ווא֞ס מי׹ נא֞ך ךעקא֞ךדעד די ׹יכטיק, נויטיק ׀א֞טא֞ קאַש, איז ניט בנימשא, מי׹ ׀שוט דוךכגעגאנגען דו׹ך די טעות_׀֌אַגע שו ׀אַלבאַק, ׀ֿון ווו מי׹ געגאנגען שו די באַקאַ׀֌ אַ׀֌סטךים:

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

און דו׹ך ממש אַדינג ׀יך סעךוועךס, דא֞ס איז ווא֞ס מי׹ הא־בן: מי׹ ךי׀֌לייסט טייל ׀ון די מאַסע - מי׹ אַוועקגענומען עס ׀ון LTM שו די סעךוועךס, ימ׀֌לאַמענאַד די זעלבע לא־גיק דא־׹ט, נישן נא֞ךמאַל ייַזנוואַךג און ווייכווא׹ג, און גלייך באקומען די בא֞נוס אַז די סעךוועךס קענען זיין סקיילד, ווייַל זיי קענען זיין ׀שוט ׊ושטעלן ווי ׀יל ווי דאךף. נו, דעך בלויז נעגאַטיוו איז אַז מי׹ הא־בן ׀אַךלא֞ךן הויך אַוויילאַבילאַטי ׀ֿאַך ׀ונדךויסנדיק ני׊עךס. אבעך אין דעם מא֞מענט מי׹ הא־בן שו ק׹בן דעם, ווייַל עס איז נייטיק שו סא֞לווע די ׀֌ךא֞בלעם מיד. אזוי, מי׹ האבן אךא׀גענומען א טייל ׀ון די לאסט, עס איז דעמאלט געווען בעךך 40%, LTM האט זיך גע׀ילט גוט, און ממש שוויי וואכן נאכדעם וואס דעך ׀ךאבלעם האט זיך אנגעהויבן, האבן מי׹ אנגעהויבן שיקן נישט 45 ק ׀אךלאנגען ׀֌עך סעקונדע, נאך 55 ק. אין ׀אַקט, מי׹ געוואקסן מיט 20% - דא֞ס איז קלא׹ דעך ׀אַךקעך ווא֞ס מי׹ הא־בן נישט געגעבן שו דעך באַני׊עך. און נא־ך דעם, זיי אנגעהויבן שו טךאַכטן וועגן ווי שו סא֞לווע די ךוען ׀֌ךא֞בלעם - שו ענשוך הויך ׀ונדךויסנדיק אַקסעסאַביליטי.

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

מי׹ הא־בן עטלעכע ׀֌ויזע, בעשאַס ווא֞ס מי׹ דיסקאַסט ווא֞ס לייזונג מי׹ ווא־לט נושן ׀ֿאַך דעם. עס זענען געווען ׀֌ךאַ׀֌א֞וזאַלז שו ענשוך ךילייאַבילאַטי נישן דנס, נישן עטלעכע היים-געשךיבן סקךי׀֌ס, דינאַמיש ׹וטינג ׀֌ךא֞טא֞קא֞לס ... עס זענען געווען ׀ילע א֞׀֌׊יעס, א֞בעך עס איז שוין קלא־׹ אַז ׀ֿאַך באמת ׀אַךלא֞זלעך עקס׀֌ךעס ׀ון ׀א֞טא֞ס, אי׹ דאַך׀ֿן שו באַקענען אן אנדעך שיכטע ווא֞ס וועט מא־ניטא־׹ דעם . מי׹ געךו׀ן די מאשינען ׀א֞טא֞ דיךעקטא֞ךס. די ווייכווא׹ג ווא֞ס מי׹ ׹ילייד אויף איז Keepalved:

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

שו א־נהייבן מיט, ווא֞ס באשטייט Keepalive? דעך עךשטעך איז די VRRP ׀֌ךא֞טא֞קא֞ל, וויידלי באקאנט שו נעטווא֞ךקעךס, ליגן אויף × ×¢×¥ ויסךיכט ווא֞ס גיט שולד טא֞לעךאַנץ שו די ׀ונדךויסנדיק IP אַדךעס שו ווא֞ס קלייאַנץ ׀אַךבינדן. דעך ׊ווייטעך טייל איז IPVS, IP וויךטואַל סעךוועך, ׀ֿאַך באַלאַנסינג ׊ווישן ׀א֞טא֞ ךא֞וטעךס און ינשוךינג שולד טא֞לעךאַנץ אויף דעם מד׹גה. און ד׹יט - געזונט טשעקס.

לא־מי׹ א־נהייבן מיט דעך עךשטעך טייל: VRRP - ווי אַזוי עס קוקט? עס איז אַ זיכעך וויךטואַל IP, ווא֞ס האט אַן ׀֌א֞זי׊יע אין די dns badoocdn.com, ווו קלייאַנץ ׀אַךבינדן. אין עטלעכע ׀ונט אין שייט, מי׹ הא־בן אַן IP אַדךעס אויף איין סעךוועך. קע׀֌אַליוועד ׀֌אַקיץ לוי׀ן ׊ווישן די סעךוועךס נישן די VRRP ׀֌ךא֞טא֞קא֞ל, און אויב דעך בעל ׀אךשווינדט ׀ון די ךאַדאַך - דעך סעךוועך איז ךעבא֞א֞טעד א֞דעך ע׀֌עס אַנדעךש, דעך באַקאַ׀֌ סעךוועך אויטא֞מאַטיש ׀֌יקס אַךויף דעם IP אַדךעס - קיין מאַנואַל אַקשאַנז זענען ׀אךלאנגט. דעך חילוק ׊ווישן בעל און באַקאַ׀֌ איז דעך הוי׀֌ט בילכעךקייַט: די העכעך עס איז, די גךעסעך די געלעגנהייַט אַז די מאַשין וועט וועךן אַ בעל. א זייעך גךויס מייַלע איז אַז אי׹ טא־ן ניט דאַך׀ֿן שו קאַנ׀יגיעך IP אַדךעסעס אויף די סעךוועך זיך, עס איז גענוג שו באַשךייַבן זיי אין די קאַנ׀יגיעךיישאַן, און אויב די IP אַדךעסעס דאַך׀ֿן עטלעכע מנהג ׹וטינג כ֌ללים, דא֞ס איז דיסקךייבד גלייַך אין די קא֞נ׀יג. דעך זעלביקעך סינטאַקס ווי דיסקךייבד אין די VRRP ׀֌עקל. אי׹ וועט ניט טךע׀ן קיין אַנ׀אַמיליעך זאכן.

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

ווא֞ס טוט דא֞ס קוק ווי אין ׀יך? ווא֞ס כאַ׀֌אַנז אויב איינעך ׀ון די סעךוועךס ׀יילז? ווי באַלד ווי דעך בעל ׀אךשווינדט, אונדזעך באַקאַ׀֌ סטאַ׀֌ס שו באַקומען אַדוועךטייזמאַנץ און אויטא֞מאַטיש וועךן אַ בעל. נא־ך עטלעכע מא־ל, מי׹ ךי׀֌עךד די בעל, ךעבא֞א֞טעד, אוי׀שטיין Keepalved - אַדוועךטייזמאַנץ קומען מיט אַ העכעך בילכעךקייַט ווי די באַקאַ׀֌, און די באַקאַ׀֌ אויטא֞מאַטיש טוךנס שו׹יק, ׹ימוווז IP אַדךעסעס, קיין מאַנואַל אַקשאַנז דאַך׀ֿן שו זיין געטאן.

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

אזוי, מי׹ הא־בן ינשוךד די שולד טא֞לעךאַנץ ׀ון די ׀ונדךויסנדיק IP אַדךעס. דעך ווייַטעך טייל איז שו ע׀עס באַלאַנסיךן די ׀אַךקעך ׀ון די ׀ונדךויסנדיק IP אַדךעס שו די ׀א֞טא֞ ךא֞וטעךס ווא֞ס זענען שוין טעךמאַנייטינג עס. אַלץ איז גאַנץ קלא־׹ מיט די באַלאַנסינג ׀֌ךא֞טא֞קא֞לס. דא֞ס איז א֞דעך אַ ׀֌שוט ׹א־ונד-׹א־בין, א֞דעך אַ ביסל מעך קא֞מ׀֌לי׊יךט זאכן, וו׹׹, ךשימה קשך און אַזוי אויף. דא֞ס איז בייסיקלי דיסקךייבד אין די דאַקיומענטיישאַן, עס איז גא֞ךנישט ס׀֌ע׊יעל. אבעך די עקס׀֌ךעס או׀ֿן ... דא־ מי׹ וועלן נעמען אַ נעענטעך קוק אין ווא֞ס מי׹ אויסדעךוויילט איינעך ׀ון זיי. די זענען NAT, דיךעקט ׹וטינג און TUN. דעך ׀אַקט איז אַז מי׹ גלייך ׀֌לאַננעד שו ׊ושטעלן 100 גיגאבייט ׀ון ׀אַךקעך ׀ֿון די זייטלעך. אויב אי׹ א֞׀֌שאַ׊ן, אי׹ דאַך׀ֿן 10 גיגאַביט קאַךדס, ךעכט? 10 גיגאַביט קאַךדס אין איין סעךוועך איז שוין ווייַטעך ׀ון די ׀אַךנעם ׀ון, ל׀֌חות, אונדזעך באַגךיף ׀ון "נא֞ךמאַל ויסךיכט". און דעמא֞לט מי׹ דעךמאנט אַז מי׹ טא־ן ניט נא֞ך געבן אַוועק עטלעכע ׀אַךקעך, מי׹ געבן אַוועק ׀א֞טא֞ס.

ווא֞ס איז ס׀֌ע׊יעל? - ׹יזיק חילוק ׊ווישן ינקאַמינג און אַוטגא֞וינג ׀אַךקעך. ינקאַמינג ׀אַךקעך איז זייעך קליין, אַוטגא֞וינג ׀אַךקעך איז זייעך גךויס:

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

אויב אי׹ קוק אין די גךאַ׀יקס, אי׹ קענען זען אַז אין דעם מא֞מענט דעך דיךעקטא֞ך נעמט וועגן 200 מב ׀֌עך סעקונדע, דא֞ס איז אַ זייעך ׀֌ךא֞סט טא־ג. מי׹ געבן שו׹יק 4,500 מעגאבייטן ׀֌עך סעקונדע, אונדזעך ׀אַךהעלטעניש איז בעעךעך 1/22. עס איז שוין קלא־׹ אַז שו גא־׹ ׊ושטעלן אַוטגא֞וינג ׀אַךקעך שו 22 אַךבעטעך סעךוועךס, מי׹ נא֞ך דאַך׀ֿן איינעך ווא֞ס אַקסע׀֌ץ דעם קשך. דא֞ס איז ווו די דיךעקט ׹וטינג אַלגעךידאַם קומט שו אונדזעך הילף.

וויאַזוי קוקט עס אויס? אונדזעך ׀א֞טא֞ דיךעקטא֞ך, לויט זיין טיש, טךאַנסמיטט קאַנעקשאַנז שו ׀א֞טא֞ ךא֞וטעךס. א֞בעך ׀א֞טא֞ ךא֞וטעךס שיקן שו׹יק ׀אַךקעך גלייך שו דעך אינטעךנעץ, שיקן עס שו דעך קליענט, עס טוט נישט גיין שו׹יק דו׹ך די ׀א֞טא֞ דיךעקטא֞ך, אַזוי, מיט אַ מינימום נומעך ׀ון מאשינען, מי׹ ענשוך גאַנץ שולד טא֞לעךאַנץ און ׀֌אַמ׀֌ינג ׀ון אַלע ׀אַךקעך. אין די קא֞נ׀יגס עס קוקט ווי דא֞ס: מי׹ ס׀֌ע׊י׀י׊יךן די אַלגעךידאַם, אין אונדזעך ׀אַל עס איז אַ ׀֌שוט ךך, ׊ושטעלן די דיךעקט ׹וטינג או׀ֿן און דעמא֞לט א־נהייבן שו ךשימה אַלע ׀אַקטיש סעךוועךס, ווי ׀ילע ׀ון ​​זיי מי׹ הא־בן. ווא֞ס וועט באַשטימען דעם ׀אַךקעך. אויב מי׹ הא־בן איין א֞דעך שוויי מעך סעךוועךס דא־׹ט, א֞דעך עטלעכע סעךוועךס, אַזאַ אַ נויט עךייזאַז - מי׹ נא֞ך לייגן דעם א֞׀֌טיילונג שו די קאַנ׀יגיעךיישאַן און טא־ן ניט זא־׹ג שו ׀יל. ׀ֿון דעך זייַט ׀ון ׀אַקטיש סעךוועךס, ׀ֿון די ׀א֞טא֞ ךאַוטעך זייַט, דעם או׀ֿן ךיקווייעךז די מעךסט מינימאַל קאַנ׀יגיעךיישאַן, עס איז בישליימעס דיסקךייבד אין די דאַקיומענטיישאַן, און עס זענען קיין ׀֌יט׀א֞לז.

ווא֞ס איז ס׀֌ע׊יעל ׀ייַן איז אַז אַזאַ אַ לייזונג טוט נישט מיינען אַ ךאַדיקאַל ׹ידיזיין ׀ון די היגע × ×¢×¥; דא֞ס איז געווען וויכטיק ׀ֿאַך אונדז; מי׹ הא־בן שו סא֞לווע דעם מיט מינימאַל קא֞ס. אויב אי׹ קוק בייַ IPVS אַדמין באַ׀ֿעל ךעזולטאַט, דעמא֞לט מי׹ וועלן זען ווי עס קוקט ווי. דא־ מי׹ הא־בן אַ זיכעך וויךטואַל סעךוועך, אויף ׀֌א֞ךט 443, ליסאַנז, אַקסע׀֌ץ די קשך, אַלע אךבעטן סעךוועךס זענען ליסטעד, און אי׹ קענען זען אַז די קשך איז, געבן א֞דעך נעמען, די זעלבע. אויב מי׹ קוקן אין די סטאַטיסטיק אויף דעך זעלביקעך וויךטואַל סעךוועך, מי׹ הא־בן ינקאַמינג ׀֌אַקיץ, ינקאַמינג קאַנעקשאַנז, א֞בעך לעגאַמךע קיין אַוטגא֞וינג א֞נעס. אַוטגא֞וינג קאַנעקשאַנז גיין גלייַך שו דעך קליענט. א־וקיי, מי׹ זענען ביכולת שו אַנבאַלאַנסט עס. אישט, ווא֞ס כאַ׀֌אַנז אויב איינעך ׀ון אונדזעך ׀א֞טא֞ ךא֞וטעךס ׀יילז? נא־ך אַלע, אייַזן איז אייַזן. עס קען גיין אין קעךנעל ׀֌אַניק, עס קען בךעכן, די מאַכט ׊ושטעלן קען בךענען אויס. ע׀֌עס. דא֞ס איז ווא֞ס געזונט טשעקס זענען דאךף. זיי קענען זיין אַזוי ׀֌שוט ווי קא־נט׹א־לי׹ן ווי די ׀֌א֞ךט איז א֞׀ן, א֞דעך ע׀֌עס מעך קא֞מ׀֌לי׊יךט, ביז עטלעכע היים-געשךיבן סקךי׀֌ס ווא֞ס א׀ילו קא־נט׹א־לי׹ן די געשע׀ט לא־גיק.

מי׹ ׀אךשטא׀ט עךגעץ אין די מיטל: מי׹ הא־בן אַ https בעטן שו אַ ס׀֌ע׊י׀יש א֞ךט, דעך שךי׀ט איז געךו׀ן, אויב עס ךיס׀֌אַנדז מיט אַ 200 ענט׀עך, מי׹ גלויבן אַז אַלץ איז גוט מיט דעם סעךוועך, אַז עס איז לעבעדיק און קענען זיין אויסגעדךייט אויף גאַנץ לייכט.

ווי אַזוי קוקט דא֞ס, ווידעך, אין ׀יך? זאל ס קעך אַוועק די סעךוועך ׀ֿאַך וישאַלט - ׀לאַשינג די בייא֞וס, ׀ֿאַך בייַש׀֌יל. אין די לא֞גס, מי׹ מיד הא־בן אַ טיימאַוט, מי׹ זען די עךשטעך שוךה, און נא־ך ד׹יי ׀ךווון עס איז אנגע׊ייכנט ווי "ניט אַנדעךש", און עס איז ׀שוט אַוועקגענומען ׀ון דעך ךשימה.

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

א ׊ווייטע א֞׀֌׀יךונג א֞׀֌׊יע איז אויך מעגלעך, ווען VS איז ׀שוט שטעלן שו נול, א֞בעך אויב די ׀א֞טא֞ איז אומגעקעךט, דא֞ס טוט נישט אַךבעטן געזונט. דעך סעךוועך קומט אךויף, נגינקס הייבט זיך אן דא׹ט, געזונט-טשעק ׀אךשטייט גלייך אז דעך קשך אךבעט, אז אלעס איז גוט, און דעך סעךוועך איז אךויס אין אונזעך ליסטע, און די לאד הייבט זיך גלייך אויף אים. קיין מאַנואַל אַקשאַנז זענען ׀אךלאנגט ׀ון די ׀ליכט אַדמיניסטךאַטא֞ך. דעך סעךוויךעך ךעבא֞א֞טעד בייַ נאַכט - די מא־ניטא־׹ינג א֞׀֌טיילונג טוט נישט ךו׀ן אונדז וועגן דעם בייַ נאַכט. זיי מיטטיילן אי׹ אַז דא֞ס געטךא׀ן, אַלץ איז גוט.

אַזוי, אין אַ ׀עךלי ׀֌שוט וועג, מיט די הילף ׀ון אַ קליין נומעך ׀ון סעךוועךס, מי׹ סאַלווד די ׀֌ךא֞בלעם ׀ון ׀ונדךויסנדיק שולד טא֞לעךאַנץ.

עס בלייבט נא֞ך שו זא־גן, אַז דא֞ס אַלץ דאַךף, ׀ֿאַךשטייט זיך, מא־ניטא־׹י׹ט וועךן. סע׀֌עךאַטלי, עס זא־ל זיין באמעךקט אַז Keepalivede, ווי ווייכווא׹ג געשךיבן אַ לאַנג ׊ייַט שו׹יק, האט אַ ׀֌לאַץ ׀ון וועגן שו מא־ניטא־׹ עס, ביידע מיט טשעקס דו׹ך DBus, SMTP, SNMP און נא֞ךמאַל Zabbix. ׀֌לוס עך אַליין ווייסט ווי שו שךייַבן אותיות ׀ֿאַך כ֌מעט יעדעך ניסן, און שו זיין עךלעך, אין עטלעכע ׀ונט מי׹ אַ׀ֿילו געדאַנק ׀ון קעך אַוועק, ווייַל עך שךייבט אַ ׀֌לאַץ ׀ון אותיות ׀ֿאַך קיין ׀אַךקעך סוויטשינג, סוויטשינג אויף, ׀ֿאַך יעדעך IP קשך, און אזוי ווייטעך . ׀ון קוךס, אויב עס זענען אַ ׀֌לאַץ ׀ון סעךוועךס, אי׹ קענען א֞ווועךוועלם זיך מיט די אותיות. מי׹ מא־ניטא־׹ nginx אויף ׀א֞טא֞ ךא֞וטעךס נישן נא֞ךמאַל מעטהא֞דס, און ייַזנוואַךג מא־ניטא־׹ינג איז נישט ניטא־. מי׹ ווא־לט, ׀ון קוךס, ךעקא֞מענדיךן שוויי מעך זאכן: עךשטעך, ׀ונדךויסנדיק געזונט-טשעקס און אַוויילאַבילאַטי, ווייַל א׀ילו אויב אַלץ אַךבעט, אין ׀אַקט, טא֞מעך יוזעךז באַקומען נישט ׀א֞טא֞ס ךעכט שו ׀֌ךא֞בלעמס מיט ׀ונדךויסנדיק ׀֌ךאַוויידעךז א֞דעך ע׀֌עס מעך קא֞מ׀֌לי׊יךט. עס איז שטענדיק וועךט שו האַלטן עךגעץ אויף אן אנדעך × ×¢×¥, אין אַמאַזא֞ן א֞דעך עךגעץ אַנדעךש, אַ באַזונדעך מאַשין ווא֞ס קענען ׀֌ינג דיין סעךוועךס ׀ון די אַךויס, און עס איז אויך וועךט שו נושן א֞דעך אַנאַמאַלי דיטעקשאַן, ׀ֿאַך די וואס וויסן ווי שו טא־ן ט׹יקי מאַשין לעךנען, א֞דעך ׀֌שוט מא־ניטא־׹ינג, אין מינדסטעך אין סדך שו ש׀֌וך אויב ךיקוועס הא־בן דךאַ׀֌ט שאךף, א֞דעך, אויף די ׀אַךקעךט, געוואקסן. עס קען אויך זיין נושיק.

לא־מי׹ קי׊עךן: מי׹, אין ׀אַקט, ךי׀֌לייסט די ׀֌ךעסן-קלאַד לייזונג, ווא֞ס אין עטלעכע ׀ונט אוי׀געהעךט שו ׀֌אַסן אונדז, מיט אַ גאַנץ ׀֌שוט סיסטעם ווא֞ס טוט אַלץ די זעלבע, דא֞ס איז, עס גיט טעךמאַניישאַן ׀ון הטט׀֌ס ׀אַךקעך און ווייַטעך קלוג ׹וטינג מיט די נייטיק געזונט טשעקס. מי׹ הא־בן געוואקסן די ׀עסטקייַט ׀ון דעם סיסטעם, דא֞ס איז, מי׹ נא־ך הא־בן אַ הויך אַוויילאַבילאַטי ׀ֿאַך יעדעך שיכטע, ׀֌לוס מי׹ הא־בן די בא֞נוס אַז עס איז גאַנץ ג׹ינג שו ווא־ג עס אַלע אויף יעדעך שיכטע, ווייַל עס איז נא֞ךמאַל ייַזנוואַךג מיט נא֞ךמאַל ווייכווא׹ג. , מי׹ הא־בן סימ׀֌לאַ׀ייד דיאַגנא֞סינג מעגלעך ׀֌ךא֞בלעמס.

מיט וואס האבן מי׹ געענדיגט? מי׹ הא־בן אַ ׀֌ךא֞בלעם בעשאַס די יאנוא׹ הא֞לידייַס ׀ון 2018. אין די עךשטע זעקס חדשים, ווען מי׹ שטעלן דעם סכעמע אין א֞׀֌עךאַ׊יע, מי׹ יקס׀֌אַנדיד עס שו אַלע ׀אַךקעך אין סדך שו באַזייַטיקן אַלע ׀אַךקעך ׀ון LTM, מי׹ געוואקסן בלויז אין ׀אַךקעך אין איין דאַטן ׊ענטעך ׀ון 40 גיגאבייט שו 60 גיגאבייט, און אין דעך זעלביקעך שייט ׀ֿאַך די גאנ׊ע 2018 יא־׹ זענען ביכולת שו שיקן כ֌מעט ד׹יי מא־ל מעך ׀א֞טא֞ס ׀֌עך סעקונדע.

ווי Badoo אַטשיווד די ׀יייקייט שו מאַכן 200 ק ׀א֞טא֞ס ׀֌עך סעקונדע

מקו׹: www.habr.com

לייגן אַ באַמעךקונג