ʻO kekahi ʻōnaehana nānā

ʻO kekahi ʻōnaehana nānā
16 modem, 4 mau mea hoʻohana kelepona = 933.45 Mbit/s

Hōʻike

Aloha! E pili ana kēia ʻatikala pehea mākou i kākau ai i kahi ʻōnaehana nānā hou no mākou iho. He ʻokoʻa ia mai nā mea i loaʻa i kona hiki ke loaʻa i nā metric synchronous kiʻekiʻe a me ka hoʻohana haʻahaʻa haʻahaʻa loa. Hiki i ka helu koho balota ke hiki i ka 0.1 milliseconds me ka pololei synchronization ma waena o nā metric o 10 nanoseconds. Loaʻa nā waihona binary āpau i 6 megabytes.

No ka papahana

Loaʻa iā mākou kahi huahana kikoʻī. Hoʻopuka mākou i kahi hopena piha no ka hōʻuluʻulu ʻana i ka throughput a me ka hoʻomanawanui hewa o nā ala hoʻoili ʻikepili. ʻO kēia ka manawa he nui nā kaha, e ʻōlelo kākou ʻo Operator1 (40Mbit/s) + Operator2 (30Mbit/s)+ ʻO kekahi mea ʻē aʻe (5 Mbit/s), ʻo ka hopena he hoʻokahi paʻa a wikiwiki hoʻi, ʻo ka wikiwiki o ia mea. keia: (40+ 30+5)x0.92=75×0.92=69 Mbit/s.

Ke koi ʻia nei nā ʻano hana inā ʻaʻole lawa ka hiki o ke kahawai hoʻokahi. No ka laʻana, ka lawe ʻana, nā ʻōnaehana nānā wikiō a me nā wikiō wikiō maoli, hoʻolaha ʻia o ke kīwī ola a me nā hoʻolaha lekiō, nā keʻena kūloko kahi i waena o nā mea lawelawe kelepona aia wale nō nā ʻelele o ka Big Four a ʻaʻole lawa ka wikiwiki o ka modem / channel. .
No kēlā me kēia mau wahi, hana mākou i kahi laina kaʻawale o nā mea hana, akā ʻaneʻane like kā lākou ʻāpana polokalamu a ʻo kahi ʻōnaehana nānā kiʻekiʻe kekahi o kāna mau modula nui, me ka ʻole o ka hoʻokō pono ʻana i hiki ʻole ai ka huahana.

I loko o nā makahiki he nui, ua hoʻokō mākou i ka hana ʻana i kahi ʻōnaehana mākaʻikaʻi multi-level, wikiwiki, cross-platform a me ka māmā. ʻO kēia ka mea a mākou e makemake ai e kaʻana like me ko mākou kaiāulu mahalo.

Ka hoʻokumu ʻana i ka pilikia

Hāʻawi ka ʻōnaehana kiaʻi i nā ana o nā papa ʻokoʻa ʻelua: nā metric manawa maoli a me nā mea ʻē aʻe. ʻO ka ʻōnaehana nānā wale nō nā koi penei:

  1. ʻO ka loaʻa pinepine ʻana o ka manawa maoli a me kā lākou hoʻololi ʻana i ka ʻōnaehana hoʻokele kamaʻilio me ka kali ʻole.
    ʻAʻole koʻikoʻi wale ke alapine kiʻekiʻe a me ka hoʻonohonoho ʻana o nā metric like ʻole, he mea koʻikoʻi ia no ka nānā ʻana i ka entropy o nā ala hoʻoili ʻikepili. Inā he 30 milliseconds ka lōʻihi o ka hoʻouna ʻikepili i hoʻokahi, a laila, ʻo ka hewa o ka hoʻonohonoho ʻana ma waena o nā koena o hoʻokahi milliseconds e alakaʻi i ka hoʻohaʻahaʻa ʻana i ka wikiwiki o ke kahawai hopena ma kahi o 5%. Inā kuhi hewa mākou i ka manawa ma ka 1 millisecond ma waena o nā kahawai 4, hiki ke hāʻule ka wikiwiki i ka 30%. Eia kekahi, hoʻololi koke ka entropy i nā kahawai, no laila inā mākou e ana iā ia ma mua o hoʻokahi manawa i kēlā me kēia 0.5 milliseconds, ma nā ala wikiwiki me kahi lohi liʻiliʻi e loaʻa iā mākou ka wikiwiki wikiwiki. ʻOiaʻiʻo, ʻaʻole pono ia pololei no nā metric āpau a ʻaʻole i nā kūlana āpau. I ka 500 milliseconds ka lōʻihi o ke kahawai, a hana mākou me ia, a laila ʻaʻole ʻike ʻia kahi hewa o 1 milliseconds. Eia kekahi, no nā ʻōnaehana kākoʻo ola, loaʻa iā mākou nā helu koho balota a me ka hoʻonohonoho ʻana o 2 kekona, akā pono e hiki i ka ʻōnaehana nānā pono ke hana me nā helu koho kiʻekiʻe kiʻekiʻe a me ka synchronization ultra-pcise o nā ana.
  2. ʻO ka liʻiliʻi liʻiliʻi o ka hoʻohana ʻana i nā kumuwaiwai a me kahi waihona hoʻokahi.
    Hiki i ka mea hoʻopau ke lilo i mea paʻakikī ma luna o ka papa e hiki ke nānā i ke kūlana ma ke alanui a i ʻole ke alakaʻi ʻana i ka hoʻopaʻa ʻana i ka biometric o nā kānaka, a i ʻole ka lolouila papa hoʻokahi pālima i hoʻokomo ʻia e kahi koa kūikawā ma lalo o kona pale kino e hoʻouna i nā wikiō i loko. manawa maoli i nā kūlana kamaʻilio maikaʻi ʻole. ʻOiai ke ʻano like ʻole o ka hoʻolālā ʻana a me ka mana helu, makemake mākou e loaʻa ka waihona polokalamu like.
  3. ʻO ka hoʻolālā ʻumbrella
    Pono e hōʻiliʻili a hōʻuluʻulu ʻia nā metric ma ka hāmeʻa hoʻopau, loaʻa kahi waihona kūloko, a ʻike ʻia i ka manawa maoli a me ka retrospectively. Inā loaʻa kahi pilina, e hoʻoili i ka ʻikepili i ka ʻōnaehana nānā kikowaena. Inā ʻaʻohe pili, pono e hōʻiliʻili ka laina hoʻouna a ʻaʻole hoʻopau i ka RAM.
  4. API no ka hoʻohui ʻana i ka ʻōnaehana nānā o ka mea kūʻai aku, no ka mea, ʻaʻohe mea e pono ai nā ʻōnaehana nānā. Pono ka mea kūʻai aku e hōʻiliʻili i ka ʻikepili mai nā mea hana a me nā pūnaewele i hoʻokahi nānā.

He aha lā

I mea e kaumaha ʻole ai i ka heluhelu lōʻihi loa, ʻaʻole wau e hāʻawi i nā hiʻohiʻona a me nā ana o nā ʻōnaehana nānā āpau. E alakaʻi kēia i kahi ʻatikala ʻē aʻe. E ʻōlelo wale wau ʻaʻole hiki iā mākou ke ʻike i kahi ʻōnaehana nānā e hiki ke lawe i ʻelua metric i ka manawa like me kahi hewa o ka liʻiliʻi ma mua o 1 millisecond a e hana like me ka hoʻolālā ARM me 64 MB o RAM a ma ka hale hoʻolālā x86_64 me 32 GB o RAM. No laila, ua hoʻoholo mākou e kākau i kā mākou iho, hiki iā ia ke hana i kēia mau mea āpau. Eia ka mea i loaa ia makou:

ʻO ka hōʻuluʻulu ʻana i ka hiki ʻana o ʻekolu ala no nā topologies pūnaewele like ʻole


Ka ʻike ʻana i kekahi mau ana nui

ʻO kekahi ʻōnaehana nānā
ʻO kekahi ʻōnaehana nānā
ʻO kekahi ʻōnaehana nānā
ʻO kekahi ʻōnaehana nānā

kuhikuhipuʻuone

