ViennaNET: he pūʻulu hale waihona puke no ka hope

Hello a pau!

He kaiāulu mākou o nā mea hoʻomohala .NET ma Raiffeisenbank a makemake mākou e kamaʻilio e pili ana i kahi pūʻulu o nā hale waihona puke e pili ana i ka .NET Core no ka hana wikiwiki ʻana i nā microservices me kahi kaiaola hoʻokahi. Lawe lākou iā Open Source!

ViennaNET: he pūʻulu hale waihona puke no ka hope

He wahi moʻolelo

I kekahi manawa ua loaʻa iā mākou kahi papahana monolithic nui, i hoʻololi liʻiliʻi i kahi pūʻulu microservices (hiki iā ʻoe ke heluhelu e pili ana i nā hiʻohiʻona o kēia kaʻina hana ma kēiaʻatikala). Ma ke kaʻina hana, ua loaʻa iā mākou ka pilikia i ka wā e hana ai i nā microservices hou, pono mākou e kope i nā hoʻonā ʻenehana like ʻole - e like me ka hoʻonohonoho ʻana i ka logging, hana me kahi waihona, WCF, etc. Hoʻokahi pūʻulu i hana i kēia papahana, a ua maʻa nā mea a pau i kahi ala paʻa i ka hana me ka ʻoihana. No laila, ua hoʻokaʻawale mākou i ke code maʻamau i loko o kahi waihona ʻokoʻa, ua kāʻei i nā hale waihona puke i hōʻiliʻili ʻia i nā pūʻolo Nuget a waiho iā lākou i loko o kā mākou waihona Nuget kūloko.

Ua hala ka manawa, ua ʻāpana liʻiliʻi ka pāhana, a aia ka makemake e hana i nā modula ʻaoʻao o nā mea kūʻai aku ma kahi hoʻolālā JS hou a holo iā lākou i ka polokalamu kele pūnaewele. Ua hoʻomaka mākou e neʻe mai WCF/SOAP a i REST/HTTP, no laila pono mākou i nā hale waihona puke hou e hoʻomaka koke i nā lawelawe ma luna o AspNet WebApi. ʻO ka mana mua ma ka .Net Framework 4.5 i hana ʻia e kā mākou mea hoʻolālā kokoke i kona mau kuli i kona manawa kūʻokoʻa, akā ma waho o ka pahu i hiki ai ke hoʻomaka i kahi lawelawe me nā laina ʻekolu ma Program.cs i loaʻa ka mana (NTLM), logging, Swagger, IoC/DI ma muli o Castle Windsor, nā mea kūʻai HTTP maʻamau e hoʻouna i nā poʻomanaʻo like ʻole e hāʻawi i ka hoʻopaʻa inoa hope-a-hope ma ka papahana holoʻokoʻa. A hiki ke hoʻonohonoho pololei ʻia kēia mea āpau i ka faila hoʻonohonoho lawelawe.

Akā naʻe, ʻaʻole i maʻalahi nā mea a pau: ua lilo kēia waihona i mea paʻakikī loa e pili ana i ka hoʻokomo ʻana i nā modula hou. No ka laʻana, inā pono ʻoe e hoʻohui i kekahi middleware kūikawā, pono ʻoe e hana i kahi hui hou a hoʻoilina mai ka papa kumu e holo nei i ka lawelawe, he mea paʻakikī loa. ʻO ka mea pōmaikaʻi, ʻaʻole nui loa nā hihia like.

ʻO ke au o Docker a me Kubernetes

Ua hiki mai ka manawa i hiki mai ai ka nalu o Docker a me Kubernetes iā mākou, a mākou i nānā pono ai: ma hope o nā mea a pau, he manawa kūpono ia e hoʻomaka ai e neʻe hou aku ma nā ʻenehana, ma .Net Core. ʻO ia ke ʻano e pono ai mākou i kahi ʻōnaehana hou e holo ai i nā lawelawe: ua neʻe kekahi mau hale waihona puke mai ka .Net Framework i ka .Net Standard a me ka .Net Core me ka ʻole o nā loli, ʻo kekahi me nā hoʻomaikaʻi liʻiliʻi. Akā ʻo ka hapa nui o nā mea āpau aʻu i makemake ai e hana hou i ka hana e pili ana i ka hoʻolaha ʻana i nā lawelawe ma AspNet Core.

ʻO ka mea mua a mākou i noʻonoʻo ai he manaʻo e hoʻoneʻe i ka drawback nui o ka mana mua: nele o ka maʻalahi. No laila, ua hoʻoholo ʻia e hana i ka ʻōnaehana waihona holoʻokoʻa e like me ke kūʻokoʻa a me ka modular e like me ka hiki a hōʻiliʻili i nā lawelawe e pono ai no ka hana ma ke ʻano he mea kūkulu.

ʻO ka pahuhopu nui ka hoʻokumu ʻana i kahi ala hui e wehewehe ana i ke ʻano o ka launa pū ʻana me nā ʻikepili, nā kaʻa a me nā lawelawe ʻē aʻe. Ua hoʻāʻo mākou e hoʻohui wikiwiki a me ka ʻeha ʻole, a hiki i nā mea hoʻomohala ke noʻonoʻo i ke kākau ʻana i ka loiloi ʻoihana ma mua o ka ʻoihana - ua mākaukau. ʻO kahi waihona maʻamau e kōkua i ka hoʻomaikaʻi ʻana i ka ʻike o ka launa pū ʻana i loko o nā hui: ke hoʻohana ʻia nā ʻōnaehana kūloko like loa, ʻoi aku ka maʻalahi o ke komo ʻana i ke kaʻina hana hoʻomohala o kahi hui ʻē aʻe a hoʻololi i ka ʻike.

A no ke aha mākou e pono ai i Open Source?

Makemake mākou e hōʻike i ke ʻano o ko mākou akamai a loaʻa i nā manaʻo manaʻo kiʻekiʻe: hiki i kahi kanaka ma waho o ka panakō ke lawe mai i kekahi mea no lākou iho. Makemake pū mākou i ka hoʻomohala ʻana i nā hana no ka hana ʻana me nā microservices a me DDD ma .NET ma ka ʻoihana, makemake paha kekahi e lawe i kekahi mau ʻāpana o ka framework.

ʻOiaʻiʻo, ʻo ViennaNET

I kēia manawa, e nānā pono kākou. Hoʻopuka ʻia ka code kumu piha ma ʻaneʻi.

ViennaNET.WebApi.*

Aia kēia pūʻulu hale waihona puke i ka ViennaNET.WebApi "aʻa", aia ka papa hana hale no ka lawelawe CompanyHostBuilder, a me kahi hoʻonohonoho o nā configurators ViennaNET.WebApi.Configurators.*, kēlā me kēia mea e hiki ai iā ʻoe ke hoʻohui a hoʻonohonoho i kekahi mau hana i ka mea i hana ʻia. lawelawe. Ma waena o nā configurators hiki iā ʻoe ke ʻike i nā pilina no ka logging, diagnostics, authentication and authorization type, swagger, etc.

ʻO ViennaNET.WebApi.Runners.* loaʻa pū kekahi i nā mea kūkulu lawelawe i hoʻonohonoho mua ʻia. Hāʻawi kēia mau pūʻolo iā ʻoe ʻaʻole e hoʻomanaʻo i kēlā me kēia manawa āu e hana ai i kahi lawelawe hou e pono ai nā configurators e hoʻopili. Eia naʻe, ʻaʻole lākou e kaupalena i ka hana o ka mea hana lawelawe ma kekahi ʻano.

ViennaNET.Mediator.*

Nā hale waihona puke e ʻae iā ʻoe e hana i kahi kaʻa kaʻa waena no nā kauoha a me nā noi i loko o kahi lawelawe. ʻO kēia ala e hiki ai iā ʻoe ke hōʻemi i ka helu o DI injections i hoʻokahi, no ka laʻana, i nā mea hoʻokele. Ma muli o kēia, hiki iā ʻoe ke hoʻohui i nā mea hoʻonaninani like ʻole i nā noi, e hoʻohui i kā lākou hana a hōʻemi i ka nui o ke code.

ViennaNET.Validation

He hui i loaʻa i nā papa no ka hana ʻana i nā lula hōʻoia a me nā kaʻina mai ia mau mea. He mea maʻalahi loa ia no ka hoʻokō ʻana i ka hōʻoia domain, no ka mea hiki iā ʻoe ke wehewehe i kēlā me kēia kūlana ʻoihana ma ke ʻano o kahi lula maʻalahi a kaʻawale.

ViennaNET.Redis

He hale waihona puke me nā ʻōpala no ka hana maʻalahi me Redis ma ke ʻano he huna huna.

ViennaNET.Specifications

He hui i loaʻa nā papa e hoʻokō i ke ʻano kikoʻī.

ʻAʻole kēia wale nō i loko o kā mākou hoʻonohonoho. Hiki iā ʻoe ke ʻike i ke koena ma ka waihona waihona GitHub. Ke hoʻolālā nei mākou e hoʻokuʻu i kā mākou mau hale waihona puke no ka hana ʻana me nā ʻikepili i OpenSource koke.

Mahalo iā ʻoe no kou nānā ʻana, ke kakali nei mākou i kāu mau ʻōlelo a me nā noi huki.

Source: www.habr.com

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