Nā hiʻohiʻona hoʻohana mesh lawelawe

Nā hiʻohiʻona hoʻohana mesh lawelawe

Nānā. unuhi.: ʻO ka mea kākau o kēia ʻatikala (Luc Perkins) he mea kākoʻo hoʻomohala ma ka hui CNCF, ʻo ia ka home o nā papahana Open Source e like me Linkerd, SMI (Service Mesh Interface) a me Kuma (ma ke ala, ua noʻonoʻo ʻoe no ke aha ʻo Istio. ʻaʻole ma kēia papa inoa?.). Ke hoʻāʻo hou nei e lawe i ke kaiāulu DevOps i kahi ʻike maikaʻi aʻe o ka hype trendy i kapa ʻia ʻo "service mesh", ua papa inoa ʻo ia i 16 mau hiʻohiʻona hiki ke hāʻawi ʻia e ia mau hopena.

i keia la mesh lawelawe ― kekahi o nā kumuhana wela loa ma ke kahua o ka ʻenekinia lako polokalamu (a pololei nō!). Manaʻo wau he mea hoʻohiki maikaʻi kēia ʻenehana a makemake wau e ʻike i ka hoʻohana nui ʻia (i ka wā kūpono, ʻoiaʻiʻo). Eia nō naʻe, ua hoʻopuni ʻia e kahi aura o ka pohihihi no ka hapa nui o nā kānaka. I ka manawa like, ʻo ka poʻe i maopopo me ia, paʻakikī pinepine ka hoʻokumu ʻana i kona mau pono a me ke ʻano o ia mea (me kāu ʻoiaʻiʻo). Ma kēia ʻatikala e hoʻāʻo wau e hoʻoponopono i ke kūlana ma ka helu ʻana i nā ʻano like ʻole hoʻohana hihia "nā paina lawelawe"*.

* Nānā transl.: ma ʻaneʻi a ʻoi aku ma ka ʻatikala e hoʻohana ʻia kēia unuhi ("service mesh") no ka ʻōlelo hou mesh service mesh.

Akā makemake mua wau e hana i kekahi mau manaʻo:

  • ʻAʻole au i hana me nā meshes lawelawe a hoʻohana paha ia mau mea ma waho o nā papahana i hoʻomaka no kaʻu aʻo ponoʻī. Ma ka ʻaoʻao ʻē aʻe, ʻo wau ka mea nāna i kākau i kahi pūʻulu o nā palapala no ka mesh lawelawe kūloko o Twitter ma 2015 (ʻaʻole i kapa ʻia ʻo ia he "lawelawe lawelawe" i kēlā manawa) a komo i ka hoʻomohala ʻana i ka pūnaewele a me nā palapala no Linkerd, no laila ke ʻano o ia mea.
  • Kokoke a piha ole ka'u papa inoa. Loaʻa paha nā hihia hoʻohana i ʻike ʻole iaʻu, a e ala mai paha nā koho hou i ka wā e ulu ana ka ʻenehana a ulu aʻe kona kaulana.
  • I ka manawa like, ʻaʻole kēlā me kēia lawelawe lawelawe mesh i kākoʻo i nā hihia hoʻohana āpau i helu ʻia. No laila, pono e heluhelu ʻia kaʻu mau ʻōlelo e like me "mea lawelawe mesh ..." ma ke ʻano he "kanaka, a hiki paha i nā hoʻokō mesh lawelawe kaulana a pau ...".
  • ʻAʻole ʻokoʻa ka hoʻonohonoho ʻana o nā laʻana.

Papa inoa pōkole:

  • ʻike lawelawe;
  • hoʻopunipuni;
  • hōʻoia a me ka mana;
  • ka hoʻopaʻa ʻana;
  • kaapuni kaapuni;
  • ka hoʻonui ʻana;
  • nā hoʻolaha canary;
  • nā hoʻolālā uliuli-'ōmaʻomaʻo;
  • nānā olakino;
  • hoʻokahe ukana;
  • hoʻohālike kaʻahele;
  • hoʻokaʻawale;
  • noi i ka palena o ka helu, ho'āʻo hou a me nā manawa hoʻomaha;
  • telemetry;
  • loiloi;
  • ʻike maka.

1. ʻIke lawelawe

TL;DR: Hoʻohui i nā lawelawe ʻē aʻe ma ka pūnaewele me ka hoʻohana ʻana i nā inoa maʻalahi.

Hiki i nā lawelawe ke "ʻimi" i kekahi i kekahi me ka hoʻohana ʻana i nā inoa kūpono - no ka laʻana, service.api.production, pets/staging ai ole ia, cassandra. He ʻeleʻele nā ​​kaiapuni ao, a hiki i ka inoa hoʻokahi ke hūnā i nā manawa he nui o kahi lawelawe. He mea maopopo ma ia ʻano he mea hiki ʻole ke hoʻopaʻa inoa i nā helu IP āpau.

Eia kekahi, i ka wā e loaʻa ai kahi lawelawe ʻē aʻe, hiki iā ia ke hoʻouna i nā noi i kēlā lawelawe me ka makaʻu ʻole e hoʻopau lākou i ka hoʻokomo ʻana o kāna mea haʻihaʻi. I nā huaʻōlelo ʻē aʻe, pono e nānā ka mesh lawelawe i ke olakino o nā manawa lawelawe āpau a mālama i ka papa inoa o nā pūʻali e like me ka hiki.

Hoʻohana ʻokoʻa kēlā me kēia mesh lawelawe i ka mīkini ʻike lawelawe. I kēia manawa, ʻo ke ala maʻamau ka hāʻawi ʻana i nā kaʻina hana waho e like me Kubernetes DNS. I ka wā ma mua ma Twitter ua hoʻohana mākou i kahi ʻōnaehana inoa no kēia kumu Finalgle. Eia kekahi, hiki i ka ʻenehana mesh lawelawe ke hiki ke puka mai nā mīkini inoa maʻamau (ʻoiai ʻaʻole au i ʻike i kekahi hoʻokō SM me ia ʻano hana).

2. Hoʻopili

TL; DR: E hoʻopau i nā kaʻa i hoʻopili ʻole ʻia ma waena o nā lawelawe a hana i kēia kaʻina hana maʻalahi a scalable.

He mea maikaʻi ke ʻike ʻaʻole hiki i nā mea hoʻouka ke komo i kāu pūnaewele kūloko. Hana maikaʻi nā pā ahi i kēia. Akā he aha ka hopena inā komo ka hacker i loko? E hiki anei iā ia ke hana i kāna mea e makemake ai me ke kālepa intra-service? Manaʻolana mākou ʻaʻole hiki kēia ma hope. No ka pale ʻana i kēia hiʻohiʻona, pono ʻoe e hoʻokō i kahi pūnaewele hilinaʻi ʻole kahi i hoʻopili ʻia ai nā kaʻa āpau ma waena o nā lawelawe. Hoʻokō ka hapa nui o nā mīkini lawelawe hou i kēia ma o ka launa pū ʻana TLS (TLS like, mTLS). I kekahi mau hihia, hana ka mTLS ma nā ao holoʻokoʻa a me nā pūʻulu (manaʻo wau e hoʻonohonoho like ʻia nā kamaʻilio interplanetary i kekahi lā).

ʻOiaʻiʻo, no ka mTLS mesh lawelawe koho. Hiki i kēlā me kēia lawelawe ke mālama i kāna TLS pono'ī, akā ʻo ia ka mea e pono ai ʻoe e ʻimi i kahi ala e hoʻopuka ai i nā palapala hōʻoia, e puʻunaue iā lākou ma waena o nā pūʻali lawelawe, a hoʻokomo i ka code i loko o ka noi e hoʻouka i kēia mau palapala mai nā faila. ʻAe, mai poina e hoʻohou i kēia mau palapala hōʻoia i nā manawa maʻamau. Hoʻokaʻawale ʻia ka mTLS me nā ʻōnaehana like SPIFFE, ʻo ia hoʻi, e hoʻokaʻawale i ke kaʻina hana o ka hoʻopuka ʻana a me ka hoʻololi ʻana i nā palapala hōʻoia.

3. Ka hōʻoia a me ka ʻae

TL; DR: E hoʻokumu i ka mea noi a wehewehe i ka mea i ʻae ʻia e hana ma mua o ka hiki ʻana o ka noi i ka lawelawe.