Hoʻohana mākou iā Golang ma ke ʻano he ʻōlelo papahana nui, ma ka hāmeʻa a ma ke kikowaena data. Ua maʻalahi loa ia i ke ola me kāna hoʻokō ʻana i ka multitasking a me ka hiki ke loaʻa i kahi faila binary i hoʻopili ʻia no kēlā me kēia lawelawe. ʻO ka hopena, mālama nui mākou i nā kumuwaiwai, nā ala a me nā kaʻa no ka lawe ʻana i ka lawelawe e hoʻopau i nā polokalamu, ka manawa hoʻomohala a me ka debugging code.

Hoʻokō ʻia ka ʻōnaehana e like me ka loina modular maʻamau a loaʻa i kekahi mau subsystems:

  1. Kakau inoa ana.
    Hāʻawi ʻia kēlā me kēia metric e kāna iho ponoʻī a hoʻonohonoho ʻia ma nā kahawai. Ua hiki iā mākou ke hoʻokō i ka pololei synchronization a hiki i 10 nanoseconds.
  2. Hoʻopaʻa ʻana i nā ana
    Ke koho nei mākou ma waena o ke kākau ʻana i kā mākou waihona ponoʻī no ka manawa a i ʻole ka hoʻohana ʻana i kahi mea i loaʻa. Pono ka waihona no ka ʻikepili hope e pili ana i ka nānā ʻana ma hope, ʻo ia hoʻi, ʻaʻole i loaʻa ka ʻikepili no nā lohi ma ke kahawai i kēlā me kēia 0.5 milliseconds a i ʻole nā ​​helu helu hewa i ka pūnaewele lawe, akā aia ka wikiwiki ma kēlā me kēia interface i kēlā me kēia 500 milliseconds. Ma waho aʻe o nā koi kiʻekiʻe no ka cross-platform a me ka hoʻohana haʻahaʻa haʻahaʻa, he mea koʻikoʻi loa iā mākou e hiki ke hana. ʻo ka ʻikepili kahi i mālama ʻia ai. Mālama kēia i nā kumuwaiwai helu nui. Ua hoʻohana mākou i ka Tarantool DBMS i kēia papahana mai 2016 a hiki i kēia manawa ʻaʻole mākou e ʻike i kahi pani no ia ma ka pae. Hiki ke maʻalahi, me ka hoʻohana waiwai kūpono, ʻoi aku ma mua o ke kākoʻo ʻenehana kūpono. Hoʻokomo pū ʻo Tarantool i kahi module GIS. ʻOiaʻiʻo, ʻaʻole ikaika e like me PostGIS, akā lawa ia no kā mākou mau hana o ka mālama ʻana i kekahi mau metric pili i ka wahi (pili no ka lawe ʻana).
  3. ʻIke ʻana i nā ana
    He mea maʻalahi nā mea a pau maʻaneʻi. Lawe mākou i ka ʻikepili mai ka hale kūʻai a hōʻike iā ia i ka manawa maoli a i ʻole retrospectively.
  4. ʻO ka hoʻonohonoho ʻana o ka ʻikepili me ka ʻōnaehana nānā kikowaena.
    Loaʻa i ka ʻōnaehana kiaʻi kikowaena ka ʻikepili mai nā mea hana a pau, mālama iā ia me kahi mōʻaukala kikoʻī a hoʻouna ʻia i ka ʻōnaehana nānā o ka Customer ma o API. ʻAʻole like me nā ʻōnaehana nānā maʻamau, kahi e hele ai ke "poʻo" a hōʻiliʻili i ka ʻikepili, loaʻa iā mākou ka ʻaoʻao ʻē aʻe. Hoʻouna nā mea hana i ka ʻikepili ke loaʻa kahi pilina. He wahi koʻikoʻi loa kēia, no ka mea hiki iā ʻoe ke loaʻa ka ʻikepili mai ka hāmeʻa no kēlā mau manawa i loaʻa ʻole ai a ʻaʻole hoʻouka i nā kahawai a me nā kumuwaiwai ʻoiai ʻaʻole i loaʻa ka hāmeʻa. Hoʻohana mākou i ke kikowaena nānā Influx ma ke ʻano he ʻōnaehana nānā kikowaena. ʻAʻole like me kona mau analogues, hiki iā ia ke hoʻokomo i ka ʻikepili retrospective (ʻo ia hoʻi, me kahi hōʻailona manawa ʻokoʻa mai ka manawa i loaʻa ai nā metric) ʻIke ʻia nā metric i hōʻiliʻili ʻia e Grafana, hoʻololi ʻia me kahi faila. Ua koho ʻia kēia pūʻulu maʻamau no ka mea ua mākaukau ʻia nā hoʻohui API me kahi ʻōnaehana nānā mea kūʻai aku.
  5. Hoʻonohonoho ʻikepili me kahi ʻōnaehana hoʻokele kikowaena.
    Hoʻohana ka ʻōnaehana hoʻokele polokalamu iā Zero Touch Provisioning (hōʻano hou i ka firmware, hoʻonohonoho, a me nā mea ʻē aʻe) a, ʻaʻole like me ka ʻōnaehana nānā, loaʻa wale nā ​​pilikia ma kēlā me kēia mea. ʻO kēia nā mea hoʻomaka no ka hana ʻana o nā lawelawe kiaʻi lako lako a me nā metric āpau o nā ʻōnaehana kākoʻo ola: CPU a me SSD wela, CPU haʻahaʻa, wahi manuahi a me ke olakino SMART ma nā disks. Kūkulu ʻia ka waihona subsystem ma Tarantool. Hāʻawi kēia iā mākou i ka wikiwiki nui i ka hōʻuluʻulu ʻana i nā kaʻina manawa ma waena o nā tausani o nā mea hana, a hoʻopau pū i ka pilikia o ka hoʻonohonoho ʻana i ka ʻikepili me kēia mau mea hana. Loaʻa iā Tarantool kahi ʻōnaehana hoʻouna maikaʻi loa a hōʻoia ʻia. Loaʻa iā mākou kēia hiʻohiʻona koʻikoʻi mai ka pahu, maikaʻi!

Pūnaehana hoʻokele pūnaewele

ʻO kekahi ʻōnaehana nānā

He aha ka mea aʻe

I kēia manawa, ʻo kā mākou loulou nāwaliwali loa ka ʻōnaehana nānā kikowaena. Hoʻokō ʻia ʻo 99.9% ma kahi waihona maʻamau a he nui nā hemahema:

  1. Nalo ka InfluxDB i ka ʻikepili ke nalowale ka mana. Ma keʻano he kānāwai, ʻohi koke ka mea kūʻai aku i nā mea a pau e hele mai ana mai nā mea hana a ʻaʻole i loaʻa i ka waihona ʻikepili i ʻoi aku ma mua o 5 mau minuke, akā i ka wā e hiki mai ana e lilo kēia i mea ʻeha.
  2. He nui nā pilikia o Grafana me ka hōʻuluʻulu ʻikepili a me ka hoʻonohonoho ʻana o kāna hōʻike. ʻO ka pilikia maʻamau ka loaʻa ʻana o ka ʻikepili i kahi kaʻina manawa me ka wā o 2 kekona e hoʻomaka ana mai, e ʻōlelo, 00:00:00, a hoʻomaka ʻo Grafana e hōʻike i ka ʻikepili i ka hōʻuluʻulu mai +1 kekona. ʻO ka hopena, ʻike ka mea hoʻohana i ka pakuhi hula.
  3. ʻO ka nui o nā code no ka hoʻohui ʻana i ka API me nā ʻōnaehana nānā ʻaoʻao ʻekolu. Hiki ke hana hou ʻia a kākau hou ʻia ma Go)

Manaʻo wau ua ʻike pono ʻoe i ke ʻano o Grafana a ʻike i kona mau pilikia me ka ʻole oʻu, no laila ʻaʻole wau e hoʻonui i ka pou me nā kiʻi.

hopena

ʻAʻole wau i wehewehe i nā kikoʻī loea, akā wehewehe wale i ka hoʻolālā kumu o kēia ʻōnaehana. ʻO ka mea mua, no ka wehewehe pono ʻana i ka ʻōnaehana, e koi ʻia kahi ʻatikala ʻē aʻe. ʻO ka lua, ʻaʻole makemake nā kānaka a pau i kēia. E kākau i nā manaʻo i nā kikoʻī loea āu e makemake ai e ʻike.

Inā he nīnau kekahi ma waho aʻe o kēia ʻatikala, hiki iā ʻoe ke kākau mai iaʻu ma a.rodin @ qedr.com

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka