ეს არის საშინელი სიტყვა PROXY. დატვირთვის განაწილება და დაბალანსება

Odnoklassniki_ru 2011 წლის 21 მარტი, 14:04

Odnoklassniki პროექტის არქიტექტურა და პლატფორმა

Odnoklassniki პროექტის არქიტექტურა და პლატფორმა

ამ პოსტში ვისაუბრებთ 5 წლის განმავლობაში დაგროვილ გამოცდილებაზე მაღალი დატვირთვის პროექტის შენარჩუნების საქმეში. ვიმედოვნებთ, რომ თანამემამულე დეველოპერები დაინტერესდებიან ისწავლონ რას და როგორ ვაკეთებთ, რა პრობლემებსა და სირთულეებს ვაწყდებით და როგორ გავუმკლავდეთ მათ.
ძირითადი სტატისტიკა
2.8 მილიონამდე მომხმარებელი ონლაინ პიკის საათებში
7,5 მილიარდი მოთხოვნა დღეში (150,000 მოთხოვნა წამში პიკის საათებში)
2400 სერვერი, მონაცემთა შენახვის სისტემები
ქსელის ტრაფიკი პიკის საათებში: 32 გბ/წმ
არქიტექტურა
ფენიანი არქიტექტურა:
პრეზენტაციის ფენა (პრეზენტაციის ფენა ან უბრალოდ ვებ სერვერები HTML-ის ფორმირება)
ბიზნეს სერვისების ფენა (სერვერები, რომლებიც უზრუნველყოფენ მონაცემთა შერჩევას და დამუშავებას)
ქეშირების ფენა (ხშირად გამოყენებული მონაცემების ქეშირება)
მდგრადობის ფენა (მონაცემთა ბაზის სერვერი)
საერთო ინფრასტრუქტურის სისტემები (სტატისტიკური აღრიცხვის სისტემები, აპლიკაციების კონფიგურაციები, რესურსების ლოკალიზაცია, მონიტორინგი)
პრეზენტაციის ფენა:
ჩვენ ვიყენებთ საკუთარ ჩარჩოს, რომელიც საშუალებას გვაძლევს ავაშენოთ გვერდების შემადგენლობა JAVA ენა, ჩვენი საკუთარი GUI ქარხნების გამოყენებით (ტექსტის გაფორმება, სიები, ცხრილები, პორტლეტები).
გვერდის შემადგენლობა შედგება დამოუკიდებელი ბლოკებისგან (ჩვეულებრივ პორტლეტებისგან), რაც საშუალებას გაძლევთ განაახლოთ ინფორმაცია ეკრანზე ნაწილებად გამოყენებით AJAX ითხოვს. ნავიგაციის ეს მიდგომა საშუალებას გაძლევთ თავიდან აიცილოთ მუდმივი გადატვირთვებიგვერდები, ამით მნიშვნელოვანი ფუნქციებისაიტი (შეტყობინებები, დისკუსიები და გაფრთხილებები) ყოველთვის ხელმისაწვდომია მომხმარებლისთვის. გარეშე javascript გვერდისრულად ფუნქციონირებს, გარდა GWT-ში დაწერილი ფუნქციებისა - ბმულების შემდეგ, ის უბრალოდ მთლიანად გადახაზულია.
ფუნქციური კომპონენტებიროგორიცაა შეტყობინებები, დისკუსიები და შეტყობინებები, ისევე როგორც ყველა დინამიური ნაწილი (მალსახმების მენიუ, ფოტო ტეგები, ფოტოების დახარისხება, მბრუნავი საჩუქრები) იწერება ჩარჩოს გამოყენებით. Google ვებხელსაწყოების ნაკრები.
მონაცემთა შერჩევა, დამუშავება და ქეშირება:
კოდი იწერება ჯავაში. არის გამონაკლისები - ზოგიერთი მონაცემთა ქეშირების მოდული დაწერილია C და C++ ენებზე.
Java იმიტომ, რომ ეს არის ადვილად განვითარებადი ენა, არის მრავალი განვითარება სხვადასხვა სფეროში, ბიბლიოთეკებში, ღია წყარო პროექტებიჯავაში.
ბიზნეს ლოგიკის დონეზე არის დაახლოებით 25 ტიპის სერვერი/კომპონენტი და ქეში, რომლებიც ერთმანეთთან ურთიერთობენ დისტანციური ინტერფეისების საშუალებით. ყოველ წამში არის დაახლოებით 3,000,000 დისტანციური მოთხოვნა ამ მოდულებს შორის.
მონაცემთა ქეშისთვის გამოიყენება თვითნაწერი მოდული odnoklassniki-cache. ის უზრუნველყოფს მონაცემთა მეხსიერებაში შენახვის შესაძლებლობას Java Unsafe-ის გამოყენებით. ჩვენ ქეშირებთ ყველა მისაწვდომ მონაცემს ხშირი წვდომა. მაგალითად: ინფორმაცია მომხმარებლის პროფილებიდან, მომხმარებელთა ჯგუფებიდან, ინფორმაცია თავად ჯგუფების შესახებ, რა თქმა უნდა, მომხმარებელთა კავშირების გრაფიკი, მომხმარებლებისა და ჯგუფების კავშირების გრაფიკი, მომხმარებლის არდადეგები, ზოგიერთი მეტა ინფორმაცია ფოტოების შესახებ და ა.შ.
მაგალითად, ერთ-ერთ სერვერს, რომელიც ინახავს მომხმარებლის კავშირის გრაფიკს, შეუძლია დაამუშავოს დაახლოებით 16,600 მოთხოვნა წამში პიკის საათში. CPU დაკავებულია 7%-მდე, მაქსიმალური დატვირთვის საშუალო 5 წუთში არის 1.2. გრაფიკის წვეროების რაოდენობა > 85 მილიონია, კავშირები 2500 მილიონი (ორნახევარი მილიარდი). გრაფიკი იკავებს 30 GB მეხსიერებას.
დატვირთვის განაწილება და დაბალანსება:
შეწონილი მრგვალი რობინი სისტემაში;
მონაცემთა ვერტიკალური და ჰორიზონტალური დაყოფა როგორც მონაცემთა ბაზებში, ასევე ქეშირების დონეზე;
სერვერები ბიზნეს ლოგიკის დონეზე იყოფა ჯგუფებად. თითოეული ჯგუფი მართავს სხვადასხვა ღონისძიებებს. არსებობს მოვლენების მარშრუტის მექანიზმი, ე.ი. ნებისმიერი ღონისძიების (ან ღონისძიებათა ჯგუფის) შერჩევა და დასამუშავებლად გაგზავნა შესაძლებელია გარკვეული ჯგუფისერვერები.
სერვისების მართვა ხდება მეშვეობით ცენტრალიზებული სისტემაკონფიგურაციები. სისტემა თავად არის დაწერილი. WEB ინტერფეისის საშუალებით შეგიძლიათ შეცვალოთ პორტლეტების მდებარეობა, კლასტერული კონფიგურაციები, შეცვალოთ ზოგიერთი სერვისის ლოგიკა და ა.შ. შეცვლილი კონფიგურაცია ინახება მონაცემთა ბაზაში. თითოეული სერვერი პერიოდულად ამოწმებს, არის თუ არა განახლებები მასზე გაშვებული აპლიკაციებისთვის. თუ არსებობს, გამოიყენეთ ისინი.
მონაცემები, მონაცემთა ბაზის სერვერები, სარეზერვო ასლები:
მონაცემთა ჯამური რაოდენობა სარეზერვო ასლის გარეშე არის 160 ტბ. მონაცემების შესანახად და მომსახურებისთვის გამოიყენება ორი გამოსავალი - MS SQL და BerkeleyDB. მონაცემები ინახება მინიმუმ ორ ეგზემპლარად. მონაცემების ტიპებიდან გამომდინარე, შეიძლება იყოს ორიდან ოთხამდე ასლი. არსებობს ყველა მონაცემის ყოველდღიური სარეზერვო ასლი. დაგროვილი მონაცემების სარეზერვო ასლები კეთდება ყოველ 15 წუთში. ამ სტრატეგიის შედეგად სარეზერვო ასლიმონაცემთა მაქსიმალური შესაძლო დაკარგვა 15 წუთია.
აღჭურვილობა, მონაცემთა ცენტრები, ქსელი:
გამოიყენება ორმაგი პროცესორიანი, 4 ბირთვიანი სერვერები. მეხსიერების მოცულობა 4-დან 48 გბ-მდე, ფუნქციონალიდან გამომდინარე. მონაცემების ტიპებისა და გამოყენების მიხედვით, ისინი ინახება ან სერვერის მეხსიერებაში, სერვერის დისკებზე ან მათზე გარე სისტემებიშენახვა
ყველა მოწყობილობა განთავსებულია 3 მონაცემთა ცენტრში. საერთო ჯამში დაახლოებით 2400 სერვერი და მონაცემთა შენახვის სისტემაა. მონაცემთა ცენტრები გაერთიანებულია ოპტიკურ რგოლში. ჩართულია ამ მომენტშითითოეულ მარშრუტზე ტევადობა არის 30 გბ/წმ. თითოეული მარშრუტი შედგება ოპტიკური ბოჭკოების წყვილებისგან, რომლებიც ფიზიკურად დამოუკიდებელია ერთმანეთისგან. ეს წყვილები გაერთიანებულია საერთო „მილში“ ფესვის მარშრუტიზატორებზე.
ქსელი იყოფა შიდა და გარე. ქსელები ფიზიკურად გამოყოფილია. სხვადასხვა ინტერფეისისერვერები დაკავშირებულია სხვადასხვა გადამრთველთან და მუშაობს სხვადასხვა ქსელები. გარედან WEB ქსელებისერვერები ურთიერთობენ სამყაროსთან. ავტორი შიდა ქსელიყველა სერვერი ურთიერთობს ერთმანეთთან.
შიდა ქსელის ტოპოლოგია ვარსკვლავია. სერვერები დაკავშირებულია L2 გადამრთველებთან (წვდომის კონცენტრატორები). ეს გადამრთველები დაკავშირებულია მინიმუმ ორი გიგაბიტიანი ბმულით მარშრუტიზატორების აგრეგაციის დასტასთან. თითოეული ბმული მიდის დასტაში ცალკე გადამრთველზე. იმისათვის, რომ ამ არქიტექტურამ იმუშაოს, ჩვენ ვიყენებთ RSTP პროტოკოლს. Თუ საჭიროა, წვდომის კავშირებიაგრეგაციის დასტაზე გადართვა ხორციელდება ორზე მეტი ბმულით. შემდეგ გამოიყენება პორტების ბმული აგრეგაცია.
აგრეგაციის გადამრთველები დაკავშირებულია 10 გბაიტიანი ბმულებით root მარშრუტიზატორებთან, რომლებიც უზრუნველყოფენ მონაცემთა ცენტრებს შორის კომუნიკაციას და კომუნიკაციას. გარე სამყარო.
გამოიყენება კონცენტრატორები და მარშრუტიზატორები Cisco-დან. გარე სამყაროსთან კომუნიკაციისთვის, ჩვენ გვაქვს პირდაპირი კავშირი რამდენიმე მსხვილ სატელეკომუნიკაციო ოპერატორთან
ქსელის ტრაფიკი პიკის საათებში – 32 გბ/წმ
სტატისტიკის სისტემა:
არსებობს ბიბლიოთეკა, რომელიც პასუხისმგებელია მოვლენების აღრიცხვაზე. ბიბლიოთეკა გამოიყენება ყველა მოდულში. ის საშუალებას გაძლევთ დააგროვოთ სტატისტიკა და შეინახოთ ისინი დროებით მონაცემთა ბაზაში. თავად შენახვა ხდება log4j ბიბლიოთეკის გამოყენებით. ჩვენ ჩვეულებრივ ვინახავთ ზარების რაოდენობას, შესრულების მაქსიმალურ, მინიმალურ და საშუალო დროს და შეცდომების რაოდენობას, რომლებიც წარმოიშვა შესრულების დროს.
ყველა სტატისტიკა დროის ბაზებიდან ინახება DWH-ში. ყოველ წუთს, DWH სერვერები მიდიან წარმოების დროებით მონაცემთა ბაზაში და აგროვებენ მონაცემებს. დროებითი მონაცემთა ბაზები პერიოდულად იწმინდება მონაცემებისგან.
კოდის მაგალითი, რომელიც ინახავს სტატისტიკას გაგზავნილი შეტყობინებების შესახებ:
საჯარო void sendMessage(სტრიქონის შეტყობინება) (გრძელი startTime = LoggerUtil.getMeasureStartTime(); სცადეთ (/** * ბიზნეს ლოგიკა - გაგზავნეთ შეტყობინება */ LoggerUtil.operationSuccess(LogFactory.getLog((log-ის დამატების სახელი)), startTime, " messageService", "sendMessage"); ) catch (გამონაკლისი e) (LoggerUtil.operationFailure(LogFactory.getLog((log's appender name)), startTime, "messageService", "sendMessage"); ) )

ჩვენი DWH სისტემა ინახავს ყველა სტატისტიკას და უზრუნველყოფს ინსტრუმენტებს მათი ნახვისა და ანალიზისთვის. სისტემა დაფუძნებულია Microsoft-ის გადაწყვეტილებებზე. მონაცემთა ბაზის სერვერები – MS SQL 2008, ანგარიშის გენერირების სისტემა – ანგარიშგების სერვისები. ამჟამად DWH შედგება 13 სერვერისგან, რომლებიც განლაგებულია წარმოებისგან განცალკევებულ გარემოში. ამ სერვერებიდან ზოგიერთი გთავაზობთ ოპერატიული სტატისტიკა(ისინი. ონლაინ სტატისტიკა). ზოგი პასუხისმგებელია ისტორიული სტატისტიკის შენახვაზე და ხელმისაწვდომობაზე. სტატისტიკური მონაცემების საერთო მოცულობა შეადგენს 13 ტბ.
დაგეგმილია OLAP-ის საფუძველზე მრავალგანზომილებიანი სტატისტიკის ანალიზის დანერგვა.

Მონიტორინგი
მონიტორინგი დაყოფილია ორ კომპონენტად:
1. სერვისებისა და ვებსაიტების კომპონენტების მონიტორინგი
2. მონიტორინგის რესურსები (მოწყობილობა, ქსელი)
სერვისების მონიტორინგი პირველადია. ჩვენ გვაქვს საკუთარი მონიტორინგის სისტემა, რომელიც დაფუძნებულია DWH-ის ოპერაციულ მონაცემებზე. არიან მორიგე ოფიცრები, რომელთა მოვალეობაა აკონტროლონ საიტის მუშაობა და რაიმე ანომალიის შემთხვევაში მიიღონ ზომები ამ ანომალიების მიზეზების დასადგენად და აღმოფხვრაზე.
რესურსების მონიტორინგის შემთხვევაში ჩვენ ვაკვირდებით როგორც აღჭურვილობის „ჯანმრთელობას“ (ტემპერატურა, კომპონენტების მუშაობა: CPU, RAM, დისკები და ა.შ.), ასევე სერვერის რესურსის ინდიკატორებს (CPU დატვირთვა, ოპერატიული მეხსიერება, დატვირთვა). დისკის ქვესისტემადა ასე შემდეგ.). აღჭურვილობის „ჯანმრთელობის“ მონიტორინგისთვის ჩვენ ვიყენებთ Zabbix-ს და ვაგროვებთ სტატისტიკას Cacti-ში სერვერისა და ქსელის რესურსების გამოყენების შესახებ.
ყველაზე კრიტიკული ანომალიების შესახებ შეტყობინებები იგზავნება SMS-ით, სხვა შეტყობინებები იგზავნება ელექტრონული ფოსტით.
ტექნოლოგიები:
OS: MS Windows, openSUSE
Java, C, C+. ყველა ძირითადი კოდი იწერება ჯავაში. მონაცემთა ქეშირების მოდულები დაწერილია C და C+-ში.
GWT-ის გამოყენება დინამიკის დასამატებლად WEB ინტერფეისი. მოდულები, როგორიცაა შეტყობინებები, დისკუსიები და გაფრთხილებები დაიწერა GWT-ის გამოყენებით
ვებ სერვერი – Apache Tomcat
ბიზნეს ლოგიკის სერვერები მუშაობს JBoss 4-ზე
ჩატვირთეთ ბალანსერები WEB ფენაზე - LVS. ჩვენ ვიყენებთ IPVS-ს Layer-4-ზე დასაბალანსებლად
Apache Lucene ინდექსაციისა და ძიებისთვის ტექსტური ინფორმაცია
Მონაცემთა ბაზა:
MS SQL 2005 Std გამოცემა. იგი ძირითადად გამოიყენება იმიტომ, რომ იგი ისტორიულად განვითარდა ამ გზით. MS SQL სერვერები გაერთიანებულია ფაილვერის კლასტერში. თუ ერთ-ერთი სამუშაო კვანძი ვერ ხერხდება, ლოდინის კვანძი იღებს მის ფუნქციებს
BerkeleyDB - BDB-თან მუშაობისთვის გამოიყენება საკუთარი შიდა ბიბლიოთეკა. ჩვენ ვიყენებთ BDB, C იმპლემენტაციას, ვერსია 4.5. ორკვანძიანი master-slave კასეტური. არსებობს მშობლიური BDB რეპლიკაცია ბატონსა და მონას შორის. წერა ხდება მხოლოდ მასტერში, კითხვა ხდება ორივე კვანძიდან. მონაცემები ინახება tmpfs-ში, ტრანზაქციის ჟურნალები ინახება დისკებზე. ჩვენ ვაკეთებთ ჟურნალების სარეზერვო ასლებს ყოველ 15 წუთში. სერვერები იმავე კლასტერში განლაგებულია სხვადასხვა ელექტროგადამცემ ხაზებზე, რათა არ დაკარგონ მონაცემთა ორივე ასლი ერთდროულად.
შემუშავების პროცესშია შენახვის ახალი გადაწყვეტა. ჩვენ გვჭირდება კიდევ უფრო სწრაფი და საიმედო წვდომა მონაცემებზე.
როდესაც სერვერები ერთმანეთთან ურთიერთობენ, ჩვენ ვიყენებთ საკუთარ გადაწყვეტას JBoss Remoting-ის საფუძველზე
SQL მონაცემთა ბაზებთან კომუნიკაცია ხდება JDBC დრაივერების საშუალებით
ხალხი:
პროექტზე 70-მდე ტექნიკური სპეციალისტი მუშაობს. აქედან 40 დეველოპერი, 20 სისტემის ადმინისტრატორი და ინჟინერი, 8 ტესტერი.
ყველა დეველოპერი იყოფა მცირე გუნდებად (1-3 ადამიანი). თითოეული გუნდი მუშაობს დამოუკიდებლად და ანვითარებს ახალი სერვისი, ან მუშაობს არსებულის გასაუმჯობესებლად. თითოეულ გუნდს ჰყავს ტექნიკური ლიდერი ან არქიტექტორი. ის პასუხისმგებელია მომსახურების არქიტექტურაზე, ტექნოლოგიებისა და მიდგომების არჩევანზე. ჩართულია სხვადასხვა ეტაპებიგანვითარების გუნდი შეიძლება შეიცავდეს დიზაინერებს, ტესტერებს და სისტემის ადმინისტრატორები.
მაგალითად, არის ცალკე ბრძანება Groups სერვისისთვის. ან გუნდი, რომელიც ავითარებს საკომუნიკაციო სერვისებს საიტისთვის (როგორიცაა შეტყობინებების სისტემები, დისკუსიები, აქტივობების არხები). არსებობს პლატფორმის გუნდი, რომელიც ამოწმებს, აწარმოებს და ახორციელებს ახალ ტექნოლოგიებს, ოპტიმიზაციას უკეთებს არსებული გადაწყვეტილებები. ამჟამად, ამ გუნდის ერთ-ერთი ამოცანაა მონაცემთა შენახვის მაღალსიჩქარიანი და საიმედო გადაწყვეტის შემუშავება და დანერგვა.
ძირითადი პრინციპები და მიდგომები განვითარებაში
განვითარება ხორციელდება მცირე გამეორებებით. Როგორც მაგალითი ცხოვრების ციკლიგანვითარება შეიძლება მიეცეს 3 კვირიან ციკლს:
კვირა 0 - არქიტექტურის განსაზღვრა
1 კვირა - დამუშავება, ტესტირება დეველოპერის კომპიუტერებზე
კვირა 2 - ტესტირება წინასაწარმოო გარემოზე, გამოშვება საწარმოო გარემოზე

Თითქმის ყველა ახალი ფუნქციონირებახდება "გამორთული". ტიპიური გაშვებაახალი "მახასიათებელი" ასე გამოიყურება:
1. ფუნქციონირება შემუშავებულია და შედის საწარმოო გამოშვებაში
2. ცენტრალიზებული კონფიგურაციის სისტემის მეშვეობით ფუნქციონირება ჩართულია მომხმარებელთა მცირე ნაწილისთვის. გაანალიზებულია მომხმარებლის აქტივობის სტატისტიკა და ინფრასტრუქტურის დატვირთვა
3. თუ წინა ეტაპი წარმატებული იყო, ფუნქციონალობა თანდათან ჩართულია უფრო დიდი აუდიტორიისთვის. თუ გაშვების პროცესში არ მოგვწონს შეგროვებული სტატისტიკა, ან ინფრასტრუქტურის დატვირთვა მიუღებლად იზრდება, მაშინ ფუნქციონირება გამორთულია, მიზეზები გაანალიზებულია, შეცდომები გამოსწორებულია, ხდება ოპტიმიზაცია და ყველაფერი მეორდება პირველი ნაბიჯიდან.

საუკეთესო პრაქტიკა, ხრიკები და რჩევები
DBMS-თან მუშაობის სპეციფიკა:
ვიყენებთ როგორც ვერტიკალურ, ასევე ჰორიზონტალურ დაყოფას, ე.ი. მაგიდების სხვადასხვა ჯგუფი განლაგებულია სხვადასხვა სერვერები(ვერტიკალური დანაყოფი), ხოლო დიდი ცხრილების მონაცემები დამატებით ნაწილდება სერვერებს შორის (ჰორიზონტალური დანაყოფი). DBMS-ში ჩაშენებული დანაწევრების აპარატი არ გამოიყენება - მთელი ლოგიკა განლაგებულია ბიზნეს სერვისების დონეზე.
განაწილებული ტრანზაქციებიარ გამოიყენება - ყველა ტრანზაქცია მხოლოდ ერთ სერვერზეა. მთლიანობის უზრუნველსაყოფად, დაკავშირებული მონაცემები მოთავსებულია 1 სერვერზე ან, თუ ეს შეუძლებელია, მონაცემთა აღდგენის ლოგიკა დამატებით დაპროგრამებულია.
მონაცემთა ბაზის მოთხოვნები არ იყენებს JOIN-ებს, ლოკალურ ცხრილებს შორისაც კი, CPU დატვირთვის შესამცირებლად. ამის ნაცვლად, გამოიყენება მონაცემთა დენორმალიზაცია ან ხდება JOIN-ები ბიზნეს სერვისის დონეზე. ამ შემთხვევაში, JOIN ხდება როგორც მონაცემთა ბაზიდან, ასევე ქეშის მონაცემებით.
მონაცემთა სტრუქტურის შემუშავებისას არ გამოიყენება უცხო კლავიშები, შენახული პროცედურები და ტრიგერები. კიდევ ერთხელ, მონაცემთა ბაზის სერვერების CPU-ზე დატვირთვის შესამცირებლად.
SQL განცხადებები DELETE ასევე გამოიყენება სიფრთხილით - ეს არის ყველაზე მძიმე DML ოპერაცია. ჩვენ ვცდილობთ აღარ წავშალოთ მონაცემები ან არ გამოვიყენოთ წაშლა მარკერის საშუალებით - ჩანაწერი ჯერ მოინიშნება წაშლილად და შემდეგ წაშლილია ფონის პროცესიმაგიდიდან.
ინდექსები ფართოდ გამოიყენება. როგორც რეგულარული, ასევე კლასტერული. უახლესი ოპტიმიზაცია ხშირი მოთხოვნებიმაგიდასთან.
ქეშირება:
ჩვენ ვიყენებთ ჩვენი დიზაინის ქეშ სერვერებს, დანერგილ Java-ში. ზოგიერთი მონაცემთა ნაკრები, როგორიცაა მომხმარებლის პროფილები, სოციალური გრაფიკი და ა.შ. მთლიანად ინახება ქეშში.
მონაცემები დაყოფილია ქეში სერვერების კლასტერზე. დანაყოფის რეპლიკაცია გამოიყენება საიმედოობის უზრუნველსაყოფად.
ზოგჯერ შესრულების მოთხოვნები იმდენად დიდია, რომ გამოიყენება ქეში სერვერებიდან მიღებული მონაცემების ადგილობრივი მოკლევადიანი ქეშები, რომლებიც მდებარეობს უშუალოდ ბიზნეს ლოგიკის სერვერების მეხსიერებაში.
სერვერის ქეში, გარდა ნორმალური ოპერაციები key-value-ს შეუძლია შეასრულოს მოთხოვნები მეხსიერებაში შენახულ მონაცემებზე, რითაც მინიმუმამდე დაიყვანოს არასაჭირო მონაცემების გადაცემა ქსელში. იყენებს map-reduce-ს კლასტერზე მოთხოვნებისა და ოპერაციების შესასრულებლად. Კერძოდ რთული შემთხვევებიმაგალითად, სოციალური გრაფიკის მოთხოვნების განსახორციელებლად, გამოიყენება C ენა, რაც ხელს უწყობს მუშაობის გაუმჯობესებას.
შესანახად დიდი მოცულობებიმეხსიერების მონაცემები იყენებს Java off heap მეხსიერებას Java GC-დან არასაჭირო დატვირთვის მოსაშორებლად.
ქეშების გამოყენება შესაძლებელია ადგილობრივი დისკიმონაცემთა შესანახად, რაც მას აქცევს მაღალი ხარისხის მონაცემთა ბაზის სერვერად.
გვერდის ჩატვირთვის სიჩქარისა და შესრულების ოპტიმიზაცია
ჩვენ ყველა გარე რესურსს (Expires და Cache-Control სათაურები) ქეშით ვაქცევთ. CSS და JavaScript ფაილებიმინიმიზაცია და შეკუმშვა (gzip).
თანხის შესამცირებლად HTTP მოთხოვნებიბრაუზერიდან, ყველა JavaScript და CSS ფაილებიშერწყმა ერთში. პატარები გრაფიკული სურათებიგაერთიანებულია სპრაიტებად.
როდესაც გვერდი იტვირთება, მხოლოდ ის რესურსები იტვირთება, რომლებიც რეალურად საჭიროა დასაწყებად.
არ არის ზოგადი CSS სელექტორები. ჩვენ ვცდილობთ არ გამოვიყენოთ სტანდარტული სელექტორები (ტეგის სახელით).
თუ საჭიროა CSS გამონათქვამები, მაშინ ჩვენ ვწერთ "ერთჯერადი". შეძლებისდაგვარად მოერიდეთ ფილტრებს.
ჩვენ ქეშით ვაქცევთ ზარებს DOM ხეზე, ისევე როგორც ელემენტის თვისებებს, რომლებიც იწვევს ხელახლა გადინებას. ჩვენ ვაახლებთ DOM ხეს ხაზგარეშე.
GWT-ში ჩვენ ვიყენებთ UIBinder და HTMLPanel ინტერფეისების შესაქმნელად.

ბედნიერი კითხვა! ჩვენ მივესალმებით კითხვებს.


მივესალმებით ყველას, ვისაც უყვარს დროის გატარება სოციალურ ქსელებში! პორტალი ვებგვერდითქვენს ყურადღებას სხვას მოაქვს სასარგებლო პუბლიკაცია. ამჯერად ჩვენ გეტყვით, თუ როგორ უნდა გააკეთოთ პროქსი სერვერი VKontakte-სთვის ან Odnoklassniki-სთვის. უფრო ზუსტად, პროქსი სერვერი არ იქნება. ჩვენ გვინდა გიშველოთ გამოყენებისგან ფასიანი მომსახურებარომლებიც გვთავაზობენ შესვლას პროქსის მეშვეობით ფულის სანაცვლოდ. რატომ გადაიხადე, თუ ყველაფრის გაკეთება შეგიძლია უფასოდ?

ამ თემას სტატიაში უკვე შევეხეთ. ვინაიდან VKontakte მარიონეტები და Odnoklassniki მარიონეტები ბევრს უფასოდ ეძებს, აზრი აქვს ამ თემაზე უფრო დეტალურად ვისაუბროთ. რატომ შეიძლება დაგჭირდეთ Odnoklassniki-ში, Contact-ში ან თუნდაც Facebook-ში პროქსის მეშვეობით შესვლა? ეს მარტივია, ამ სოციალურ ქსელებზე წვდომა შეიძლება დაიბლოკოს სამსახურში, ან გამოსასყიდი ვირუსი მოითხოვს ფულს. ჩვენ უკვე გითხარით, და ეს უკეთესია, ვიდრე პროქსის მეშვეობით კონტაქტში ან თანაკლასელებში შესვლა, კომპიუტერში ვირუსის არსებობისას. მაგრამ მოდით დავუბრუნდეთ ჩვენს თემას და გავარკვიოთ, თუ როგორ უნდა შეხვიდეთ VKontakte-სა და Odnoklassniki-ში უფასო პროქსი სერვერის საშუალებით.


მეთოდი პირველი - პროქსი საიტი

არსებობს სპეციალური მარიონეტული საიტების ზღვა, რომლებიც უზრუნველყოფენ წვდომას პროქსი სერვერების საშუალებით. თუ თქვენი IP წვდომა დაბლოკილია და ვერ შედიხართ კონტაქტზე ან ოდნოკლასნიკზე, სცადეთ გამოიყენოთ შემდეგი საიტები. ისინი ყველა თავისუფალია. ეს არის ეგრეთ წოდებული ანონიმიზატორები, რომელთა დახმარებით თქვენ შეგიძლიათ შეხვიდეთ ნებისმიერ ვებსაიტზე პროქსის საშუალებით. ბუნებრივია, თანაკლასელები არ არიან გამონაკლისი კონტაქტში.

აქ არის სამი კარგი უცხოური ანონიმიზატორი, რომელიც საშუალებას გაძლევთ შეხვიდეთ ნებისმიერ საიტზე, არა მხოლოდ Odnoklassniki-სა და VKontakte-ზე:


  • kproxy.com
  • anonymouse.org/anonwww.html
  • hidemyass.com

და ეს არის რუსული ანონიმიზატორები, რომლებსაც ასევე შეუძლიათ დახმარება სოციალურ ქსელში წვდომაში:

  • cameleo.ru
  • daidostup.ru
  • hideme.ru

პრინციპში, ეს საკმარისზე მეტია იმისათვის, რომ შეხვიდეთ კონტაქტში ან ოდნოკლასნიკში სხვა IP მისამართის საშუალებით. სხვათა შორის, ზოგიერთი კომპანია ბლოკავს წვდომას რუსულ ანონიმიზატორებზე, ამიტომ გამოვაქვეყნეთ უცხოური პროქსი საიტებიც. ანონიმიზატორების უპირატესობა ის არის, რომ თქვენ შეგიძლიათ სწრაფად მოხვდეთ დაბლოკილ საიტზე. მინუსი არის ის, რომ თქვენი მონაცემები შეიძლება ჩაითვალოს. ანუ, თუ ასეთი სერვისი მოწოდებულია თავდამსხმელის მიერ, თქვენი ლოგინი და პაროლი თქვენი თანაკლასელებისგან ან კონტაქტებიდან შეიძლება მოიპაროს.

ყველა ეს საიტი შეიძლება შეიცვალოს ანონიმით TOR ბრაუზერი- https://www.torproject.org/. ეს არის ანონიმიზატორი, რომელიც შეიძლება გამოყენებულ იქნას საიტების მუშაობის შესამოწმებლად, თუ რაიმე მიზეზით მათზე წვდომა მიუწვდომელია. მიზანშეწონილია არ შეიყვანოთ პაროლები და შესვლა TOP-ში, არამედ გამოიყენოთ იგი უბრალოდ როგორც ბრაუზერი, რადგან ის არ არის სრულიად უსაფრთხო.

მეთოდი მეორე - პროქსი სერვერების სია

ესეც სახიფათო მეთოდია, მაგრამ აქ მაინც არ დადიხართ ინტერნეტში სხვისი ვებსაიტის საშუალებით. მეთოდი შედგება ბრაუზერის დაყენებისგან, უფრო სწორად, პროქსი სერვერის IP-ისა და პორტის ბრაუზერის პარამეტრებში მითითებით. თქვენს ბრაუზერში პროქსის დასადგენად, ჯერ უნდა იპოვოთ ის. რამდენიმე კარგი უფასო მარიონეტული სერვერია, შეიძლება ითქვას, რომ საერთოდ არ არის. მაგრამ კონტაქტის ან ოდნოკლასნიკის წვდომისთვის საკმარისია ჩვეულებრივი პროქსი სერვერი. თქვენ შეგიძლიათ იპოვოთ პროქსი სერვერების სია შემდეგ მისამართებზე:

  • hideme.ru/proxy-list/
  • www.freeproxylists.net/ru/

პროქსის არჩევის შემდეგ, თქვენ უნდა მიუთითოთ იგი ბრაუზერში. ამისათვის თქვენ უნდა იპოვოთ პროქსის პარამეტრები. ჩვენ ვაჩვენებთ მაგალითით Firefox ბრაუზერი. Წავიდეთ "ინსტრუმენტები""პარამეტრები".

გადადით ჩანართზე "დამატებითი". სხვა ბრაუზერებში, რა თქმა უნდა, სტრუქტურა განსხვავებულია, მაგრამ მნიშვნელობა იგივეა. თქვენ უბრალოდ უნდა იპოვოთ ჩანართი, სადაც არის პროქსი კონფიგურირებული.


სანიშნეის პოვნა "ქსელი"და დააჭირეთ ღილაკს "Მელოდია".

ამის შემდეგ რჩება მხოლოდ პროქსის კონფიგურაცია IP და პორტის შეყვანით. სურათზე ყველაფერი ჩანს.

Სულ ეს არის . ახლა თქვენ იცით, როგორ შეხვიდეთ კონტაქტში ან ოდნოკლასნიკში პროქსი სერვერის საშუალებით. უფრო ხშირად გვესტუმრეთ ვებგვერდი!

ბოროტმა ადმინისტრატორებმა დაბლოკეს წვდომა სოციალურ ქსელებში და ახლა მეგობრებთან კომუნიკაციის საშუალება არ არსებობს? უსიამოვნოა, მაგრამ გამოსავალი ყოველთვის არის. ყველაზე სერიოზულმა მუშაკმაც კი უნდა ამოისუნთქოს და ცოტა დაისვენოს: smile:. თუ Odnoklassniki დაბლოკილია, მაშინ არაფერია უკეთესი, ვიდრე შესვლა ანონიმიზატორის ან პროქსი სერვერის საშუალებით.

ამისთვის ეფექტური გამოყენებაარ არის საჭირო სპეციალიზებული ცოდნა, არ არის საჭირო პარამეტრების შეცვლა ლოკალური ქსელიდა მავნე სისტემის ადმინისტრატორები ვერც კი გამოიცნობენ, რომ ადამიანები, რომლებსაც არ ესმით კომპიუტერული პროგრამები, მოვახერხე მათ გარშემო შემოვლა: smile:. და ისე, რომ თქვენმა მეგობრებმაც კი ვერ შეამჩნიონ თქვენი ონლაინ ყოფნა, გირჩევთ.

ანონიმიზატორების მუშაობის პრინციპი წარმოუდგენლად მარტივია: კერძოდ, ისინი მალავენ IP მისამართებს. უბრალოდ გადადით Odnoklassniki-ის პროქსი სერვერზე, შედით მომხმარებლის სახელით და პაროლით თქვენს სოციალური ქსელის ანგარიშზე და ისიამოვნეთ დიდი ხნის ნანატრი კომუნიკაციით მეგობრებთან და ნაცნობებთან, გაიგებთ. მაქსიმუმი, რაც თანამშრომლებს შეუძლიათ ნახონ ტექნიკური დეპარტამენტიეს არის ანონიმიზატორის საიტის მისამართი და პატრონს კიდევ უფრო გაუხარდება: smile:, რადგან საქმიანი სახით მუშაობ და რომელიმე საიტზე ზის.

რა თქმა უნდა, ადმინისტრატორები სულელები არ არიან და აკვირდებიან სამუშაო სიტუაციას. თუ ბოლოს და ბოლოს პროქსი სერვერიშეამჩნევთ და შავ სიაში მოხვდებით, მაშინ დიდი ხნის განმავლობაში არ უნდა ინერვიულოთ, რადგან ჯერ კიდევ ბევრი შესანიშნავი უფასო პროექტია.

უფასო ანონიმიზატორების სია ან როგორ გამოვიყენოთ Odnoklassniki სამსახურში?

არსებობს ბევრი უნივერსალური პროქსი სერვერი, რომელიც მოითხოვს ცოტა ფიქრს. ტვინის გადატვირთვის თავიდან ასაცილებლად, ჩვენ განვიხილავთ მხოლოდ სპეციალიზებულებს, რომლებიც სპეციალურად არის შექმნილი გარკვეული საიტებისთვის ან სოციალური ქსელები. თქვენს პროფილში შესასვლელად თქვენ უბრალოდ უნდა შეიყვანოთ თქვენი მომხმარებლის სახელი და პაროლი.

  1. cameleo.ru (Chameleon) არის ერთ-ერთი ყველაზე პოპულარული უნივერსალური ანონიმიზატორი SMS-ის გარეშე საიტებისთვის VKontakte, Odnoklassniki, Mamba. მშვენივრად მუშაობს ინტერნეტში მომხმარებლის აქტივობის დამალვისას.
  2. daidostup.ru არის კიდევ ერთი შესანიშნავი უფასო პროქსი სერვერი საუკეთესო სოციალური ქსელებისთვის.
  3. unlumen.ru – სერვისი საშუალებას მოგცემთ შეხვიდეთ odnoklassniki, vk, facebook, youtube. გარდა ამისა, არსებობს უფასო უნივერსალური ანონიმიზატორების სია.
  4. webmurk.ru არის ანონიმიზატორი Odnoklassniki-ში შესვლისთვის.
  5. diazoom.ru – შექმნილია თქვენს საყვარელ სოციალურ ქსელში მოსახერხებელი კომუნიკაციისთვის.
  6. od.runovosti.info არის კარგი უფასო პროქსი სერვერი Odnoklassniki-სთვის.
  7. od.yourdaynews.biz - სპეციალიზებული სერვისი odnoklassniki.ru-ს ქვეშ.
  8. o.antiblock.ru – იძლევა წვდომას SMS-ის გარეშე.
  9. ოდნოკლასნიკში უფასოდ შესვლის სია dostupest.ru სერვისის მიერ მოწოდებული ანონიმიზატორების საშუალებით:

გამარჯობა მეგობრებო! გადავწყვიტე გავმხდარიყავი და მემუშავა კლასელებიმეშვეობით მარიონეტული. დიახ, დიახ, სწორად გაიგეთ. გამბედაობა მოვიკრიბე და 20 ცალი ვიყიდე ცნობილ ფორუმზე ერთი მონაწილისგან მოწვევისთვის. OD. ამ ადამიანის სახელი სკაიპში არის proxyseller.ru(რაც, თუმცა, მაშინვე მიუთითებს, რომ მას აქვს ვებსაიტი). დიდხანს არ ვითხრიე, უბრალოდ დავაკაკუნე და შეკვეთა გავუკეთე. საღამოს უკვე მოვიწვიე მარიონეტული პირის მეშვეობით, თავს "ნამდვილ შემდუღებელს" ვგრძნობდი.

ვლადის უკეთ გაცნობის შემდეგ ვთხოვე დამეწერა მისი პოსტი ჟურნალი Mashkonogoდა მითხარი მეტი რა არის პროქსი და როგორ გამოვიყენოთ იგი დამწყებთათვის. ის დათანხმდა. მე მას სიტყვას ვაძლევ:

« ჯგუფების პოპულარიზაცია ოდნოკლასნიკშიპროქსის მეშვეობით არის ერთ-ერთი ყველაზე ეფექტური გზები სწრაფი დაწინაურებათემები. უპირველეს ყოვლისა, თქვენ უნდა განსაზღვროთ ტერმინები.

პროქსიარის კომპიუტერული შუამავალი. ნებისმიერი მოთხოვნა ეგზავნება მას, ის ამუშავებს მათ და აგზავნის პასუხს.

IP არის კომპიუტერის მისამართი ინტერნეტში.პროქსიებთან დაკავშირებული პრობლემების უმეტესობა დაკავშირებულია IP-სთან. Odnoklassniki-ს სტუმრობენ პროქსის მეშვეობით სხვადასხვა თაღლითებისთვის, სპამის ელ. ფოსტის, მოწვევის და სხვა პროგრამების გამოყენებით, რომლებიც მუშაობენ საიტთან. პოპულარიზაციისთვის პროგრამების გამოყენებისას, შეგიძლიათ გააკეთოთ პროქსის გარეშე. ამ შემთხვევაში, მუშაობა იწყება 1 ძაფით, ხოლო პაუზები უფრო გრძელია. ეს ტაქტიკა საშუალებას გაძლევთ დაიცვათ თქვენი ანგარიში აკრძალვისა და სხვა შესაძლო პრობლემებისგან.

მარიონეტების ძირითადი ტიპები

✔ HTTP პროქსი ყველაზე გავრცელებულია. ამ ტიპის პროქსი იყენებს http პროტოკოლს. არსებობს HTTP პროქსი:
სუპერ ანონიმური, რომელიც მალავს არა მხოლოდ IP-ს, არამედ თავად პროქსის გამოყენებას.
ანონიმური - მალავს IP-ს, მაგრამ ამავე დროს აცნობებს ანონიმური პროქსი სერვერის გამოყენებას.
არა ანონიმური - არ დამალოთ IP. ისინი მხოლოდ ინტერნეტის დაჩქარებას ემსახურებიან.

SOCKS პროქსიმუშაობა ნებისმიერთან გადაცემული ინფორმაცია. SOCKS მარიონეტები სუპერ ანონიმურია, ისინი მალავენ სერვერს და რეალურ IP-ს. არსებობს სოქსის 2 ტიპი:
SOCKS 5 - მუშაობს TCP/IP პროტოკოლით, დისტანციური DNS მოთხოვნით, ავტორიზაციით და UDP.
SOCKS 4 - მუშაობს ექსკლუზიურად TCP/IP პროტოკოლით.

პროქსის გამოყენებისას Odnoklassniki-მ შეიძლება გამოავლინოს შემდეგი პრობლემები

ყველაზე გავრცელებული პრობლემაა ანგარიშის ავტორიზაციის შეცდომა. საიტმა შეიძლება მოგთხოვოთ შეიყვანოთ captcha, დაადასტუროთ თქვენი ტელეფონის ნომერი ან გამოიცნოთ თქვენი მეგობრები. ანგარიშის გაყინვა და დაბლოკვა ან გარკვეული ქმედებები. უმეტეს შემთხვევაში, პრობლემები მოგვარდება, თუ ამოიღებთ მარიონეტული.

რატომ კრძალავს Odnoklassniki ანგარიშებს პროქსის მეშვეობით?

პროქსიარა მხოლოდ თქვენ ყიდულობთ, არამედ ათასობით სხვა ადამიანსაც, ვისაც სურს მათი ჯგუფის პოპულარიზაცია. და ყველაფერი, რასაც ისინი აგზავნიან, ყალბია, მათი ანგარიშები აკრძალულია და მათი IP აკრძალულია ან დამატებულია სპამის მონაცემთა ბაზაში. საიტი ხედავს, რომ ყოველდღიურად ათასობით ექაუნთი შედის 1 IP-ში - იწვევენ ადამიანებს ჯგუფში, ამატებენ მეგობრებს, აგზავნიან შეტყობინებებს. თუ ბევრი ანგარიშები უკავშირდება ერთ მარიონეტს, მაშინ პროქსი, რომელიც გადასცემს მათ ყველა მოთხოვნას, ეჭვი ეპარება ანგარიშებთან ერთად.

როგორ მოვახდინოთ ჯგუფების პოპულარიზაცია ოდნოკლასნიკში პროქსის მეშვეობით და არ დავეკრძალოთ?

1. არ არსებობს იაფი კარგი მარიონეტები.
2. პირადი პროქსი არის საუკეთესო და უმაღლესი ხარისხის. ისინი იყიდება ინდივიდუალურად და თქვენს გარდა არავინ იყენებს.
3. ძვირადღირებული მარიონეტები. მათი ერთადერთი ნაკლი მაღალი ფასი, მაგრამ თუ არ გინდა აკრძალვა, მაშინ ამ ტიპისპროქსი არის ზუსტად ის, რაც გჭირდებათ ოდნოკლასნიკის პრომოუშენისთვის უსაფრთხო პროქსისთვის.

როგორ დავიცვათ თქვენი ანგარიშები დაბლოკვისგან

1. შეძენის შემდეგ შეამოწმეთ პროქსი სპამის მონაცემთა ბაზაში. არ გამოიყენოთ მათში განთავსებული მარიონეტები, თუ, რა თქმა უნდა, არ აფასებთ თქვენს ანგარიშებს.
2. თუ ანგარიშები ცოტაა, მაშინ უმჯობესია იმუშაოთ ერთ თემაში და ყველა მოქმედება სათითაოდ შესრულდეს. გარდა ამისა, საჭიროა ხანგრძლივი პაუზების გაკეთება.
3. თუ ბევრი ანგარიში გაქვთ, მაშინ ნუ გარისკავთ და ჯგუფების პოპულარიზაცია ოდნოკლასნიკშიგამოყენება ინდივიდუალური მარიონეტები.
4. არ არის საჭირო მარიონეტების შეცვლა ყოველდღე.

პროქსი-გამყიდველი არის ოდნოკლასნიკის ჯგუფების უსაფრთხოებისა და მაღალი ხარისხის პოპულარიზაციის გარანტი.

ჩვენ ვყიდით კერძო მარიონეტებიექსკლუზიურად ერთ ხელში, რაც უზრუნველყოფს აბსოლუტურ უსაფრთხოებას და გამორიცხავს თქვენი ანგარიშების აკრძალვას. ჩვენი ონლაინ მონაცემთა ბაზა შეიცავს დიდი თანხადამოწმებული და მოქმედი მარიონეტები. გაყიდვამდე ყველა პროქსი საგულდაგულოდ შემოწმდება რეალურ დროში მრავალი პარამეტრის მიხედვით: კავშირის სიჩქარე, პინგ, ანონიმურობის ხარისხი და ტიპი, ქვეყანა). შეუკვეთეთ ჩვენგან საჭირო თანხაპროქსი სერვერები სწორი ტიპიდა უზრუნველყოს ჯგუფების მაღალი ხარისხის და უსაფრთხო პოპულარიზაცია ოდნოკლასნიკში“.

ვლადისთვის ყველა შეკითხვა შეიძლება დაისვას ამ ფორმის საშუალებით, საგნის სიტყვის მითითებით პროქსი.



გაქვთ შეკითხვები?

შეატყობინეთ შეცდომას

ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს: