ViennaNET: د شالید لپاره د کتابتونونو سیټ

سلام هر!

موږ په Raiffeisenbank کې د .NET پراختیا کونکو ټولنه یو او موږ غواړو چې د .NET کور پر بنسټ د زیربنایی کتابتونونو د یوې سیټ په اړه وغږیږو ترڅو د یو واحد اکوسیستم سره د مایکرو خدماتو چټکتیا رامینځته کړو. دوی دا خلاصې سرچینې ته راوړي!

ViennaNET: د شالید لپاره د کتابتونونو سیټ

یو څه تاریخ

یو وخت موږ یو لوی واحد پروژه درلوده، کوم چې په تدریجي ډول د مایکرو سرویسونو په سیټ بدل شو (تاسو کولی شئ د دې پروسې ځانګړتیاو په اړه ولولئ دا مقاله). په پروسه کې، موږ له ستونزې سره مخ شو چې کله د نوي مایکرو خدماتو رامینځته کول، موږ ډیری وختونه د زیربناوو مختلف حلونه کاپي کول - لکه د ننوتلو ترتیب کول، د ډیټابیس سره کار کول، WCF، او نور. یو ټیم په دې پروژه کار کاوه، او هرڅوک دمخه د زیربنا سره د کار کولو لپاره د ځینې تاسیس شوي چلند سره عادت شوي وو. له همدې امله ، موږ عام کوډ په جلا ذخیره کې جلا کړ ، راټول شوي کتابتونونه یې په نوګټ کڅوړو کې وتړل او زموږ په داخلي نګیټ ذخیره کې یې ځای په ځای کړل.

وخت تېر شو، پروژه په تدریجي ډول ټوټه ټوټه شوه، او هیله وه چې په عصري JS چوکاټ کې د پیرودونکي اړخ نوي ماډلونه رامینځته کړي او په براوزر کې یې پرمخ بوځي. موږ له WCF/SOAP څخه REST/HTTP ته حرکت پیل کړ، نو موږ د AspNet WebApi پراساس د خدماتو د چټکولو لپاره نوي کتابتونونو ته اړتیا لرو. د .Net چوکاټ 4.5 لومړۍ نسخه زموږ د معمار لخوا په خپل وړیا وخت کې نږدې د هغه په ​​​​زنګونونو کې جوړه شوې وه، مګر د بکس څخه بهر دا یې ممکنه کړه چې په Program.cs کې د دریو لینونو سره یو خدمت پیل کړي چې اجازه لري (NTLM)، logging, Swagger, IoC/DI د Castle Windsor پر بنسټ، دودیز شوي HTTP مراجعین چې د ټولې پروژې په اوږدو کې د پای څخه تر پای پورې لاګنګ چمتو کولو لپاره مختلف سرلیکونه وړاندې کوي. او دا ټول شی په مستقیم ډول د خدماتو ترتیب کولو فایل کې نور هم تنظیم کیدی شي.

په هرصورت، هرڅه سم ندي: دا کتابتون د نوي ماډلونو معرفي کولو په برخه کې خورا انعطاف منونکی و. د مثال په توګه ، که تاسو اړتیا لرئ یو څه ځانګړي مینځني توکي اضافه کړئ ، نو تاسو باید یو نوی مجلس رامینځته کړئ او د بیس کلاس څخه میراث واخلئ چې خدمت پرمخ وړي ، کوم چې خورا ناشونی و. خوشبختانه، داسې ډیری قضیې شتون نلري.

د Docker او Kubernetes دوره

هغه وخت راغلی کله چې د ډاکر او کبرنیټس څپې موږ ته ورسیدې ، کوم چې موږ له نږدې لیدلي: په هرصورت ، دا یو ښه چانس و چې د ټیکنالوژۍ سره نور حرکت پیل کړئ ، په .Net کور کې. دا پدې مانا ده چې موږ به د خدماتو د چلولو لپاره نوي زیربنا ته اړتیا ولرو: ځینې کتابتونونه د .Net چوکاټ څخه .Net Standard او .Net Core ته لیږدول شوي دي په عملي توګه پرته له بدلونونو، ځینې یې د کوچنیو پرمختګونو سره. مګر له ټولو څخه ما غوښتل چې د AspNet Core کې د خدماتو پیل کولو پورې اړوند فعالیت بیا کار وکړم.

لومړی شی چې موږ یې په پام کې نیول یو مفهوم و چې د پخوانۍ نسخې اصلي نیمګړتیا به لیرې کړي: د انعطاف نشتوالی. له همدې امله پریکړه وشوه چې د کتابتون ټول سیسټم د امکان تر حده خپلواک او ماډلر جوړ کړي او د جوړونکي په توګه د فعالیت لپاره اړین خدمات راټول کړي.

اصلي هدف د یو متحد چلند رامینځته کول دي چې د ډیټابیسونو ، بسونو او نورو خدماتو سره د تعامل څرنګوالي تشریح کوي. موږ هڅه وکړه چې ادغام ګړندي او بې درده کړو ، او پراختیا کونکي کولی شي د زیربنا پرځای د سوداګرۍ منطق لیکلو باندې تمرکز وکړي - دا دمخه چمتو دی. یو عام ذخیره د ټیمونو دننه د متقابل عمل تجربه ښه کولو کې مرسته کوي: کله چې ورته داخلي زیربناوې کارول کیږي، نو د بل ټیم ​​پراختیایي پروسې سره یوځای کول او د مهارتونو تبادله اسانه ده.

او ولې موږ خلاصې سرچینې ته اړتیا لرو؟

موږ غواړو زموږ د مهارتونو بشپړتیا وښیو او د لوړ کیفیت فیډبیک ترلاسه کړو: د بانک څخه بهر یو کس به وکوالی شي د ځان څخه یو څه راوړي. موږ په صنعت کې د .NET په اړه د مایکرو خدماتو او DDD سره د کار کولو لپاره د تمرینونو پراختیا کې هم علاقه لرو؛ شاید یو څوک وغواړي چې د چوکاټ ځینې برخې په غاړه واخلي.

په حقیقت کې، ViennaNET

اوس راځئ چې نږدې وګورو. بشپړ سرچینه کوډ دلته خپور شوی.

ViennaNET.WebApi.*

د کتابتونونو دا ټولګه د "روټ" ViennaNET.WebApi څخه جوړه ده، چې د شرکت هسټ بلډر خدمت لپاره د جوړونکي ټولګي لري، او د ترتیب کونکو ViennaNET.WebApi.Configurators.*، چې هر یو تاسو ته اجازه درکوي چې په جوړ شوي کې ځینې فعالیت اضافه او تنظیم کړئ. خدمت د ترتیب کونکو په مینځ کې تاسو کولی شئ د ننوتلو ، تشخیصاتو ، تصدیق کولو او جواز ډولونو ، سویګر ، او داسې نورو لپاره اړیکې ومومئ.

ViennaNET.WebApi.Runners.* د مخکې څخه ترتیب شوي خدمت جوړونکي هم لري. دا کڅوړې تاسو ته اجازه درکوي هرکله چې تاسو یو نوی خدمت رامینځته کړئ په یاد ولرئ چې تنظیم کونکي باید وصل شي. په هرصورت، دوی په هیڅ ډول د خدماتو جوړونکي فعالیت نه محدودوي.

ViennaNET.Mediator.*

کتابتونونه چې تاسو ته اجازه درکوي په خدمت کې د امرونو او غوښتنو لپاره داخلي منځګړی بس جوړ کړئ. دا طریقه تاسو ته اجازه درکوي چې د DI انجیکونو شمیر یو ته راټیټ کړي، د بیلګې په توګه، په کنټرولرونو کې. د دې له امله ، تاسو کولی شئ په غوښتنو کې مختلف سینګار کونکي اضافه کړئ ، کوم چې د دوی پروسس متحد کوي او د کوډ مقدار کموي.

ViennaNET.Validation

یوه مجلس چې د ټولګیو مجموعه لري ترڅو د دوی څخه د اعتبار قواعد او ترتیبونه رامینځته کړي. دا د ډومین تصدیق پلي کولو لپاره خورا اسانه دی ، ځکه چې دا تاسو ته اجازه درکوي د هر سوداګرۍ حالت د ساده او جلا قواعدو په بڼه تشریح کړئ.

ViennaNET.Redis

د ریډیس سره د حافظې کې کیچ په توګه د مناسب کار لپاره د ریپرونو سره یو کتابتون.

ViennaNET. مشخصات

یوه مجلس چې ټولګي لري چې د ځانګړتیا نمونه پلي کوي.

دا ټول هغه څه ندي چې زموږ په سیټ کې دي. تاسو کولی شئ پاتې نور وګورئ د GitHub ذخیره کې. موږ پلان لرو چې خپل کتابتونونه د ډیټابیسونو سره کار کولو لپاره ډیر ژر خلاص کړئ.

ستاسو د پاملرنې څخه مننه، موږ ستاسو نظرونو او غوښتنو ته سترګې په لار یو.

سرچینه: www.habr.com

Add a comment