Makemake pinepine nā lawelawe e ʻike ai la hoʻokō i ka noi (authentication), a me ka hoʻohana ʻana i kēia ʻike, hoʻoholo i ʻae ʻia kahi hui i hāʻawi ʻia e hana (mana). I kēia hihia, hiki i ka pronoun "who" ke hūnā:

  1. Nā lawelawe ʻē aʻe. Kapa ʻia kēia ʻo "authentication" hoa" No ka laʻana, lawelawe web makemake e komo i ka lawelawe db. Hoʻopau maʻamau nā mīkini lawelawe i kēlā mau pilikia me ka hoʻohana ʻana i ka mTLS: ʻo nā palapala hōʻoia i kēia hihia e lilo i mea ʻike pono.
  2. ʻO kekahi mau mea hoʻohana kanaka. Kapa ʻia kēia ʻo "authentication" noi" No ka laʻana, mea hoʻohana haxor69 makemake e kūʻai i kukui hou. Hāʻawi nā mīkini lawelawe i nā mīkini like ʻole, e.g. Nā Kaha Pūnaewele JSON.

    Ua hana ka hapa nui o mākou i kēia ma ka code application. Hele mai kahi noi, nānā mākou ma ka papaʻaina users, huli i ka mea hoʻohana a hoʻohālikelike i ka ʻōlelo huna, a laila e nānā i ke kolamu permissions etc. I ka hihia o ka mesh lawelawe, hana kēia ma mua o ka hiki ʻana o ka noi i ka lawelawe.

Ke hoʻopaʻa nei mākou i ka mea i hele mai ai ka noi, pono mākou e hoʻoholo i ka mea i ʻae ʻia kēia hui e hana. ʻO kekahi mau meshes lawelawe e ʻae iā ʻoe e hoʻonohonoho i nā kulekele kumu (e pili ana i ka mea hiki ke hana i ka mea) e like me nā faila YAML a i ʻole ma ka laina kauoha, aʻo nā mea ʻē aʻe e hāʻawi i ka hoʻohui ʻana me nā frameworks like. Wehe Kulekele Agena. ʻO ka pahuhopu nui ka ʻae ʻana o kāu mau lawelawe i kekahi noi, me ka manaʻo e hele mai ia mai kahi kumu hilinaʻi и ʻae ʻia kēia hana.

4. Hoʻouka kaulike

TL; DR: E hoʻokaʻawale i ka ukana ma nā manawa lawelawe e like me ke ʻano kikoʻī.

ʻO kahi "Service" i loko o kahi ʻāpana lawelawe he nui nā manawa like. No ka laʻana, i kēia lā ka lawelawe cache he 5 kope, a ma ka la apopo hiki ke hoonui i ko lakou helu i 11. Na noi i hoounaia i cache, pono e puunaue e like me ke kumu kiko'ī. No ka laʻana, e hōʻemi i ka latency a i ʻole e hoʻonui i ka hiki ke hele i kahi hana hana. ʻO ka algorithm maʻamau i hoʻohana ʻia ʻo Round-robin, akā he nui nā mea ʻē aʻe - no ka laʻana, ke ʻano kaumaha (kaumaha) nā nīnau (hiki iā ʻoe ke koho i nā pahuhopu i makemake ʻia), kani (ke apo) hashing (me ka hoʻohana ʻana i ka hashing maʻamau ma waena o nā pūʻali o luna) a i ʻole ke ala noi liʻiliʻi (e hāʻawi ʻia ka makemake i ka laʻana me nā noi liʻiliʻi loa).

He mau hana ʻē aʻe nā mea kaulike maʻamau, e like me ka HTTP caching a me ka pale DDoS, akā ʻaʻole kūpono loa ia no nā kaʻa hikina-komohana (ʻo ia hoʻi, no ke kahe e kahe ana i loko o kahi kikowaena data - approx. ʻOiaʻiʻo, ʻaʻole pono ka hoʻohana ʻana i kahi mesh lawelawe no ka hoʻohālikelike ʻana i ka ukana, akā hiki iā ʻoe ke hoʻonohonoho a hoʻokele i nā kulekele kaulike no kēlā me kēia lawelawe mai kahi papa mana kikowaena, a laila e hoʻopau i ka pono e holo a hoʻonohonoho i nā mea kaulike kaʻawale i ka waihona pūnaewele. .

5. Kaapuni kaapuni

TL; DR: Hoʻopau i ke kaʻa i ka lawelawe pilikia a kāohi i ka pōʻino i nā hiʻohiʻona ʻino loa.

Inā no kekahi kumu ʻaʻole hiki i ka lawelawe ke hoʻokō i ke kaʻa, hāʻawi ka mesh lawelawe i nā koho he nui no ka hoʻoponopono ʻana i kēia pilikia (e kūkākūkā ʻia nā mea ʻē aʻe ma nā ʻāpana kūpono). ʻO ka uhaki kaapuni ke koho koʻikoʻi loa no ka wehe ʻana i kahi lawelawe mai ke kaʻa. Eia nō naʻe, ʻaʻole kūpono ia - pono kahi hoʻolālā backup. Hiki ke hāʻawi ʻia ke kaomi hope (hoʻopaʻa hope) i nā lawelawe e noi ana (mai poina wale i ka hoʻonohonoho ʻana i kāu mesh lawelawe no kēia!), a i ʻole, no ka laʻana, ke kala ʻana i ka ʻaoʻao kūlana ʻulaʻula a hoʻihoʻi i nā mea hoʻohana i kahi ʻaoʻao ʻē aʻe o ka ʻaoʻao me kahi "whale whale" iho”).

ʻAʻole ʻae wale ʻia nā meshes lawelawe iā ʻoe e wehewehe i ka manawa e pili ana ka pani a i e hahai ana keia. I kēia hihia, hiki i ka "when" ke hoʻokomo i kekahi hui pū ʻana o nā ʻāpana i ʻōlelo ʻia: ka huina o nā noi no kekahi manawa, ka helu o nā pili like, nā noi e kali nei, nā hoʻāʻo hou, etc.

ʻAʻole paha ʻoe makemake e hoʻomāinoino i ka haʻi kaapuni, akā maikaʻi ke ʻike he hoʻolālā hoʻihoʻi kāu inā pilikia.

6. Ka ho'onui 'ana

TL; DR: Hoʻonui a hoʻemi paha i ka helu o nā lawelawe lawelawe ma muli o nā koina i kuhikuhi ʻia.

ʻAʻole nā ​​mea hoʻonohonoho hoʻonohonoho ʻoihana, no laila ʻaʻole lākou e hāpai i waho hoʻonui iā ʻoe iho. Eia nō naʻe, hiki iā lākou ke hāʻawi i ka ʻike i nā mea hoʻolālā e hoʻokumu i kā lākou hoʻoholo. Ma muli o ka loaʻa ʻana o nā mīkini lawelawe i nā kaʻa āpau ma waena o nā lawelawe, loaʻa iā lākou ka ʻike nui e pili ana i ka mea e hana nei: nā lawelawe e loaʻa nei nā pilikia, nā lawelawe i hoʻouka ʻia (ua pau ka mana i hāʻawi ʻia iā lākou), etc.

No ka laʻana, hoʻohālikelike ʻo Kubernetes i nā lawelawe e pili ana i ka CPU a me ka hoʻohana ʻana i ka hoʻomanaʻo (e nānā i kā mākou hōʻike "ʻO ka hoʻonui ʻana a me ka hoʻokele waiwai ma Kubernetes" - ma kahi o. unuhi.), akā inā hoʻoholo ʻoe e hoʻonui ma muli o kekahi metric ʻē aʻe (ma kā mākou hihia, pili i ke kalepa), pono ʻoe i kahi metric kūikawā. Hooponopono e like me kēia hōʻike pehea e hana ai i kēia me ʻelele, Istio и IHILA, akā paʻakikī loa ke kaʻina hana. Makemake mākou i ka mesh lawelawe e maʻalahi i kēia ma ka ʻae ʻana iā mākou e hoʻonohonoho i nā kūlana e like me "hoʻonui i ka nui o nā manawa lawelawe. auth, inā ʻoi aku ka nui o nā noi e kali nei ma mua o ka paepae i loko o hoʻokahi minuke."

7. Hoʻolaha Canary

TL; DR: E ho'āʻo i nā hiʻohiʻona hou a i ʻole nā ​​mana lawelawe ma kahi ʻāpana o nā mea hoʻohana.

E ʻōlelo mākou e hoʻomohala ana ʻoe i kahi huahana SaaS a manaʻo e ʻōwili i kahi mana hou o ia mea. Ua hoʻāʻo ʻoe iā ia ma ka hoʻokūkū a ua hana maikaʻi. Akā aia kekahi mau hopohopo e pili ana i kāna hana i nā kūlana maoli. I nā huaʻōlelo ʻē aʻe, pono ʻoe e hoʻāʻo i ka mana hou i nā pilikia maoli me ka ʻole e hoʻoweliweli i ka hilinaʻi o ka mea hoʻohana. He mea maikaʻi loa ka hoʻolaha ʻana o Canary no kēia. Hāʻawi lākou iā ʻoe e hōʻike i kahi hiʻohiʻona hou i kahi ʻāpana o nā mea hoʻohana. Hiki i kēia ʻāpana ke komo i nā mea hoʻohana pono loa a i ʻole nā ​​​​mea hana me ka mana manuahi o ka huahana, a i ʻole nā ​​mea hoʻohana i hōʻike i ka makemake e lilo i "puaʻa guinea".

