{"id":94520,"date":"2020-09-18T07:42:20","date_gmt":"2020-09-18T05:42:20","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah"},"modified":"2020-09-18T07:42:20","modified_gmt":"2020-09-18T05:42:20","slug":"chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah","title":{"rendered":"Mi seg\u00edtett gyorsan \u00e1t\u00e1llni az online kereskedelemre az \u00faj k\u00f6r\u00fclm\u00e9nyek k\u00f6z\u00f6tt","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hell\u00f3!<\/p>\n<p>A nevem Mihail, az IT igazgat\u00f3helyettese vagyok a Sportmaster c\u00e9gn\u00e9l. Szeretn\u00e9k megosztani egy t\u00f6rt\u00e9netet arr\u00f3l, hogyan birk\u00f3ztunk meg a j\u00e1rv\u00e1ny alatt felmer\u00fclt neh\u00e9zs\u00e9gekkel.<\/p>\n<p>Az \u00faj realit\u00e1sok els\u0151 napjaiban a Sportmaster offline kereskedelmi form\u00e1tuma le\u00e1llt, \u00e9s a hozz\u00e1f\u00e9r\u00e9si online csatorn\u00e1nk terhel\u00e9se, k\u00fcl\u00f6n\u00f6sen az \u00fcgyf\u00e9lsz\u00e1ll\u00edt\u00e1s ter\u00e9n, t\u00edzszeres\u00e9re n\u0151tt. P\u00e1r h\u00e9t alatt \u00f3ri\u00e1si offline \u00fczlet\u00fcnket online-ra alak\u00edtottuk, \u00e9s a szolg\u00e1ltat\u00e1st alkalmazkodtattuk \u00fcgyfeleink ig\u00e9nyeihez.<\/p>\n<p>R\u00f6viden, ami l\u00e9nyeg\u00e9ben m\u00e1sodlagos tev\u00e9kenys\u00e9g\u00fcnk volt, az lett a f\u0151 \u00fczlet\u00e1g. Minden egyes online rendel\u00e9s fontoss\u00e1ga dr\u00e1maian megn\u0151tt. Meg kellett \u0151rizn\u00fcnk minden forintot, amit az \u00fcgyf\u00e9l hozott a c\u00e9g sz\u00e1m\u00e1ra.&nbsp;<\/p>\n<p><img decoding=\"async\" alt=\"Mi seg\u00edtett gyorsan \u00e1t\u00e1llni az online kereskedelemre az \u00faj k\u00f6r\u00fclm\u00e9nyek k\u00f6z\u00f6tt\" src=\"\/wp-content\/uploads\/2020\/09\/3e1dfc21636b29259fd29143e4a53f78.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Az \u00fcgyf\u00e9lk\u00e9r\u00e9sek gyors kezel\u00e9s\u00e9re egy tov\u00e1bbi kapcsolattart\u00f3 k\u00f6zpontot nyitottunk a c\u00e9g f\u0151irod\u00e1j\u00e1ban, \u00edgy most heti k\u00f6r\u00fclbel\u00fcl 285 ezer h\u00edv\u00e1st tudunk fogadni. Ugyanakkor 270 boltot \u00e1t\u00e1ll\u00edtottunk az \u00e9rintkez\u00e9s n\u00e9lk\u00fcli \u00e9s biztons\u00e1gos m\u0171k\u00f6d\u00e9s \u00faj form\u00e1tum\u00e1ra, ami lehet\u0151v\u00e9 tette az \u00fcgyfelek sz\u00e1m\u00e1ra a rendel\u00e9seik \u00e1tv\u00e9tel\u00e9t, a munkat\u00e1rsak sz\u00e1m\u00e1ra pedig a munkahelyeik meg\u0151rz\u00e9s\u00e9t.<\/p>\n<p>A transzform\u00e1ci\u00f3 sor\u00e1n k\u00e9t f\u0151 probl\u00e9m\u00e1val tal\u00e1lkoztunk. El\u0151sz\u00f6r is, a terhel\u00e9s a online er\u0151forr\u00e1sainkon \u00e9rz\u00e9kelhet\u0151en megn\u0151tt (err\u0151l Szergej mes\u00e9l majd). M\u00e1sodszor, a COVID el\u0151tt ritka m\u0171veletek sz\u00e1ma t\u00f6bbsz\u00f6r\u00f6s\u00e9re emelkedett, ami gyors automatiz\u00e1l\u00e1st ig\u00e9nyelt. E probl\u00e9ma megold\u00e1s\u00e1hoz gyorsan \u00e1t kellett ir\u00e1ny\u00edtanunk er\u0151forr\u00e1sokat olyan ter\u00fcletekr\u0151l, amelyek kor\u00e1bban f\u0151 tev\u00e9kenys\u00e9gek voltak. Err\u0151l Jelena fog besz\u00e9lni.<\/p>\n<h2>Online szolg\u00e1ltat\u00e1sok \u00fczemeltet\u00e9se<\/h2>\n<p><em>Szergej Kolesznikov, az internet\u00e1ruh\u00e1z \u00e9s mikro-szolg\u00e1ltat\u00e1sok \u00fczemeltet\u00e9s\u00e9\u00e9rt felel\u0151s<\/em><\/p>\n<p>Azt k\u00f6vet\u0151en, hogy a kiskereskedelmi boltjaink z\u00e1rva tartottak a l\u00e1togat\u00f3k el\u0151tt, elkezdt\u00fck \u00e9szlelni a felhaszn\u00e1l\u00f3k sz\u00e1m\u00e1nak, az alkalmaz\u00e1sunkban leadott rendel\u00e9sek sz\u00e1m\u00e1nak \u00e9s a mikro-szolg\u00e1ltat\u00e1sokra ir\u00e1nyul\u00f3 k\u00e9relmek sz\u00e1m\u00e1nak n\u00f6veked\u00e9s\u00e9t.&nbsp;<\/p>\n<p><img decoding=\"async\" alt=\"Mi seg\u00edtett gyorsan \u00e1t\u00e1llni az online kereskedelemre az \u00faj k\u00f6r\u00fclm\u00e9nyek k\u00f6z\u00f6tt\" src=\"\/wp-content\/uploads\/2020\/09\/5094662d75314169328e124d0ae9f5b5.jpg\" style=\"display:block;margin: 0 auto;\" \/>Rendel\u00e9sek sz\u00e1ma m\u00e1rcius 18. \u00e9s 31. k\u00f6z\u00f6tt<img decoding=\"async\" alt=\"Mi seg\u00edtett gyorsan \u00e1t\u00e1llni az online kereskedelemre az \u00faj k\u00f6r\u00fclm\u00e9nyek k\u00f6z\u00f6tt\" src=\"\/wp-content\/uploads\/2020\/09\/4714a5d5595042b66b33f5f93b002734.jpg\" style=\"display:block;margin: 0 auto;\" \/>Mikroszolg\u00e1ltat\u00e1sok online kifizet\u00e9s\u00e9re ir\u00e1nyul\u00f3 k\u00e9relmek sz\u00e1ma<img decoding=\"async\" alt=\"Mi seg\u00edtett gyorsan \u00e1t\u00e1llni az online kereskedelemre az \u00faj k\u00f6r\u00fclm\u00e9nyek k\u00f6z\u00f6tt\" src=\"\/wp-content\/uploads\/2020\/09\/9145afe051f8d4d4da0e00a69d469b92.jpg\" style=\"display:block;margin: 0 auto;\" \/>A weboldalon leadott rendel\u00e9sek sz\u00e1ma<\/p>\n<p>Az els\u0151 grafikonon azt l\u00e1tjuk, hogy a n\u00f6veked\u00e9s k\u00f6r\u00fclbel\u00fcl 14-szeres, m\u00edg a m\u00e1sodik 4-szeres. A legkifejez\u0151bb mutat\u00f3nak a v\u00e1laszid\u0151nk jelz\u0151t tartjuk ebben az alkalmaz\u00e1sainkra.&nbsp;<\/p>\n<p><img decoding=\"async\" alt=\"Mi seg\u00edtett gyorsan \u00e1t\u00e1llni az online kereskedelemre az \u00faj k\u00f6r\u00fclm\u00e9nyek k\u00f6z\u00f6tt\" src=\"\/wp-content\/uploads\/2020\/09\/bfe187bea02c83ce9d9e3286c486f85b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Ezen a grafikonon a frontok \u00e9s alkalmaz\u00e1sok v\u00e1lasz\u00e1t l\u00e1tjuk, \u00e9s sz\u00e1munkra azt \u00e1llap\u00edtottuk meg, hogy igazi n\u00f6veked\u00e9st nem tapasztaltunk.<\/p>\n<p>Els\u0151sorban azzal f\u00fcgg \u00f6ssze, hogy 2019 v\u00e9g\u00e9n elkezdt\u00fck az el\u0151k\u00e9sz\u00fcleteket. Jelenleg szolg\u00e1ltat\u00e1saink rezerv\u00e1ltak, a fizikai szerverek, virtualiz\u00e1ci\u00f3s rendszerek \u00e9s a benn\u00fck l\u00e9v\u0151 szolg\u00e1ltat\u00e1sok szintj\u00e9n biztos\u00edtott a hibat\u0171r\u00e9s. Ezenk\u00edv\u00fcl a szerver er\u0151forr\u00e1saink kapacit\u00e1sa lehet\u0151v\u00e9 teszi a t\u00f6bbsz\u00f6r\u00f6s terhel\u00e9s elvisel\u00e9s\u00e9t.<\/p>\n<p>A legfontosabb eszk\u00f6z, amely seg\u00edtett nek\u00fcnk az eg\u00e9sz t\u00f6rt\u00e9net sor\u00e1n, a saj\u00e1t megfigyel\u0151 rendszer\u00fcnk volt. Igaz, hogy m\u00e9g eg\u00e9szen nemr\u00e9giben nem volt egy egys\u00e9ges rendszer\u00fcnk, amely lehet\u0151v\u00e9 tette volna, hogy metric\u00e1kat gy\u0171jts\u00fcnk minden szinten, a fizikai hardver szintj\u00e9t\u0151l kezdve eg\u00e9szen az \u00fczleti metrik\u00e1kig.&nbsp;<\/p>\n<p>Form\u00e1lisan volt megfigyel\u00e9s a c\u00e9gn\u00e9l, de jellemz\u0151en sz\u00e9tsz\u00f3rt volt, \u00e9s az egyes oszt\u00e1lyok felel\u0151ss\u00e9gi k\u00f6r\u00e9be tartozott. Val\u00f3j\u00e1ban, amikor valamilyen incidens t\u00f6rt\u00e9nt, szinte soha nem volt egys\u00e9ges meg\u00e9rt\u00e9s\u00fcnk arr\u00f3l, mi is t\u00f6rt\u00e9nt, nem volt t\u00e1j\u00e9koztat\u00e1s, \u00e9s gyakran ez k\u00f6rbe-k\u00f6rbe fut\u00e1shoz vezetett a probl\u00e9ma felkutat\u00e1s\u00e1hoz \u00e9s lokaliz\u00e1l\u00e1s\u00e1hoz a k\u00e9s\u0151bbi elh\u00e1r\u00edt\u00e1shoz.<\/p>\n<p>Egy ponton \u00fagy d\u00f6nt\u00f6tt\u00fcnk, hogy eleg\u00fcnk van ebb\u0151l \u2014 sz\u00fcks\u00e9g\u00fcnk van egy egys\u00e9ges rendszerre, hogy l\u00e1thassuk az eg\u00e9sz k\u00e9pet. A f\u0151 technol\u00f3gi\u00e1k, amelyek a stack\u00fcnkbe tartoznak, a Zabbix mint riaszt\u00f3 \u00e9s metrikagy\u0171jt\u0151 k\u00f6zpont, a Prometheus az alkalmaz\u00e1s metrik\u00e1k gy\u0171jt\u00e9s\u00e9re \u00e9s t\u00e1rol\u00e1s\u00e1ra, az ELK stack a logol\u00e1shoz \u00e9s az eg\u00e9sz megfigyel\u0151 rendszer adatainak t\u00e1rol\u00e1s\u00e1hoz, valamint a Grafana a vizualiz\u00e1l\u00e1s\u00e9rt, Swagger, Docker \u00e9s m\u00e1s hasznos \u00e9s ismer\u0151s eszk\u00f6z\u00f6k.<\/p>\n<p>Ezen k\u00edv\u00fcl nem csak a piacon el\u00e9rhet\u0151 technol\u00f3gi\u00e1kat haszn\u00e1ljuk, hanem magunk is fejleszt\u00fcnk egyet s m\u00e1st. P\u00e9ld\u00e1ul integr\u00e1l\u00f3 szolg\u00e1ltat\u00e1sokat k\u00e9sz\u00edt\u00fcnk a rendszerek k\u00f6z\u00f6tt, egy API-t a metrik\u00e1k gy\u0171jt\u00e9s\u00e9re. Emellett saj\u00e1t megfigyel\u0151 rendszereinken is dolgozunk \u2014 az \u00fczleti metrik\u00e1k szintj\u00e9n UI-teszteket haszn\u00e1lunk. Tov\u00e1bb\u00e1 egy Telegram botot is fejleszt\u00fcnk a csapatok \u00e9rtes\u00edt\u00e9s\u00e9re.<\/p>\n<p>Emellett arra t\u00f6reksz\u00fcnk, hogy a megfigyel\u0151 rendszert hozz\u00e1f\u00e9rhet\u0151v\u00e9 tegy\u00fck a csapatok sz\u00e1m\u00e1ra, hogy \u00f6n\u00e1ll\u00f3an t\u00e1rolhass\u00e1k metrik\u00e1ikat \u00e9s dolgozhassanak vel\u00fck, bele\u00e9rtve a riaszt\u00e1sok be\u00e1ll\u00edt\u00e1s\u00e1t is bizonyos sz\u0171k metrik\u00e1kra, amelyek nem \u00e1ltal\u00e1nos alkalmaz\u00e1snak sz\u00e1m\u00edtanak.&nbsp;<\/p>\n<p>A rendszer keretein bel\u00fcl c\u00e9lunk a proaktivit\u00e1s \u00e9s a lehet\u0151 leggyorsabb incidenslokaliz\u00e1l\u00e1s. Emellett a mikroszolg\u00e1ltat\u00e1saink \u00e9s rendszereink sz\u00e1ma az ut\u00f3bbi id\u0151ben jelent\u0151sen n\u0151tt, ennek megfelel\u0151en n\u00f6vekszik az integr\u00e1ci\u00f3k sz\u00e1ma is. Az incidensdiagnosztikai folyamat optimaliz\u00e1l\u00e1sa \u00e9rdek\u00e9ben olyan rendszert fejleszt\u00fcnk, amely lehet\u0151v\u00e9 teszi a rendszerek k\u00f6z\u00f6tti ellen\u0151rz\u00e9sek elv\u00e9gz\u00e9s\u00e9t \u00e9s az eredm\u00e9nyek ki\u00e9rt\u00e9kel\u00e9s\u00e9t, ami seg\u00edt felt\u00e1rni az importokkal \u00e9s a rendszerek k\u00f6z\u00f6tti egy\u00fcttm\u0171k\u00f6d\u00e9ssel kapcsolatos alapvet\u0151 probl\u00e9m\u00e1kat.&nbsp;<\/p>\n<p>Term\u00e9szetesen m\u00e9g van hova fejl\u0151dn\u00fcnk a rendszerek \u00fczemeltet\u00e9se ter\u00e9n, \u00e9s akt\u00edvan dolgozunk ezen. A megfigyel\u0151 rendszer\u00fcnkr\u0151l b\u0151vebben olvashatsz itt. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/517678\/\"><u>itt<\/u><\/a><\/noindex>.&nbsp;<\/p>\n<h2>M\u0171szaki tesztek&nbsp;<\/h2>\n<p><em>Szergej Orlov, a web- \u00e9s mobilfejleszt\u00e9si kompetencia k\u00f6zpont vezet\u0151je<\/em><\/p>\n<p>A fizikai bolt bez\u00e1r\u00e1s\u00e1t k\u00f6vet\u0151en k\u00fcl\u00f6nb\u00f6z\u0151 kih\u00edv\u00e1sokkal kellett szemben\u00e9zn\u00fcnk a fejleszt\u00e9s szempontj\u00e1b\u00f3l. Els\u0151sorban a terhel\u00e9s hirtelen n\u00f6veked\u00e9se volt a kih\u00edv\u00e1s. Nyilv\u00e1nval\u00f3, hogy ha nem tesz\u00fcnk megfelel\u0151 int\u00e9zked\u00e9seket, akkor a rendszer magas terhel\u00e9s al\u00e1 helyezve szomor\u00fa puffan\u00e1ssal t\u00f6k form\u00e1j\u00e1ba v\u00e1ltozhat, vagy teljesen cs\u00f6kkenhet a teljes\u00edtm\u00e9nye, vagy ak\u00e1r el is vesz\u00edtheti m\u0171k\u00f6d\u0151k\u00e9pess\u00e9g\u00e9t.<\/p>\n<p>A m\u00e1sodik, kev\u00e9sb\u00e9 nyilv\u00e1nval\u00f3 aspektus az, hogy a rendszert magas terhel\u00e9s alatt rendk\u00edv\u00fcl gyorsan kellett v\u00e1ltoztatni, alkalmazkodva az \u00fczleti folyamatok v\u00e1ltoz\u00e1saihoz. N\u00e9ha naponta t\u00f6bbsz\u00f6r is. Sok c\u00e9gn\u00e9l van egy szab\u00e1ly, hogy nagy marketingaktivit\u00e1sok sor\u00e1n nem szabad v\u00e1ltoztat\u00e1sokat v\u00e9grehajtani a rendszerben. Semmilyen v\u00e1ltoztat\u00e1st, hagyjuk m\u0171k\u00f6dni, ha m\u00e1r m\u0171k\u00f6dik.<\/p>\n<p>N\u00e1lunk l\u00e9nyeg\u00e9ben v\u00e9gtelen fekete p\u00e9ntek volt, amikor a rendszer\u00fcnket kellett v\u00e1ltoztatni. \u00c9s b\u00e1rmilyen hiba, probl\u00e9ma, zavar a rendszerben nagyon magas k\u00f6lts\u00e9geket jelentett volna az \u00fczlet sz\u00e1m\u00e1ra.<\/p>\n<p>El\u0151rehaladva elmondhatom, hogy siker\u00fclt megbirk\u00f3znunk ezekkel a kih\u00edv\u00e1sokkal, minden rendszer kib\u00edrta a terhel\u00e9st, k\u00f6nnyen sk\u00e1l\u00e1zhat\u00f3 volt, \u00e9s nem voltak glob\u00e1lis technikai zavaraink.<\/p>\n<p>N\u00e9gy alapelv l\u00e9tezik, amelyekre a rendszer teljes\u00edtm\u00e9ny\u00e9nek k\u00e9pesnek kell lennie, hogy ellen\u00e1lljon a hirtelen terhel\u00e9snek. Az els\u0151 ezek k\u00f6z\u00fcl a megfigyel\u00e9s, amelyr\u0151l kor\u00e1bban olvast\u00e1l. Megfelel\u0151 megfigyel\u0151 rendszer n\u00e9lk\u00fcl szinte lehetetlen megtal\u00e1lni a rendszer sz\u0171k keresztmetszeteit. Egy j\u00f3 megfigyel\u0151 rendszer olyan, mint a k\u00e9nyelmes otthoni ruha, amelynek k\u00e9nyelmesnek \u00e9s a te ig\u00e9nyeidnek megfelel\u0151nek kell lennie.<\/p>\n<p>A m\u00e1sodik aspektus a tesztel\u00e9s. Ezt a szakaszt nagyon komolyan vessz\u00fck: klasszikus egys\u00e9gteszteket, integr\u00e1ci\u00f3s \u00e9s terhel\u00e9si teszteket \u00e9s sok m\u00e1s tesztet \u00edrunk minden rendszer sz\u00e1m\u00e1ra. Emellett tesztel\u00e9si strat\u00e9gi\u00e1t is kidolgozunk, c\u00e9lunk, hogy el\u00e9rj\u00fck a tesztel\u00e9s olyan szintj\u00e9t, ahol a manu\u00e1lis ellen\u0151rz\u00e9sek m\u00e1r nem sz\u00fcks\u00e9gesek.<\/p>\n<p>A harmadik alapelv a CI\/CD Pipeline. Az alkalmaz\u00e1s \u00f6sszegy\u0171jt\u00e9s\u00e9nek, tesztel\u00e9s\u00e9nek \u00e9s telep\u00edt\u00e9s\u00e9nek folyamatait maxim\u00e1lisan automatiz\u00e1lni kell, nem legyenek manu\u00e1lis beavatkoz\u00e1sok. A CI\/CD Pipeline t\u00e9m\u00e1ja meglehet\u0151sen m\u00e9ly, ez\u00e9rt csak \u00e9rint\u0151en besz\u00e9lek r\u00f3la. Megeml\u00edtend\u0151, hogy van egy CI\/CD Pipeline ellen\u0151rz\u0151list\u00e1nk, amely szerint minden term\u00e9kcsapat a kompetenciak\u00f6zpontok seg\u00edts\u00e9g\u00e9vel dolgozik.<\/p>\n<p><img decoding=\"async\" alt=\"Mi seg\u00edtett gyorsan \u00e1t\u00e1llni az online kereskedelemre az \u00faj k\u00f6r\u00fclm\u00e9nyek k\u00f6z\u00f6tt\" src=\"\/wp-content\/uploads\/2020\/09\/fabee1de52c10790c33bb2d08935a657.jpg\" style=\"display:block;margin: 0 auto;\" \/>\u00cdme a ellen\u0151rz\u0151lista<\/p>\n<p>\u00cdgy sok c\u00e9lt el\u00e9r\u00fcnk. Ez mag\u00e1ban foglalja az API verzi\u00f3z\u00e1s\u00e1t, a feature toggle-t, hogy elker\u00fclj\u00fck a kiad\u00e1si vonatokat, valamint a k\u00fcl\u00f6nb\u00f6z\u0151 tesztel\u00e9sek olyan szint\u0171 lefedetts\u00e9g\u00e9t, hogy a tesztel\u00e9s teljesen automatiz\u00e1lt legyen, a telep\u00edt\u00e9sek z\u00f6kken\u0151mentesek legyenek, \u00e9s \u00edgy tov\u00e1bb.<\/p>\n<p>A negyedik alapelv az architektur\u00e1lis elvek \u00e9s technikai megold\u00e1sok. Az architekt\u00far\u00e1r\u00f3l sokat \u00e9s hosszan lehet besz\u00e9lni, de szeretn\u00e9k hangs\u00falyozni n\u00e9h\u00e1ny elvet, amelyekre nagy figyelmet ford\u00edtan\u00e9k.<\/p>\n<p>El\u0151sz\u00f6r is, speci\u00e1lis eszk\u00f6z\u00f6ket kell v\u00e1lasztani a konkr\u00e9t feladatokhoz. Igen, ez nyilv\u00e1nval\u00f3nak t\u0171nik, \u00e9s vil\u00e1gos, hogy a sz\u00f6geket kalap\u00e1ccsal \u00e9rdemes beverni, m\u00edg a kar\u00f3r\u00e1kat speci\u00e1lis csavarh\u00faz\u00f3kkal \u00e9rdemes sz\u00e9tszedni. De a mi korunkban sok eszk\u00f6z az univerzaliz\u00e1ci\u00f3ra t\u00f6rekszik, hogy min\u00e9l nagyobb felhaszn\u00e1l\u00f3i szegmenst lefedjen: adatb\u00e1zisok, gyors\u00edt\u00f3t\u00e1rak, keretrendszerek \u00e9s egyebek. P\u00e9ld\u00e1ul, ha megn\u00e9zz\u00fck a MongoDB adatb\u00e1zist, az multifunkci\u00f3s tranzakci\u00f3kkal m\u0171k\u00f6dik, m\u00edg az Oracle adatb\u00e1zis JSON-nal dolgozik. \u00c9s \u00fagy t\u0171nik, hogy minden b\u00e1rmi sz\u00e1m\u00e1ra haszn\u00e1lhat\u00f3. De ha a teljes\u00edtm\u00e9nyt tartjuk szem el\u0151tt, fontos meg\u00e9rteni az egyes eszk\u00f6z\u00f6k er\u0151ss\u00e9geit \u00e9s gyenges\u00e9geit, \u00e9s azokat haszn\u00e1lni, amelyek a feladatk\u00f6r\u00fcnkh\u00f6z sz\u00fcks\u00e9gesek.&nbsp;<\/p>\n<p>M\u00e1sodszor, a rendszerek tervez\u00e9sekor minden bonyolults\u00e1gn\u00f6vel\u00e9snek indokoltnak kell lennie. Folyamatosan \u00e9szben kell tartanunk ezt, a low coupling elve mind el\u0151tt\u00fcnk van. \u00dagy gondolom, hogy ezt alkalmazni kell a szolg\u00e1ltat\u00e1s szintj\u00e9n, a rendszer szintj\u00e9n \u00e9s az architektur\u00e1lis t\u00e1j szintj\u00e9n is. Fontos, hogy a rendszer minden komponense k\u00e9pes legyen v\u00edzszintes sk\u00e1l\u00e1z\u00e1sra a terhel\u00e9s f\u00fcggv\u00e9ny\u00e9ben. Ha van erre k\u00e9pess\u00e9g, a sk\u00e1l\u00e1z\u00e1s nem jelenthet gondot.<\/p>\n<p>Ha a technikai megold\u00e1sokr\u00f3l besz\u00e9l\u00fcnk, k\u00e9rj\u00fck, hogy a term\u00e9kcsapatok k\u00e9sz\u00edtsenek egy friss javaslatk\u00e9szletet, \u00f6tleteket \u00e9s megold\u00e1sokat, amelyeket a k\u00f6vetkez\u0151 terhel\u00e9si hull\u00e1mra val\u00f3 felk\u00e9sz\u00fcl\u00e9s sor\u00e1n val\u00f3s\u00edtottak meg.<\/p>\n<h2>Gyors\u00edt\u00f3t\u00e1rak<\/h2>\n<p>Tudatosan kell megk\u00f6zel\u00edteni a helyi \u00e9s elosztott gyors\u00edt\u00f3t\u00e1rak kiv\u00e1laszt\u00e1s\u00e1t. N\u00e9ha \u00e9rdemes mindkett\u0151t haszn\u00e1lni egy rendszeren bel\u00fcl. P\u00e9ld\u00e1ul vannak olyan rendszereink, ahol az adatok egy r\u00e9sze gyakorlatilag vitrin gyors\u00edt\u00f3t\u00e1r, azaz a friss\u00edt\u00e9sek forr\u00e1sa a rendszeren k\u00edv\u00fcl tal\u00e1lhat\u00f3, \u00e9s a rendszer nem v\u00e1ltoztatja meg ezeket az adatokat. Ebben az esetben helyi Caffeine Cache-t haszn\u00e1lunk.&nbsp;<\/p>\n<p>Vannak olyan adatok is, amelyeket a rendszer akt\u00edvan m\u00f3dos\u00edt a munkafolyamat sor\u00e1n, itt m\u00e1r elosztott gyors\u00edt\u00f3t\u00e1rat alkalmazunk Hazelcast-tel. Ez a megk\u00f6zel\u00edt\u00e9s lehet\u0151v\u00e9 teszi sz\u00e1munkra, hogy kihaszn\u00e1ljuk az elosztott gyors\u00edt\u00f3t\u00e1r el\u0151nyeit ott, ahol val\u00f3ban sz\u00fcks\u00e9g van r\u00e1, \u00e9s minimaliz\u00e1ljuk a k\u00f6lts\u00e9geket a Hazelcast klaszter adataival val\u00f3 m\u0171veletek sor\u00e1n ott, ahol ezt elker\u00fclhetj\u00fck. A gyors\u00edt\u00f3t\u00e1rakr\u00f3l sokat \u00edrtunk. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/490912\/\"><u>itt <\/u><\/a><\/noindex>\u00e9s <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/504400\/\"><u>itt<\/u><\/a><\/noindex>.<\/p>\n<p>Ezen k\u00edv\u00fcl a Kryo sorozatv\u00e1ltoz\u00f3 haszn\u00e1lat\u00e1nak v\u00e1ltoztat\u00e1sa a Hazelcastban jelent\u0151s el\u0151ny\u00f6ket hozott. A ReplicatedMap-r\u00f3l IMap + Near Cache-ra val\u00f3 v\u00e1lt\u00e1s pedig lehet\u0151v\u00e9 tette sz\u00e1munkra, hogy minimaliz\u00e1ljuk az adatok mozg\u00e1s\u00e1t a klaszterben.&nbsp;<\/p>\n<p>Egy kis tipp: t\u00f6meges gyors\u00edt\u00f3t\u00e1r \u00e9rv\u00e9nytelen\u00edt\u00e9s eset\u00e9n n\u00e9ha alkalmazhat\u00f3 a m\u00e1sodik gyors\u00edt\u00f3t\u00e1r felmeleg\u00edt\u00e9si taktik\u00e1ja, majd a v\u00e1lt\u00e1s r\u00e1. Els\u0151re \u00fagy t\u0171nhet, hogy ilyen megk\u00f6zel\u00edt\u00e9ssel dupla mem\u00f3riafogyaszt\u00e1st kellene kapnunk, de a gyakorlatban, azokban a rendszerekben, ahol ezt alkalmazt\u00e1k, a mem\u00f3riafogyaszt\u00e1s cs\u00f6kkent.<\/p>\n<h2>Reakt\u00edv verem<\/h2>\n<p>Reakt\u00edv veremet m\u00e1r viszonylag nagy sz\u00e1m\u00fa rendszerben haszn\u00e1lunk. Az eset\u00fcnkben ez a Webflux vagy a Kotlin coroutines. K\u00fcl\u00f6n\u00f6sen j\u00f3l m\u0171k\u00f6dik a reakt\u00edv verem, ahol lass\u00fa bemeneti-kimeneti m\u0171veletekre sz\u00e1m\u00edtunk. P\u00e9ld\u00e1ul, lass\u00fa szolg\u00e1ltat\u00e1sok h\u00edv\u00e1sa, f\u00e1jlrendszerrel vagy t\u00e1rol\u00f3rendszerekkel val\u00f3 munka eset\u00e9n.<\/p>\n<p>A legfontosabb elv \u2014 ker\u00fclj\u00fck a blokkol\u00f3 h\u00edv\u00e1sokat. A reakt\u00edv keretrendszerek alatt egy kis sz\u00e1m\u00fa akt\u00edv szolg\u00e1ltat\u00e1si sz\u00e1l fut. Ha nem vigy\u00e1zunk, \u00e9s engedj\u00fck, hogy k\u00f6zvetlen blokkol\u00f3 h\u00edv\u00e1st v\u00e9gezz\u00fcnk, p\u00e9ld\u00e1ul JDBC-illeszt\u0151h\u00f6z, a rendszer egyszer\u0171en le\u00e1ll.&nbsp;<\/p>\n<p>Pr\u00f3b\u00e1lja meg saj\u00e1t runtime exception-\u00f6ket l\u00e9trehozni a hib\u00e1k kezel\u00e9s\u00e9re. A program v\u00e9grehajt\u00e1si sz\u00e1la a reakt\u00edv keretrendszerekhez fordul, a k\u00f3d v\u00e9grehajt\u00e1sa nem line\u00e1ris. Ennek k\u00f6vetkezm\u00e9nyek\u00e9nt nagyon neh\u00e9z diagnosztiz\u00e1lni a probl\u00e9m\u00e1kat a stack trace-ek alapj\u00e1n. A megold\u00e1s itt az, hogy minden hiba eset\u00e9n egy\u00e9rtelm\u0171 \u00e9s objekt\u00edv runtime exception-\u00f6ket hozzunk l\u00e9tre.<\/p>\n<h2>Elasticsearch<\/h2>\n<p>Elasticsearch haszn\u00e1lata sor\u00e1n ne v\u00e1lassza ki a nem haszn\u00e1lt adatokat. Ez alapvet\u0151en egy nagyon egyszer\u0171 tan\u00e1cs, de a legt\u00f6bbsz\u00f6r \u00e9ppen ezt felejtik el. Ha egy l\u00e9p\u00e9sben t\u00f6bb mint 10 ezer rekordot kell kiv\u00e1lasztani, a Scroll-t kell haszn\u00e1lni. Anal\u00f3giak\u00e9nt ez kiss\u00e9 hasonl\u00edt a kurzorra a rel\u00e1ci\u00f3s adatb\u00e1zisban.&nbsp;<\/p>\n<p>Ne haszn\u00e1lj postfilter-t sz\u00fcks\u00e9gtelen\u00fcl. Nagy adathalmazon ez a m\u0171velet nagyon megterheli az adatb\u00e1zist.&nbsp;<\/p>\n<p>Haszn\u00e1lja a bulk m\u0171veleteket ott, ahol alkalmazhat\u00f3.<\/p>\n<h2>API<\/h2>\n<p>Az API tervez\u00e9sekor hat\u00e1rozza meg az adat\u00e1tvitel minimaliz\u00e1l\u00e1s\u00e1ra vonatkoz\u00f3 k\u00f6vetelm\u00e9nyeket. Ez k\u00fcl\u00f6n\u00f6sen fontos a front-end-hez val\u00f3 \u00f6sszekapcsol\u00e1s sor\u00e1n: pontosan itt l\u00e9p\u00fcnk ki az adatk\u00f6zpontjaink csatorn\u00e1ib\u00f3l, \u00e9s m\u00e1r azon a csatorn\u00e1n dolgozunk, amely \u00f6sszek\u00f6t minket az \u00fcgyf\u00e9llel. Ha ott a legkisebb probl\u00e9m\u00e1k mer\u00fclnek fel, a t\u00fal magas forgalom negat\u00edv felhaszn\u00e1l\u00f3i \u00e9lm\u00e9nyt okoz.<\/p>\n<p>V\u00e9g\u00fcl ne \u00f6mleszd r\u00e1 az \u00f6sszes adatot, l\u00e9gy pontos a szerz\u0151d\u00e9sn\u00e9l a fogyaszt\u00f3k \u00e9s a szolg\u00e1ltat\u00f3k k\u00f6z\u00f6tt.<\/p>\n<h2>Szervezeti \u00e1talakul\u00e1s<\/h2>\n<p><em>Jelena Eroshkina, IT igazgat\u00f3helyettes<\/em><\/p>\n<p>Abban a pillanatban, amikor a karant\u00e9n bek\u00f6vetkezett, \u00e9s s\u00fcrg\u0151sen n\u00f6velni kellett az online fejl\u0151d\u00e9s \u00fctem\u00e9t, valamint bevezetni az omnichannel szolg\u00e1ltat\u00e1sokat, m\u00e1r folyamatban voltunk az szervezeti \u00e1talakul\u00e1son.&nbsp;<\/p>\n<p>Strukt\u00far\u00e1nk egy r\u00e9sze \u00e1t\u00e1llt a term\u00e9k alap\u00fa megk\u00f6zel\u00edt\u00e9sek \u00e9s gyakorlatok szerint val\u00f3 munkav\u00e9gz\u00e9sre. Olyan csapatok alakultak, amelyek most felel\u0151sek minden egyes term\u00e9k m\u0171k\u00f6d\u00e9s\u00e9\u00e9rt \u00e9s fejleszt\u00e9s\u00e9\u00e9rt. Az ilyen csapatok tagjai teljes m\u00e9rt\u00e9kben r\u00e9szt vesznek a munk\u00e1ban, \u00e9s a Scrum vagy Kanban m\u00f3dszertan szerint dolgoznak, att\u00f3l f\u00fcgg\u0151en, hogy mi a prefer\u00e1lt sz\u00e1mukra, be\u00e1ll\u00edtj\u00e1k a kiad\u00e1si folyamatot, bevezetik a technikai gyakorlatokat, a min\u0151s\u00e9gbiztos\u00edt\u00e1si elj\u00e1r\u00e1sokat \u00e9s m\u00e9g sok m\u00e1st.<\/p>\n<p>Szerencs\u00e9s v\u00e9letlen, hogy ezeknek a term\u00e9kcsapatoknak a legt\u00f6bbje \u00e9ppen az online \u00e9s omnichannel szolg\u00e1ltat\u00e1sok ter\u00fclet\u00e9n dolgozott. Ez lehet\u0151v\u00e9 tette sz\u00e1munkra, hogy n\u00e9h\u00e1ny napon bel\u00fcl (komolyan, sz\u00f3 szerint k\u00e9t nap alatt) \u00e1tt\u00e9rj\u00fcnk a t\u00e1voli munkav\u00e9gz\u00e9sre an\u00e9lk\u00fcl, hogy a hat\u00e9konys\u00e1gunk cs\u00f6kkent volna. A be\u00e1ll\u00edtott folyamat gyors alkalmazkod\u00e1st tett lehet\u0151v\u00e9 az \u00faj munkak\u00f6r\u00fclm\u00e9nyekhez, \u00e9s el\u00e9g magas \u00fctemben tudtuk biztos\u00edtani az \u00faj funkci\u00f3kat.<\/p>\n<p>Tov\u00e1bb\u00e1 sz\u00fcks\u00e9gess\u00e9 v\u00e1lt, hogy er\u0151s\u00edts\u00fck az online \u00fczlet frontj\u00e1n \u00e1ll\u00f3 csapatokat. Abban a pillanatban nyilv\u00e1nval\u00f3v\u00e1 v\u00e1lt, hogy ezt csak bels\u0151 forr\u00e1sokkal tudjuk megtenni. Kb. 50 ember v\u00e1ltoztatta meg a munkater\u00fclet\u00e9t a k\u00e9t h\u00e9t alatt, \u00e9s kapcsol\u00f3dott be egy sz\u00e1mukra \u00faj term\u00e9k fejleszt\u00e9s\u00e9be.&nbsp;<\/p>\n<p>Ehhez nem volt sz\u00fcks\u00e9g k\u00fcl\u00f6nleges menedzsment er\u0151fesz\u00edt\u00e9sekre, mert a saj\u00e1t folyamataink megszervez\u00e9se, a term\u00e9k technikai fejleszt\u00e9se, valamint a min\u0151s\u00e9gbiztos\u00edt\u00e1si gyakorlat mellett tan\u00edtjuk csapatainkat az \u00f6nszervez\u0151d\u00e9sre \u2014 hogy saj\u00e1t termel\u00e9si folyamatukat ir\u00e1ny\u00edts\u00e1k adminisztrat\u00edv forr\u00e1s bevon\u00e1sa n\u00e9lk\u00fcl.<\/p>\n<p>Az ir\u00e1ny\u00edt\u00f3i er\u0151forr\u00e1st pontosan ott tudtuk \u00f6sszpontos\u00edtani, ahol erre sz\u00fcks\u00e9g volt abban a pillanatban - az \u00fczlettel val\u00f3 koordin\u00e1l\u00e1sra: Mi is fontos most \u00fcgyfel\u00fcnk sz\u00e1m\u00e1ra, milyen funkcionalit\u00e1st kellene els\u0151k\u00e9nt megval\u00f3s\u00edtani, mit kell tenn\u00fcnk a rendel\u00e9sfeldolgoz\u00e1si kapacit\u00e1sunk n\u00f6vel\u00e9s\u00e9hez. Mindez \u00e9s egy vil\u00e1gos szerepminta lehet\u0151v\u00e9 tette sz\u00e1munkra, hogy ebben az id\u0151szakban a val\u00f3ban fontos \u00e9s sz\u00fcks\u00e9ges \u00e9rt\u00e9kteremt\u00e9si gy\u00e1rt\u00e1si folyamatainkat terhelj\u00fck.&nbsp;<\/p>\n<p>Nyilv\u00e1nval\u00f3, hogy t\u00e1voli munkav\u00e9gz\u00e9s \u00e9s a gyors v\u00e1ltoz\u00e1sok idej\u00e9n, amikor mindenki r\u00e9szv\u00e9tele befoly\u00e1solja az \u00fczleti mutat\u00f3kat, nem lehet csup\u00e1n a bels\u0151 \u00e9rz\u00e9sekre t\u00e1maszkodni, mint p\u00e9ld\u00e1ul: \u201eJ\u00f3l megy minden?\u201d Sz\u00fcks\u00e9gesek objekt\u00edv el\u0151\u00e1ll\u00edt\u00e1si folyamatmetrik\u00e1k. Azok rendelkez\u00e9sre \u00e1llnak, \u00e9s b\u00e1rki hozz\u00e1f\u00e9rhet, aki \u00e9rdekl\u0151dik a term\u00e9kcsapatok metrik\u00e1i ir\u00e1nt. Els\u0151sorban a csapatnak, az \u00fczletnek, a kapcsol\u00f3d\u00f3 ter\u00fcleteknek \u00e9s a vezet\u0151s\u00e9gnek.<\/p>\n<p>K\u00e9theti rendszeress\u00e9ggel minden csapattal st\u00e1tuszbesz\u00e9lget\u00e9st tartunk, ahol 10 perc alatt elemezz\u00fck a metrik\u00e1kat, felt\u00e1rjuk a gy\u00e1rt\u00e1si folyamat sz\u0171k keresztmetszeteit, \u00e9s k\u00f6z\u00f6sen keres\u00fcnk megold\u00e1st: mit tehet\u00fcnk a probl\u00e9m\u00e1k megsz\u00fcntet\u00e9se \u00e9rdek\u00e9ben. Ezen a megbesz\u00e9l\u00e9sen azonnal k\u00e9rhetj\u00fck a vezet\u0151s\u00e9g seg\u00edts\u00e9g\u00e9t, ha egyes azonos\u00edtott probl\u00e9m\u00e1k a csapatok hat\u00e1sk\u00f6r\u00e9n k\u00edv\u00fcl esnek, vagy koll\u00e9g\u00e1k szak\u00e9rtelm\u00e9t, akik esetleg m\u00e1r hasonl\u00f3 probl\u00e9m\u00e1val tal\u00e1lkoztak.<\/p>\n<p>M\u00e9gis \u00e9rtj\u00fck, hogy a t\u00f6bbsz\u00f6r\u00f6s gyorsul\u00e1s \u00e9rdek\u00e9ben (\u00e9ppen ezt a c\u00e9lt t\u0171zt\u00fck ki magunk el\u00e9) m\u00e9g sok mindent meg kell tanulnunk \u00e9s be kell vezetn\u00fcnk a napi munk\u00e1nkba. Jelenleg folytatjuk a term\u00e9kmegk\u00f6zel\u00edt\u00e9s kib\u0151v\u00edt\u00e9s\u00e9t m\u00e1s csapatokra \u00e9s \u00faj term\u00e9kekre. Ehhez \u00faj, sz\u00e1munkra m\u00e9g ismeretlen online iskolai form\u00e1t kellett elsaj\u00e1t\u00edtanunk.<\/p>\n<p>A m\u00f3dszertani szakemberek, akik seg\u00edtenek a csapatoknak a folyamat fel\u00e9p\u00edt\u00e9s\u00e9ben, a kommunik\u00e1ci\u00f3k megteremt\u00e9s\u00e9ben \u00e9s a munka hat\u00e9konys\u00e1g\u00e1nak n\u00f6vel\u00e9s\u00e9ben, l\u00e9nyeg\u00e9ben a v\u00e1ltoz\u00e1s \u00fcgyn\u00f6kei. Jelenleg az els\u0151 oszt\u00e1lyunk v\u00e9gzett di\u00e1kjai dolgoznak a csapatokkal \u00e9s seg\u00edtik \u0151ket a siker el\u00e9r\u00e9s\u00e9ben.&nbsp;<\/p>\n<p>\u00dagy \u00e9rzem, hogy a kialakult helyzet olyan lehet\u0151s\u00e9geket \u00e9s perspekt\u00edv\u00e1kat nyit meg el\u0151tt\u00fcnk, amelyeket tal\u00e1n m\u00e9g mi magunk sem teljesen fogunk fel. Azonban az a tapasztalat \u00e9s gyakorlat, amelyet jelenleg megszerz\u00fcnk, meger\u0151s\u00edti, hogy a helyes fejl\u0151d\u00e9si utat v\u00e1lasztottuk, \u00e9s nem fogunk lemaradni a j\u00f6v\u0151beli \u00faj lehet\u0151s\u00e9gekr\u0151l, \u00e9s hat\u00e9konyan tudunk majd reag\u00e1lni azok kih\u00edv\u00e1saira, amelyek a 'Sportmaster' el\u0151tt \u00e1llnak.<\/p>\n<h3>K\u00f6vetkeztet\u00e9sek<\/h3>\n<p>Ebben a neh\u00e9z id\u0151szakban megfogalmaztuk azokat a f\u0151 elveket, amelyekre a szoftverfejleszt\u00e9s t\u00e1maszkodik, \u00e9s \u00fagy v\u00e9lem, hogy ezek minden olyan c\u00e9g sz\u00e1m\u00e1ra relev\u00e1nsak, amely ezzel foglalkozik.<\/p>\n<p><strong>Ember<\/strong>. Ez az alapja mindennek. Az alkalmazottaknak \u00e9lvezni\u00fck kell a munk\u00e1t, \u00e9rteni\u00fck kell a c\u00e9g c\u00e9ljait \u00e9s a term\u00e9kek c\u00e9ljait, amelyekkel foglalkoznak. \u00c9s term\u00e9szetesen, folyamatosan fejl\u0151dni\u00fck kell szakmai szempontb\u00f3l.&nbsp;<\/p>\n<p><strong>Technol\u00f3gia<\/strong>. Fontos, hogy a c\u00e9g \u00e9retten k\u00f6zel\u00edtse meg a technol\u00f3giai stack munk\u00e1j\u00e1t \u00e9s ott n\u00f6velje a kompetenci\u00e1it, ahol ez val\u00f3ban sz\u00fcks\u00e9ges. Ez nagyon egyszer\u0171nek \u00e9s nyilv\u00e1nval\u00f3nak hangzik. \u00c9s nagyon gyakran figyelmen k\u00edv\u00fcl hagyj\u00e1k.<\/p>\n<p><strong>Folyamatok<\/strong>. Fontos, hogy a term\u00e9kcsapatok \u00e9s a kompetencia k\u00f6zpontok munk\u00e1j\u00e1t helyesen \u00e9p\u00edts\u00fck fel, \u00e9s biztos\u00edtsuk az \u00fczlettel val\u00f3 egy\u00fcttm\u0171k\u00f6d\u00e9st, hogy partnerr\u00e9 tudjunk v\u00e1lni.<\/p>\n<\/p>\n<p>\u00d6sszess\u00e9g\u00e9ben k\u00f6r\u00fclbel\u00fcl \u00edgy \u00e9lt\u00fck t\u00fal. A modernit\u00e1s alapvet\u0151 t\u00e9zise ism\u00e9t meger\u0151s\u00edt\u00e9st nyert, \u00e9les pofonk\u00e9nt csattant a homlokon.<\/p>\n<p>M\u00e9g ha hatalmas offline \u00fczlet is vagy sok bolt \u00e9s sok v\u00e1rosi jelenl\u00e9ttel, fejleszd az online jelenl\u00e9tedet. Ez nem csup\u00e1n egy tov\u00e1bbi forgalmaz\u00e1si csatorna vagy egy sz\u00e9p alkalmaz\u00e1s, amelyen kereszt\u00fcl valamit meg lehet v\u00e1s\u00e1rolni (\u00e9s az\u00e9rt is, mert a versenyt\u00e1rsakn\u00e1l is van sz\u00e9p). Ez nem egy p\u00f3tker\u00e9k, ami seg\u00edt \u00e1tv\u00e9szelni a viharokat.<\/p>\n<p>Ez elengedhetetlen sz\u00fcks\u00e9glet. Amire nemcsak a technikai kapacit\u00e1soknak \u00e9s infrastrukt\u00far\u00e1nak, hanem az embereknek \u00e9s a folyamatoknak is fel kell k\u00e9sz\u00fclni\u00fck. Hiszen a mem\u00f3ria, a hely, az \u00faj instanci\u00e1k gyors beszerz\u00e9se \u00e9s egy\u00e9b dolgok n\u00e9h\u00e1ny \u00f3ra alatt megval\u00f3s\u00edthat\u00f3k. De az embereket \u00e9s a folyamatokat el\u0151re fel kell k\u00e9sz\u00edteni.<\/p>\n<\/p>\n<p>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/519376\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0438\u0445\u0430\u0438\u043b, \u044f \u0437\u0430\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u043e \u0418\u0422 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u00bb. \u042f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u0432\u043e\u0437\u043d\u0438\u043a\u0448\u0438\u043c\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0430\u043d\u0434\u0435\u043c\u0438\u0438. \u0412 \u043f\u0435\u0440\u0432\u044b\u0435 \u0434\u043d\u0438 \u043d\u043e\u0432\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u0439 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043e\u0444\u043b\u0430\u0439\u043d-\u0442\u043e\u0440\u0433\u043e\u0432\u043b\u0438 \u00ab\u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u0430\u00bb \u0437\u0430\u043c\u0435\u0440, \u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043d\u0430\u0448 \u043e\u043d\u043b\u0430\u0439\u043d-\u043a\u0430\u043d\u0430\u043b, \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0432 \u0447\u0430\u0441\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0443, \u0432\u043e\u0437\u0440\u043e\u0441\u043b\u0430 \u0432 10 \u0440\u0430\u0437. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":94521,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-94520","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442!\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0438\u0445\u0430\u0438\u043b, \u044f \u0437\u0430\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u043e \u0418\u0422 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u00bb.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u043b\u043e \u043d\u0430\u043c \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043e\u043d\u043b\u0430\u0439\u043d-\u0442\u043e\u0440\u0433\u043e\u0432\u043b\u044e \u0432 \u043d\u043e\u0432\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442!\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0438\u0445\u0430\u0438\u043b, \u044f \u0437\u0430\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u043e \u0418\u0422 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u00bb.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-09-18T05:42:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-18T05:42:20+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Mi seg\u00edtett nek\u00fcnk gyorsan \u00e1t\u00e1llni az online kereskedelemre az \u00faj k\u00f6r\u00fclm\u00e9nyek k\u00f6z\u00f6tt | ProHoster","description":"Hell\u00f3! A nevem Mihail, a Sportmaster IT igazgat\u00f3helyettese vagyok.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u043b\u043e \u043d\u0430\u043c \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043e\u043d\u043b\u0430\u0439\u043d-\u0442\u043e\u0440\u0433\u043e\u0432\u043b\u044e \u0432 \u043d\u043e\u0432\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442!\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0438\u0445\u0430\u0438\u043b, \u044f \u0437\u0430\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u043e \u0418\u0422 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u00bb.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-09-18T05:42:20+00:00","article:modified_time":"2020-09-18T05:42:20+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"94520","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:25:23","updated":"2022-09-29 04:36:15","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/94520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=94520"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/94520\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/94521"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=94520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=94520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=94520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}