Yandex అధిక-లోడ్ అప్లికేషన్‌లను సృష్టించడం కోసం వినియోగదారు ఫ్రేమ్‌వర్క్ కోసం కోడ్‌ను తెరిచింది

యాండెక్స్ సర్వర్ ఫ్రేమ్‌వర్క్ యొక్క సోర్స్ కోడ్‌ను ప్రచురించింది, ఇది అసమకాలిక మోడ్‌లో పనిచేసే C++లో అధిక-లోడ్ అప్లికేషన్‌లను సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది. ఫ్రేమ్‌వర్క్ Yandex-స్థాయి లోడ్‌ల క్రింద పరీక్షించబడింది మరియు Yandex Go, Lavka, Delivery, Market మరియు fintech ప్రాజెక్ట్‌ల వంటి సేవల్లో ఉపయోగించబడుతుంది. వినియోగదారు కోడ్ C++లో వ్రాయబడింది మరియు Apache 2.0 లైసెన్స్ క్రింద ఓపెన్ సోర్స్ చేయబడింది.

మైక్రోసర్వీస్ ఆర్కిటెక్చర్‌తో అప్లికేషన్‌లను డెవలప్ చేయడానికి సర్వర్ ఉత్తమంగా సరిపోతుంది. ప్రారంభంలో, యాండెక్స్ టాక్సీ కోసం ఫ్రేమ్‌వర్క్ అభివృద్ధి చేయబడింది, దాని సహాయంతో బృందం ఏకశిలా అప్లికేషన్ నుండి ఆర్కిటెక్చర్‌కు మారింది, ఇది ప్రత్యేక స్వతంత్ర భాగాలను (మైక్రో సర్వీసెస్) అభివృద్ధి చేయడానికి మరియు వాటిని వివిధ అనువర్తనాల్లో ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది. మైక్రోసర్వీస్‌లు స్వయంప్రతిపత్తి కలిగి ఉంటాయి, కాబట్టి ఇలాంటి ఆర్కిటెక్చర్‌పై ఆధారపడిన అప్లికేషన్‌ని అప్‌డేట్ చేయడం మరియు దానికి కొత్త ఫీచర్‌లను జోడించడం సులభం. అందువల్ల, టాక్సీ ఆర్డర్‌ల కోసం డ్రైవర్‌ను కనుగొనే మైక్రోసర్వీస్ ఇదే విధమైన పని కోసం ఉపయోగించబడుతుంది - ఉదాహరణకు, Yandex డెలివరీ ఆర్డర్‌లను నెరవేర్చడానికి కొరియర్‌ను కనుగొనడం. డ్రైవర్ లేదా కొరియర్ రాక సమయాన్ని మరియు అనేక ఇతర పనులను లెక్కించడం ద్వారా కూడా అదే చేయవచ్చు.

ఫ్రేమ్‌వర్క్ ప్రారంభంలో విశ్వసనీయత మరియు సౌలభ్యానికి ప్రాధాన్యతనిస్తూ రూపొందించబడింది మరియు దాని లోపల, అభివృద్ధి, విశ్లేషణలు, పర్యవేక్షణ, డీబగ్గింగ్ మరియు ప్రయోగాలకు అవసరమైన ప్రతిదీ అందించబడుతుంది. ఉదాహరణకు, కంపైలేషన్ దశలో లోపాలను ఎలా పరిష్కరించాలో వినియోగదారు సూచిస్తారు, వివిధ డేటాబేస్‌లతో పని చేయవచ్చు, ఫ్లైలో పారామితులను మార్చవచ్చు మరియు మొదలైనవి. Ubuntu, Debian, Fedora, Arch, Gentoo, macOS సిస్టమ్‌లు, x86, x86_64, AArch64, ఆర్మ్ ఆర్కిటెక్చర్‌లు, GCC 8+ మరియు క్లాంగ్ 9+ కంపైలర్‌లు, C++17, C++20, C++23 స్టాండర్డ్‌లకు మద్దతు ప్రకటించారు.

కూర్పులో DBMS (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL)తో అసమకాలిక పని కోసం డ్రైవర్లు ఉన్నాయి, వివిధ ప్రోటోకాల్స్ (HTTP, HTTPS, GRPC, TCP, UDP, TLS), సమకాలీకరణ కోసం తక్కువ-స్థాయి ప్రిమిటివ్‌ల కోసం అసమకాలికంగా పనిచేసే క్లయింట్లు మరియు సర్వర్లు మరియు ఆపరేటింగ్ సిస్టమ్ యొక్క సామర్థ్యాలకు యాక్సెస్, అలాగే JSON/YAML/BSON ఫార్మాట్‌లలో కాష్, టాస్క్‌లు, పంపిణీ చేయబడిన లాక్‌లు, ట్రేసింగ్, మెట్రిక్‌లు, గణాంకాలు మరియు డేటాతో పని చేయడానికి ఉన్నత-స్థాయి భాగాలు. సర్వీస్ కాన్ఫిగరేషన్‌ను ఆపకుండా, ఫ్లైలో మార్చడానికి ఇది మద్దతు ఇస్తుంది.

ఇంతకుముందు, Yandex దాని ఇతర కీలక సాంకేతికతలను ఓపెన్ ప్రాజెక్ట్‌ల రూపంలోకి బదిలీ చేసింది - ఉదాహరణకు, పంపిణీ చేయబడిన డేటాబేస్ మేనేజ్‌మెంట్ సిస్టమ్ YDB, సెకనుకు మిలియన్ల అభ్యర్థనలను ప్రాసెస్ చేయగల సామర్థ్యం, ​​అలాగే CatBoost మెషిన్ లెర్నింగ్ లైబ్రరీ, Yandex శోధన మరియు ఇతర వాటిలో ఉపయోగిస్తుంది. సేవలు.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి