Fa'afefea ona fua mai le 1 i le 100 tagata fa'aoga

Le tele o amataga ua oʻo i lenei mea: o le toʻatele o tagata fou e lesitala i aso uma, ma o loʻo tauivi le au atinaʻe e faʻaauau pea le auaunaga.

Ose fa'afitauli manaia le i ai, ae e itiiti ni fa'amatalaga manino i luga o le upega tafa'ilagi e uiga i le fa'avasegaina ma le fa'aeteete o se 'upega tafa'ilagi mai le leai i le fiaselau afe o tagata fa'aoga. E masani lava o lo'o i ai vaifofo mu po'o vaifofo fagu (ma e masani ona lua). O le mea lea, e faʻaaogaina e tagata ni auala faʻapitoa e faʻalautele ai a latou galuega amateur i se mea e sili ona ogaoga.

Tatou taumafai e faamama le faamatalaga ma tusi i lalo le fua faavae. O le a matou fuaina la matou saite fou e fa'asoa ai ata Graminsta i lea la'asaga mai le 1 i le 100 tagata fa'aoga.

Seʻi o tatou tusi i lalo po o ā ni gaoioiga patino e manaʻomia ona fai pe a faateleina le aofia i le 10, 100, 1000, 10 ma le 000 tagata.

1 tagata fa'aoga: 1 masini

Toeitiiti lava o talosaga uma, pe o se upega tafaʻilagi poʻo se telefoni feaveaʻi, e tolu vaega autu:

  • API
  • fa'amaumauga
  • tagata o tausia (pepa feavea'i lava po'o le upega tafa'ilagi)

O lo'o teuina e le database fa'amaumauga tumau. O le API o lo'o tu'uina atu talosaga i ma fa'ata'amilo i nei fa'amaumauga. E tu'uina atu e le kalani fa'amatalaga i le tagata fa'aoga.

Na ou oʻo mai i le faaiuga e sili atu ona faigofie le talanoa e uiga i le faʻavasegaina o se talosaga pe afai, mai se vaaiga faʻapitoa, o le tagata o tausia ma API faʻalapotopotoga ua matua vavaeeseina.

A amata ona matou fausia se talosaga, o vaega uma e tolu e mafai ona faʻatautaia i luga o le server e tasi. I nisi o itu, e tutusa lea ma le tatou siosiomaga atinaʻe: e tasi le inisinia e faʻatautaia le database, API, ma le tagata faʻatau i luga o le masini lava e tasi.

I le talitonuga, e mafai ona matou faʻapipiʻiina i le ao i luga o se tasi DigitalOcean Droplet poʻo AWS EC2 faʻataʻitaʻiga, e pei ona faʻaalia i lalo:
Fa'afefea ona fua mai le 1 i le 100 tagata fa'aoga
Faatasi ai ma lena tala, afai e sili atu ma le tasi le tagata faʻaoga i luga o se 'upega tafaʻilagi, e toetoe lava a talafeagai i taimi uma le tuʻuina atu o se faʻamaumauga faʻamaumauga.

10 tagata faʻaoga: faʻanofoina le database i se tulaga ese

O le vaevaeina o fa'amaumauga i 'au'aunaga fa'afoe e pei o le Amazon RDS po'o le Digital Ocean Managed Database o le a aoga lelei mo i tatou mo se taimi umi. E sili atu le taugata nai lo le faʻafeiloaʻi e le tagata lava ia i luga o se masini e tasi poʻo le EC2 faʻataʻitaʻiga, ae faʻatasi ai ma nei auaunaga e te maua ai le tele o faʻaopoopoga aoga mai le atigipusa o le a faʻaaogaina i le lumanaʻi: tele-religion backup, faitau kopi, otometi. faaleoleo, ma isi mea.

E fa'apea le faiga i le taimi nei:
Fa'afefea ona fua mai le 1 i le 100 tagata fa'aoga

100 tagata faʻaoga: faʻanofoina le kalani i se tulaga ese

O le mea e lelei ai, o matou tagata faʻaoga muamua na fiafia tele i la matou talosaga. Ua amata ona mautu le ta'avale, o lea ua o'o i le taimi e siitia ai le tagata o tausia i se tulaga ese. E tatau ona maitauina e faapea tete'a o fa'alapotopotoga o se itu taua o le fausiaina o se fa'aoga fa'alautele. A'o maua e se tasi vaega o le faiga le tele o fefa'ataua'iga, e mafai ona tatou vaeluaina e fa'atonutonu ai le fua o le 'au'aunaga e fa'atatau i fa'asologa o ta'avale fa'apitoa.

O le mea lea ou te fiafia e mafaufau i le kalani e ese mai le API. O lenei mea e matua faigofie ai ona mafaufau e uiga i le atinaʻeina mo le tele o faʻavae: upega tafaʻilagi, upega tafaʻilagi feaveaʻi, iOS, Android, talosaga i luga o le komepiuta, auaunaga isi vaega, ma isi. Ua na o tagata faʻatau uma e faʻaaoga le API tutusa.

Mo se faʻataʻitaʻiga, i le taimi nei o matou tagata faʻaoga e masani ona talosaga e faʻamalolo se talosaga feaveaʻi. Afai e te tu'u'ese'ese le kalani ma fa'alapotopotoga API, o le a faigofie.

E fa'apea le faiga fa'apea:

Fa'afefea ona fua mai le 1 i le 100 tagata fa'aoga

1000 tagata faʻaoga: faʻaopoopo le paleni o uta

O lo'o va'ai i luga mea. O loʻo faʻapipiʻiina e tagata faʻaoga Graminsta le tele o ata. Ua faatupulaia foi le numera o lesitala. O le matou API server e to'atasi o lo'o faigata ona fa'atautaia femalagaiga uma. Manaomia nisi uamea!

O le paleni o uta o se manatu malosi tele. O le manatu autu o le tuʻuina lea o se paleni uta i luma o le API, ma tufatufa atu fefaʻatauaiga i faʻataʻitaʻiga auaunaga taʻitasi. O le auala lea tatou te fuaina ai i luga ole laiga, o lona uiga tatou te faʻaopoopo nisi sapalai ma le code tutusa, faʻateleina le numera o talosaga e mafai ona tatou faʻatinoina.

O le a matou tuʻu ese'ese paleni uta i luma o le upega tafaʻilagi ma luma ole API. O lona uiga e mafai ona e fa'atautaia le tele o taimi e fa'aogaina ai le API code ma le web client code. Ole load balancer ole a fa'atonu talosaga ile server e itiiti le utaina.

O iinei tatou te maua ai se isi faʻamanuiaga taua - toe faʻaaogaina. A le manuia se tasi faʻataʻitaʻiga (atonu ua ova le uta pe paʻu), o loʻo totoe i tatou ma isi o loʻo faʻaauau pea ona tali atu i talosaga o loʻo oʻo mai. Afai e na'o le tasi le fa'ata'ita'iga o lo'o galue, o le a fa'aletonu le faiga atoa.

E maua ai fo'i e le load balancer le fuaina otometi. E mafai ona matou faʻatulagaina e faʻateleina le numera o faʻataʻitaʻiga aʻo leʻi oʻo i le uta maualuga, ma faʻaititia pe a momoe tagata uma.

Fa'atasi ai ma le paleni o uta, ole maualuga ole API e mafai ona fa'asalaina toetoe lava a le fa'agata, na'o le fa'aopoopoina o mea fou a'o fa'atupula'ia le numera o talosaga.

Fa'afefea ona fua mai le 1 i le 100 tagata fa'aoga

Manatua. I le taimi nei o la matou faiga e talitutusa lava ma kamupani PaaS e pei o Heroku poʻo Elastic Beanstalk i luga o le AWS ofo mai fafo o le pusa (o le mea lea e lauiloa ai). E tu'u e Heroku le fa'amaumauga i luga o se isi 'au'aunaga, fa'afoeina se fa'asoa fa'atatau o uta, ma fa'atagaina oe e fa'afeiloa'i ese'ese mai le API. Ole mafua'aga sili lea e fa'aoga ai Heroku mo galuega amata po'o amataga - e te maua uma auaunaga fa'avae mai le pusa.

10 tagata fa'aoga: CDN

Atonu sa tatau ona tatou faia lenei mea mai lava i le amataga. O le fa'agaioia o talosaga ma le taliaina o ata fou ua amata ona fa'atiga tele ai a tatou 'au'aunaga.

I lenei laʻasaga, e manaʻomia lou faʻaogaina o le ao mo le teuina o mea faʻapitoa - ata, vitio ma sili atu (AWS S3 poʻo Digital Ocean Spaces). I se tulaga lautele, e tatau i la tatou API ona aloese mai le taulimaina o mea e pei o le tuʻuina atu o ata ma le lafoina o ata ile server.

O le isi faʻamanuiaga o le faʻapipiʻiina o le ao o le CDN (AWS e taʻua lenei faʻaopoopoga Cloudfront, ae o le tele o kamupani teu oloa e ofoina atu mai le pusa). O le CDN e otometi lava ona teuina a tatou ata i nofoaga autu o faʻamatalaga i le lalolagi atoa.

E ui lava atonu o loʻo i ai le matou nofoaga autu autu o faʻamatalaga i Ohio, afai e talosagaina e se tasi se ata mai Iapani, o le a faia e le kamupani ao se kopi ma teu i totonu o latou nofoaga autu o faʻamatalaga Iapani. O le isi tagata e talosagaina lenei ata i Iapani o le a sili atu ona vave mauaina. E taua tele pe a tatou galulue i faila tetele, pei o ata poʻo vitio, e umi se taimi e sii mai ai ma faʻasalalau i le lalolagi atoa.

Fa'afefea ona fua mai le 1 i le 100 tagata fa'aoga

100 tagata faʻaoga: faʻavasegaina le faʻasologa o faʻamaumauga

Ua fesoasoani tele le CDN: o loʻo tuputupu aʻe feoaiga i le saoasaoa atoa. O le tusitala vitio lauiloa o Mavid Mobrick na o le resitalaina ma i matou ma lafoina lana "tala", e pei ona latou fai mai ai. Faʻafetai i le paleni o uta, o le CPU ma le faʻaogaina o le mafaufau i luga o le API servers e faʻatumauina maualalo (e sefulu API faʻataʻitaʻiga o loʻo taʻavale), ae ua amata ona matou maua le tele o taimi i luga o talosaga ... o fea e sau ai nei faʻatuai?

O le eliina laʻititi i totonu o fua, matou te vaʻai ai o le PPU i luga o le faʻamaumauga o faʻamaumauga e 80-90% uta. Ua tatou i ai i le tapulaa.

O le fa'avasegaina o le fa'asologa o fa'amaumauga atonu o le vaega pito sili lea ona faigata o le fa'atusa. O lo'o fa'aogaina e 'au'aunaga API ni talosaga e leai ni fa'ailoga, o lea e na'o le fa'aopoopoina o nisi fa'amatalaga API. isu le toatele e le mafai e databases ona faia lenei mea. O le a matou talanoa e uiga i faiga faʻapipiʻi faʻamaumauga taʻutaʻua (PostgreSQL, MySQL, ma isi).

Caching

O se tasi o auala pito sili ona faigofie e faʻateleina ai le faʻatinoga o la matou faʻamaumauga o le faʻalauiloaina lea o se vaega fou: le cache layer. O le auala sili ona taatele o le faʻaogaina o se faleoloa faʻamaumauga autu-taua, pei o Redis poʻo Memcached. O le tele o ao o loʻo i ai se faʻatonuga o nei auaunaga: Elasticache i luga o le AWS ma le Memorystore ile Google Cloud.

E aoga se cache pe a faia e se au'aunaga le tele o telefoni i le database e toe aumai ai fa'amatalaga tutusa. O le mea moni, matou te mauaina le faʻamaumauga naʻo le tasi, teu faʻamatalaga i totonu o le cache, ma aua le toe paʻi i ai.

Mo se faʻataʻitaʻiga, i la matou auaunaga Graminsta, o taimi uma e alu ai se tasi i le itulau faʻamatalaga o le fetu Mobrik, e fesiligia e le API server le database mo faʻamatalaga mai lona talaaga. E tupu pea lava pea lenei mea. Talu ai o faʻamatalaga faʻamatalaga a Mobrik e le suia i talosaga taʻitasi, e sili ona lelei mo le faʻaogaina.

O le a matou faʻaogaina faʻamaumauga mai le database i Redis e ala i le ki user:id fa'atasi ai ma se vaitaimi aoga e 30 sekone. Ia, pe a alu se tasi i le talaaga a Mobrik, matou te siaki muamua Redis, ma afai o loʻo i ai faʻamatalaga, matou te faʻafeiloaʻi saʻo mai Redis. Ole taimi nei ole talosaga ile talaaga sili ona ta'uta'ua i luga ole saite e toetoe lava a le utaina a tatou fa'amaumauga.

O le isi fa'amanuiaga o le tele o 'au'aunaga caching e sili atu ona faigofie le fua nai lo 'au'aunaga fa'amaumauga. Redis o loʻo i ai le faʻaogaina o le Redis Cluster mode. E tutusa ma se paleni uta1, e mafai ai ona e tufatufaina atu lau Redis cache i luga o le tele o masini (i le faitau afe o sapalai pe a manaʻomia).

Toeitiiti lava o faʻaoga tetele uma e faʻaogaina le faʻaoga; o se vaega taua tele o se API vave. Ole fa'agaioiga vave ole fesili ma le tele o fa'ailoga aoga e taua uma, ae a leai se fa'aoga e toetoe lava a le mafai ona fa'atupuina se auaunaga i le faitau miliona o tagata fa'aoga.

Faitau Fa'atusa

A o'o ina fa'atupula'ia tele le numera o fesili i le database, toe tasi le mea e mafai ona tatou faia o le fa'aopoopoina lea o fa'ata'ita'iga faitau i totonu o le fa'atonuga o fa'amaumauga. Faatasi ai ma auaunaga faʻatautaia o loʻo faʻamatalaina i luga, e mafai ona faia lenei mea i le kiliki e tasi. O le kopi faitau o le a tumau i le taimi nei i totonu o faʻamaumauga autu ma o loʻo avanoa mo faʻamatalaga SELECT.

O la matou faiga nei:

Fa'afefea ona fua mai le 1 i le 100 tagata fa'aoga

Laasaga e sosoo ai

A'o fa'aauau pea ona fa'atuputeleina le talosaga, o le a fa'aauau pea ona tu'u'ese'ese 'au'aunaga e fua fa'atasi ai. Mo se faʻataʻitaʻiga, afai tatou te amata faʻaogaina Websockets, ona talafeagai lea o le tosoina o le Websockets processing code i se isi auaunaga. E mafai ona tatou tuʻuina i luga o taimi fou i tua o la tatou lava avega paleni, lea e mafai ona fua i luga ma lalo e faʻavae i luga o fesoʻotaʻiga Websockets tatala ma e tusa lava po o le a le numera o talosaga HTTP.

O le a faʻaauau foi ona matou tau faʻatapulaʻaina i le tulaga o faʻamaumauga. O lea la ua o'o i le taimi e su'esu'e ai le vaeluaga o fa'amaumauga ma le fa'asoa. O auala uma e lua e manaʻomia ai le faʻaopoopoga o luga, ae faʻatagaina oe e fuaina le faʻamaumauga toetoe lava a le uma.

Matou te mananaʻo foʻi e faʻapipiʻi se tautua mataʻituina ma auʻiliʻili pei o New Relic poʻo Datadog. O le a fesoasoani lea ia te oe e iloa ai fesili faifai malie ma malamalama po o fea e mana'omia ai le fa'aleleia. A o matou fuaina, matou te mananaʻo e taulaʻi i le suʻeina o fagu ma faʻaumatia - e masani ona faʻaaoga nisi o manatu mai vaega muamua.

Punaoa

O lenei pou e musuia e se tasi o o mea e sili ona ou fiafia i ai e uiga i le maualuga maualuga. Na ou manaʻo e fai le tusiga ia sili atu ona faʻapitoa mo vaega muamua o galuega faatino ma tatala mai le tasi tagata faʻatau. Ia mautinoa e faitau pe afai e te fiafia i lenei autu.

Faamatalaga pito i lalo

  1. E ui lava e tutusa i tulaga o le tufatufaina atu o uta i le tele o taimi, o le faʻavaeina o le faʻatinoga o le Redis cluster e matua ese lava mai le paleni o uta. [toe fo'i]

Fa'afefea ona fua mai le 1 i le 100 tagata fa'aoga

puna: www.habr.com

Faaopoopo i ai se faamatalaga