Hoʻokō ʻo Service meshes i kēia ma ka ʻae ʻana iā ʻoe e kuhikuhi i nā pae hoʻohālike e hoʻoholo ai i ka mea e ʻike i ka mana o ka noi, a me ke ala ʻana i nā kaʻa e like me ia. Eia naʻe, ʻaʻohe mea e hoʻololi no nā lawelawe ponoʻī. Manaʻo ka mana 1.0 o ka lawelawe e hele mai nā noi āpau mai nā mea hoʻohana e ʻike iā ia, a manaʻoʻiʻo ka mana 1.1 no nā mea hoʻohana. I kēia manawa, hiki iā ʻoe ke hoʻololi i ka pākēneka o ke kaʻa ma waena o nā mana kahiko a me nā mana hou, e hoʻihoʻi hou ana i ka nui o nā mea hoʻohana i ka mea hou inā hana paʻa ia a hāʻawi kāu "puaʻa guinea" i ka hele mua.

8. Nā hoʻolālā uliuli-'ōmaʻomaʻo

TL; DR: E hoʻopuka i kahi hiʻohiʻona hou, akā e mākaukau e hoʻihoʻi koke i nā mea āpau.

Makana ʻōuliuli ʻōmaʻomaʻo deployments ʻo ia ka ʻōwili ʻana i kahi lawelawe "uliuli" hou, e hoʻokuʻu like me ka mea kahiko, "'ōmaʻomaʻo". Inā holo mālie nā mea a pau a hana maikaʻi ka lawelawe hou, a laila hiki ke hoʻopau ʻia ka mea kahiko. (Auwe, i kekahi lā e hana hou kēia lawelawe "uliuli" i ka hopena o ka "'ōmaʻomaʻo" a nalowale ...) He ʻokoʻa nā hoʻolaha ʻulaʻula-ʻōmaʻomaʻo mai nā canary i ka uhi ʻana o ka hana hou. i ka manawa like mea hoʻohana (ʻaʻole hapa); ʻO ka manaʻo ma ʻaneʻi, ʻo ia ka hoʻomākaukau ʻana i kahi "wawa palekana" inā pilikia kekahi mea.

Hāʻawi nā mīkini lawelawe i kahi ala kūpono loa e hoʻāʻo ai i kahi lawelawe "uliuli" a hoʻololi koke i kahi "'ōmaʻomaʻo" hana inā pilikia. ʻAʻole e haʻi i ka ʻoiaʻiʻo ma ke ala e hāʻawi lākou i ka ʻike he nui (e ʻike i ka "Telemetry" ma lalo) e pili ana i ka hana o ka "blue", e kōkua ana e hoʻomaopopo inā ua mākaukau no ka hana piha.

Nānā. unuhi.: Hiki iā ʻoe ke heluhelu hou aʻe e pili ana i nā hoʻolālā hoʻolālā like ʻole ma Kubernetes (me ka canary i ʻōlelo ʻia, blue/green a me nā mea ʻē aʻe) ma kēiaʻatikala.

9. Nānā ola kino

TL; DR: E mālama pono i nā mea lawelawe i hana a pane aku i nā mea hana ʻole.

Nānā olakino (ke ola kino) kōkua i ka hoʻoholo ʻana inā mākaukau nā lawelawe lawelawe e ʻae a hoʻoponopono i nā kaʻa. No ka laʻana, i ka hihia o nā lawelawe HTTP, ʻike paha ka nānā olakino me kahi noi GET i ka hopena /health... Pane 200 OK 'o ia ho'i he olakino ka la'ana, a me nā mea'ē a'e - 'a'ole i mākaukau e loa'a nā ka'a. Hāʻawi nā meshes lawelawe iā ʻoe e kuhikuhi i ke ala e nānā ʻia ai ka hana a me ke alapine e hoʻokō ʻia ai kēia loiloi. Hiki ke hoʻohana ʻia kēia ʻike no nā kumu ʻē aʻe - no ka laʻana, no ka hoʻopaʻa ʻana i ka ukana a me ka uhaki kaapuni.

No laila, ʻaʻole hoʻohana kūʻokoʻa ka nānā olakino, akā hoʻohana mau ʻia no ka hoʻokō ʻana i nā pahuhopu ʻē aʻe. Eia kekahi, ma muli o nā hopena o ka nānā ʻana i ke olakino, koi ʻia nā hana ma waho o nā pahuhopu mesh lawelawe ʻē aʻe: no ka laʻana, ka hoʻonui ʻana i ka ʻaoʻao kūlana, ka hana ʻana i kahi pilikia ma GitHub, a i ʻole ka hoʻopiha ʻana i kahi tikiki JIRA. A hāʻawi ʻo service mesh i kahi mīkini kūpono e hoʻokaʻawale i kēia mau mea āpau.

10. Haawe hookahe

TL; DR: Hoʻihoʻi hou i ke kaʻa i ka pane ʻana i kahi spike pōkole i ka hoʻohana.

Inā ʻoi aku ka nui o kekahi lawelawe i nā kaʻa, hiki iā ʻoe ke hoʻihoʻi i kekahi o kēia kaʻa i kahi wahi ʻē aʻe (ʻo ia hoʻi, "dump", "transfer" (hale) iā ia ma laila). No ka laʻana, i kahi lawelawe hoʻihoʻi a i ʻole kikowaena data, a i ʻole i kahi paʻa Pulsar kumuhana. ʻO ka hopena, e hoʻomau ka lawelawe i kekahi mau noi ma mua o ka hāʻule ʻana a hoʻōki i ka hana ʻana i nā mea āpau. ʻOi aku ka maikaʻi o ka hoʻokahe ʻana i ka ukana ma mua o ka uhaki ʻana i ke kaapuni, akā ʻaʻole pono e hana ʻino ʻia. Kōkua ia i ka pale ʻana i ka hāʻule ʻana o ka cascading e hāʻule ai nā lawelawe o lalo.

11. Ka hoʻolikelike kaʻahele/ka aniani

TL;DR: E hoʻouna i hoʻokahi noi i kekahi mau wahi i ka manawa hoʻokahi.

I kekahi manawa pono e hoʻouna i kahi noi (a i ʻole kekahi koho o nā noi) i kekahi mau lawelawe i ka manawa hoʻokahi. ʻO kahi hiʻohiʻona maʻamau ka hoʻouna ʻana i kahi ʻāpana o ke kaʻa hana i kahi lawelawe hoʻokūkū. Hoʻouna ke kikowaena pūnaewele hana nui i kahi noi i ka lawelawe o lalo products.production a iā ia wale nō. A na ka mesh lawelawe e kope akamai i kēia noi a hoʻouna aku i products.staging, i ʻike ʻole ʻia e ke kikowaena pūnaewele.

ʻO kekahi hihia hoʻohana mesh e pili ana i hiki ke hoʻokō ʻia ma luna o ka parallelization traffic hoʻāʻo regression. Hoʻopili ia i ka hoʻouna ʻana i nā noi like i nā mana like ʻole o ka lawelawe a me ka nānā ʻana inā like nā mana āpau. ʻAʻole au i ʻike i kahi hoʻokō mesh lawelawe me kahi ʻōnaehana hoʻāʻo regression hoʻohui like Diffy, akā ʻo ka manaʻo ponoʻī he mea hoʻohiki.

12. Hoʻomāmā

TL; DR: Wehe i kāu mesh lawelawe i loko o nā pūnaewele mini.

Also ike maheleʻO ka hoʻokaʻawale ʻana ke ʻano o ka hoʻokaʻawale ʻana i kahi mesh lawelawe i nā ʻāpana like ʻole i ʻike ʻole kekahi i kekahi. ʻO ka hoʻokaʻawale ʻana e like me ka hoʻokumu ʻana i nā pūnaewele pilikino virtual. ʻO ka ʻokoʻa koʻikoʻi hiki iā ʻoe ke hauʻoli i nā pono āpau o kahi mesh lawelawe (e like me ka ʻike lawelawe), akā me ka palekana hou. No ka laʻana, inā hiki i ka mea hoʻouka ke komo i loko o kahi lawelawe ma hoʻokahi subnet, ʻaʻole hiki iā ia ke ʻike i nā lawelawe e holo nei ma nā subnets ʻē aʻe a i ʻole ke keakea i kā lākou kalepa.

Eia kekahi, hiki i nā pōmaikaʻi ke hoʻonohonoho. Makemake paha ʻoe e subnet i kāu mau lawelawe e pili ana i ke ʻano o kāu ʻoihana a hoʻomaha i nā mea hoʻomohala o ka haʻahaʻa cognitive o ka mālama ʻana i ka mesh lawelawe holoʻokoʻa i ka noʻonoʻo.

13. Noi i ka palena palena, ho'āʻo hou a me ka manawa

TL; DR: ʻAʻole pono ʻoe e hoʻokomo i nā hana hoʻokele noi nitty-gritty i kāu codebase.

