Ke koho ʻana i ke ʻano hana hale (mahele 3)

Aloha, Habr. I kēia lā ke hoʻomau nei au i nā puke paʻi aʻu i kākau kūikawā ai no ka hoʻomaka ʻana o kahi kahawai hou o ka papa. "Kōnaehana Pūnaewele".

Hōʻike

ʻO ke koho ʻana i ke ʻano hana hale kekahi o nā hoʻoholo ʻenehana kumu i ke kūkulu ʻana i kahi ʻōnaehana ʻike. Ma kēia pūʻulu ʻatikala, manaʻo wau e kālailai i nā ʻano hana hale kaulana loa no ke kūkulu ʻana i nā noi a pane i ka nīnau no ka manawa hea ke ʻano hana hale i makemake nui ʻia. I ke kaʻina o ka hōʻike ʻana, e hoʻāʻo wau e huki i kahi kaulahao loiloi e wehewehe ana i ka hoʻomohala ʻana o nā ʻano hoʻolālā mai nā monoliths a i nā microservices.

ʻO ka manawa hope loa mākou i kamaʻilio e pili ana i nā ʻano monoliths like ʻole a me ka hoʻohana ʻana i nā ʻāpana e kūkulu ai iā lākou, nā ʻāpana kūkulu a me nā ʻāpana hoʻonohonoho. Hoʻomaopopo mākou i ka hoʻolālā lawelawe.

I kēia manawa e wehewehe mākou i nā hiʻohiʻona nui o kahi hoʻolālā microservice.

Ka pilina o nā hale hana

Pono e hoʻomaopopo ʻia ma muli o nā wehewehe i hāʻawi ʻia i nā ʻatikala ma mua, he ʻāpana kekahi lawelawe, akā ʻaʻole kēlā me kēia lawelawe he microservice.

Nā ʻano o ka Microservice Architecture

ʻO nā hiʻohiʻona nui o ka microservice architecture:

  • Hoʻonohonoho ʻia e pili ana i nā hiki ʻoihana
  • Nā huahana ʻaʻole nā ​​papahana
  • ʻO nā helu hope akamai a me nā paipu leo
  • Ka Hooponopono Aupuni
  • Hoʻokele ʻikepili Decentralized
  • ʻOtomatika Infrastructure
  • Hoʻolālā no ka hemahema
  • Hoʻolālā me ka hoʻomohala ʻana (Evolutionary Design)

ʻO ka helu 1 e hele mai ana mai ka hale hoʻolālā lawelawe no ka mea ʻo microservices kahi hihia kūikawā o nā lawelawe. Pono e noʻonoʻo ʻia nā mea ʻē aʻe.

Hoʻonohonoho ʻia e pili ana i nā hiki ʻoihana

I kēia manawa, pono e hoʻomanaʻo i ke kānāwai o Conway: nā hui e hana nei i nā ʻōnaehana hoʻonohonoho i kāna hoʻolālā, e kope ana i ke ʻano o ka launa pū ʻana i loko o kēia mau hui. Ma keʻano he laʻana, hiki iā mākou ke hoʻomanaʻo i ka hihia o ka hana ʻana i kahi mea hoʻopili: ua hoʻomohala kahi hui o ʻehiku mau kānaka i kahi mea hōʻuluʻulu ʻehiku-pass, a ua hoʻomohala kahi hui o ʻelima i kahi mea hōʻuluʻulu ʻelima.

Inā mākou e kamaʻilio e pili ana i nā monoliths a me nā microservices, a laila inā hoʻonohonoho ʻia ka hoʻomohala ʻana e nā keʻena hana (backend, frontend, database administrators), a laila loaʻa iā mākou kahi monolith maʻamau.

No ka loaʻa ʻana o nā microservices, pono e hoʻonohonoho ʻia nā hui e ka mana ʻoihana (nā kauoha, nā hoʻouna, ka hui papa inoa). E ʻae kēia hui i nā hui e kālele i ke kūkulu ʻana i nā ʻāpana kikoʻī o ka noi.

Nā huahana ʻaʻole nā ​​papahana

ʻO kahi hoʻolālā papahana kahi e hoʻoili ai kahi hui i nā hana i kūkulu ʻia i nā hui ʻē aʻe ʻaʻole kūpono loa i ka hihia o kahi hoʻolālā microservice. Pono ka hui e kākoʻo i ka ʻōnaehana i kona pōʻai ola. Ua ʻōlelo ʻo Amazon, kekahi o nā alakaʻi i ka hoʻokō ʻana i nā microservices: "Kūkulu ʻoe, holo ʻoe." ʻO ke ala huahana e hiki ai i ka hui ke manaʻo i nā pono o ka ʻoihana.

ʻO nā helu hope akamai a me nā paipu leo

Ua nānā nui ka hoʻolālā SOA i nā ala kamaʻilio, ʻo ia hoʻi ka Enterprise Service Bus. ʻO ia ka mea e alakaʻi pinepine ai i ka Erroneous Spaghetti Box, ʻo ia hoʻi, ʻo ka paʻakikī o ka monolith e huli i ka paʻakikī o nā pilina ma waena o nā lawelawe. Ke hoʻohana nei ka hale hana Microservice i nā ala kamaʻilio maʻalahi.

Ka Hooponopono Aupuni

ʻO nā hoʻoholo koʻikoʻi e pili ana i nā microservices pono e hana ʻia e ka poʻe nāna e hoʻomohala maoli i nā microservices. Maanei, ʻo nā hoʻoholo koʻikoʻi ke ʻano o nā koho
nā ʻōlelo hoʻolālā, nā ʻano hana hoʻolaha, nā ʻaelike pili lehulehu, etc.

Hoʻokele ʻikepili Decentralized

ʻO ke ala maʻamau, kahi e hilinaʻi ai ka noi ma kahi waihona hoʻokahi, ʻaʻole hiki ke noʻonoʻo i nā kikoʻī o kēlā me kēia lawelawe kikoʻī. Hoʻopili ka MSA i ka hoʻokele data decentralized, me ka hoʻohana ʻana i nā ʻenehana like ʻole.

ʻOtomatika Infrastructure

Kākoʻo ʻo MSA i ka hoʻouna ʻana a me nā kaʻina hana. Hiki ke hoʻokō wale ʻia kēia ma nā kaʻina hana automating. I ka manawa like, ʻaʻole e like me kahi mea weliweli ka hoʻohana ʻana i ka nui o nā lawelawe. Pono e lilo ke kaʻina hana hoʻolaha. ʻO ka ʻaoʻao ʻelua e pili ana i ka hoʻokele lawelawe ma kahi ʻano huahana. Me ka ʻole o ka automation, hiki ʻole ke hoʻokele i nā kaʻina hana ma nā ʻano hana like ʻole.

Hoʻolālā no ka hemahema

Nui nā lawelawe MSA i ka hemahema. I ka manawa like, ʻaʻole hana liʻiliʻi ka hana hewa ʻana i kahi ʻōnaehana puʻunaue. Pono e kūpaʻa ka hoʻolālā noiʻi i ia mau hemahema. Manaʻo ʻo Rebecca Parsons he mea nui loa ʻaʻole mākou e hoʻohana hou i ke kamaʻilio kaʻina hana ma waena o nā lawelawe; akā, hoʻohana mākou i HTTP no ke kamaʻilio ʻana, ʻaʻole like me ka hilinaʻi.

Hoʻolālā me ka hoʻomohala ʻana (Evolutionary Design)

Pono ka hoʻolālā o ka ʻōnaehana MSA e hoʻomohala i ka evolutionarily. Pono e kaupalena i nā hoʻololi kūpono i nā palena o kahi lawelawe hoʻokahi. Pono e noʻonoʻo ʻia ka hopena i nā lawelawe ʻē aʻe. ʻO ke ala kuʻuna e hoʻāʻo e hoʻoponopono i kēia pilikia me ka versioning, akā manaʻo ʻo MSA e hoʻohana i ka versioning in
ma ke ano he hana hope loa.

hopena

Ma hope o nā mea a pau i luna, hiki iā mākou ke hoʻolālā i nā microservices. ʻO ka hoʻolālā Microservice kahi ala e hoʻomohala ai i kahi noi hoʻokahi ma ke ʻano he hōʻiliʻili o nā lawelawe liʻiliʻi, e holo ana kēlā me kēia i kāna kaʻina hana ponoʻī a me ka launa pū ʻana ma o nā mīkini māmā, pinepine he API kumu HTTP. Kūkulu ʻia kēia mau lawelawe ma luna o nā mana ʻoihana a hiki ke hoʻonohonoho kūʻokoʻa me ka hoʻohana piha ʻana
mīkini hoʻoili ʻakomi. Aia kahi pae haʻahaʻa o ka hoʻokele kikowaena o kēia mau lawelawe, hiki ke kākau ʻia i nā ʻōlelo papahana like ʻole a hoʻohana i nā ʻenehana mālama ʻikepili like ʻole.

Ke koho ʻana i ke ʻano hana hale (mahele 3)

E heluhelu i ka mahele 2

Source: www.habr.com

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