Hiki ke noʻonoʻo ʻia kēia mau mea āpau i nā hihia hoʻohana ʻokoʻa, akā ua hoʻoholo wau e hoʻohui iā lākou ma muli o hoʻokahi hiʻohiʻona maʻamau: lawe lākou i ka noi ʻana i nā hana hoʻokele lifecycle e lawelawe mau ʻia e nā hale waihona puke. Inā ʻoe e hoʻomohala nei i kahi kikowaena pūnaewele ma Ruby on Rails (ʻaʻole i hoʻohui ʻia me kahi mesh lawelawe) e noi ana i nā lawelawe backend ma o gRPC, pono ka palapala noi e hoʻoholo i ka mea e hana ai inā hāʻule nā ​​noi N. Pono ʻoe e ʻike i ka nui o nā kaʻa e hiki ai i kēia mau lawelawe ke hana a paʻakikī i kēia mau ʻāpana me ka hoʻohana ʻana i kahi waihona kūikawā. Eia kekahi, pono e hoʻoholo ka noi i ka manawa e haʻalele ai a hoʻokuʻu i ka noi (e pili ana i ka manawa manawa). A i mea e hoʻololi ai i kekahi o nā ʻāpana i luna, pono e pani ʻia ka pūnaewele pūnaewele, hoʻonohonoho hou a hoʻomaka hou.

ʻO ka hoʻokuʻu ʻana i kēia mau hana i kahi mesh lawelawe ʻaʻole wale ka manaʻo ʻaʻole pono nā mea hoʻomohala lawelawe e noʻonoʻo e pili ana iā lākou, akā hiki ke nānā ʻia lākou ma ke ʻano honua. Inā hoʻohana ʻia kahi kaulahao paʻakikī o nā lawelawe, e ʻōlelo ʻo A -> B -> C -> D -> E, pono e noʻonoʻo ʻia ke ola holoʻokoʻa o ka noi. Inā ʻo ka hana e hoʻolōʻihi i nā manawa manawa ma ka lawelawe C, pono e hana i kēia i ka manawa hoʻokahi, ʻaʻole i nā ʻāpana: ma ka hoʻonui ʻana i ke code lawelawe a kali a hiki i ka ʻae ʻia ʻana o ka noi huki a hoʻopuka ka ʻōnaehana CI i ka lawelawe hou.

14. Telemetry

TL;DR: E hōʻiliʻili i nā ʻike āpau e pono ai (a ʻaʻole pono) mai nā lawelawe.

ʻO ka Telemetry kahi huaʻōlelo maʻamau e pili ana i nā metrics, ka hoʻokaʻawale ʻana, a me nā lāʻau. Hāʻawi nā meshes lawelawe i nā mīkini no ka hōʻiliʻili ʻana a me ka hoʻoili ʻana i nā ʻano ʻikepili ʻekolu. ʻO kēia kahi e pohihihi iki ai nā mea no ka mea he nui loa ka helu o nā koho. No ka hōʻiliʻili ʻana i nā ana IHILA a me nā mea hana ʻē aʻe i hiki ke hoʻohana ʻia no ka ʻohi ʻana i nā lāʻau maʻalahi, Loki, maʻi lele a me kekahi poʻe'ē aʻe. (no ka laʻana ClickHouse me kā mākou hale lāʻau lāʻau no K8s - ma kahi o. unuhi.), no ka tracing mahele aia ʻO Jaeger a laila. Hiki i kēlā me kēia mesh lawelawe ke kākoʻo i kekahi mau mea hana a ʻaʻole nā ​​​​mea ʻē aʻe. He mea hoihoi ke ʻike inā hiki i ka papahana Wehewehe Telemetry hāʻawi i kekahi convergence.

I kēia hihia, ʻo ka maikaʻi o ka ʻenehana mesh lawelawe ʻo ia ka mea hiki i nā pahu sidecar, ma ke kumu, e hōʻiliʻili i nā ʻikepili āpau i luna mai kā lākou lawelawe. I nā huaʻōlelo ʻē aʻe, loaʻa iā ʻoe kahi ʻōnaehana hōʻiliʻili telemetry hoʻokahi, a hiki i ka mesh lawelawe ke hana i kēia ʻike āpau ma nā ʻano like ʻole. ʻo kahi laʻana:

  • nā lāʻau huelo mai kekahi lawelawe ma ka CLI;
  • e nānā i ka nui o nā noi mai ka dashboard mesh service;
  • e hōʻiliʻili i nā meheu i hāʻawi ʻia a hoʻouna iā lākou i kahi ʻōnaehana e like me Jaeger.

Nānā, hoʻoholo manaʻo: ʻO ka ʻōlelo maʻamau, ʻo ka telemetry kahi wahi i makemake ʻole ʻia ai ke keakea ikaika mai ka mesh lawelawe. ʻO ka hōʻiliʻili ʻana i ka ʻike kumu a me ka nānā ʻana i ka lele ʻana i kekahi mau metric gula e like me ke noi ʻana i ka helu kūleʻa a me ka latency maikaʻi, akā manaʻolana mākou ʻaʻole mākou e ʻike i nā pūʻulu Frankenstein e puka mai ana e hoʻāʻo nei e hoʻololi i nā ʻōnaehana kūikawā, ʻo kekahi o ia mau mea i hōʻoia iā lākou iho a aʻo maikaʻi ʻia. .

15. Hooia

TL; DR: ʻO ka poʻe poina i nā haʻawina o ka mōʻaukala e hoʻopaʻa ʻia e hana hou iā lākou.

ʻO ka hoʻoponopono ʻana ke ʻano o ka nānā ʻana i nā hanana koʻikoʻi i loko o kahi ʻōnaehana. I ka hihia o ka mesh lawelawe, hiki i kēia ke manaʻo i ka nānā ʻana i nā mea i noi i nā kikoʻī kikoʻī no nā lawelawe kikoʻī, a i ʻole ehia mau manawa i hana ʻia kekahi hanana pili i ka palekana i ka mahina i hala.

Ua maopopo ka pili loa o ka loiloi i ka telemetry. ʻO ka ʻokoʻa, pili pinepine ka telemetry i nā mea e like me ka huahana a me ka pono ʻenehana, ʻoiai ʻo ka loiloi hiki ke pili i ke kānāwai a me nā pilikia ʻē aʻe e hele aʻe ma mua o ka ʻenehana loea (e like me ka hoʻokō me GDPR - ka EU General Regulation on data protection).

16. Hoikeike

TL;DR: E ola lōʻihi ʻo React.js - kahi kumu pau ʻole o nā pilina nani.

Aia paha kahi huaʻōlelo maikaʻi aʻe, akā ʻaʻole maopopo iaʻu. ʻO kaʻu manaʻo he hōʻike kiʻi kiʻi o kahi mesh lawelawe a i ʻole kekahi o kāna mau ʻāpana. Hiki i kēia mau hiʻohiʻona ke hoʻokomo i nā hōʻailona e like me nā latencies maʻamau, ka ʻike hoʻonohonoho sidecar, nā hopena nānā olakino, a me nā makaʻala.

ʻO ka hana ʻana i kahi ʻoihana lawelawe e pili ana i kahi haʻahaʻa cognitive ʻoi aku ka kiʻekiʻe i hoʻohālikelike ʻia me ka Mōʻī Monolith. No laila, pono e hoʻemi ʻia ka puʻuwai cognitive i nā koina āpau. ʻO kahi kiʻi kiʻi maʻalahi no kahi mesh lawelawe me ka hiki ke kaomi i kahi pihi a loaʻa ka hopena i makemake ʻia e hiki ke hoʻoholo no ka ulu ʻana o ka kaulana o kēia ʻenehana.

ʻAʻole i hoʻokomo ʻia i ka papa inoa

Ua manaʻo mua wau e hoʻokomo i kekahi mau hihia hoʻohana hou i ka papa inoa, akā ua hoʻoholo wau ʻaʻole. Eia lākou, me nā kumu o kaʻu hoʻoholo:

  • kikowaena ʻikepili lehulehu. I koʻu manaʻo, ʻaʻole kēia he hihia hoʻohana ma ke ʻano he wahi haiki a kikoʻī o ka hoʻohana ʻana i nā meshes lawelawe a i ʻole kekahi mau hana e like me ka ʻike lawelawe.
  • Komo a puka. He wahi pili kēia, akā, ua kaupalena au iaʻu iho (ma ke ʻano artificial paha) i ka hihia hoʻohana "east-west traffic". Pono ʻo Ingress a me egress i kahi ʻatikala kaʻawale.

hopena

ʻO ia wale nō i kēia manawa! Eia hou, he ʻokoʻa loa kēia papa inoa a ʻaʻole paha i piha. Inā manaʻo ʻoe ua hala au i kekahi mea a i ʻole kekahi hewa, e ʻoluʻolu e kelepona mai iaʻu ma Twitter (@luckerkins). E ʻoluʻolu e mālama i nā lula o ka pono.

PS mai ka unuhi

Hoʻokumu ʻia ke kiʻi poʻo inoa no ka ʻatikala ma kahi kiʻi mai ka ʻatikala "He aha ka Service Mesh (a i ka manawa e hoʻohana ai)?"(na Gregory MacKinnon). Hōʻike ia i ka neʻe ʻana o kekahi mau hana mai nā noi (ma ka ʻōmaʻomaʻo) i kahi mesh lawelawe e hāʻawi ai i nā pilina ma waena o lākou (ma ka uliuli).

E heluhelu pū ma kā mākou blog:

Source: www.habr.com