ViennaNET: bibliothecarum statuto pro backend

Всем привет!

Communitas .NET tincidunt apud Raiffeisenbank sumus et loqui volumus de bibliothecarum infrastructurarum copia innixa .NET Core ut celeriter creando microservices cum una ecosystematis habeamus. Patefacio id attulerunt!

ViennaNET: bibliothecarum statuto pro backend

A paulo historia

Olim magnum consilium monolithicum habuimus, quod sensim in microservorum statuto versabatur (legere potes de lineamentis huius processus in hoc articulum). In processu problemati subivimus quod novas microservices creando, saepe varias solutiones infrastructuras exscribere debebamus, sicut logging erigere, operando cum database, WCF, etc. Una turma in hoc incepto laboravit, et omnes iam consueverunt aliquem aditum ad infrastructuram operandi. Ideo commune codicem in separatum repositorium separavimus, collectas bibliothecas in Nuget fasciculis involvebamus easque in reposito interno Nuget collocavimus.

Tempus praeteriit, consilium paulatim redactum est, et cupiebat novos modulos clientis lateris in nova JS compage creare et eos in navigatro currere. Nos ab WCF/SOAP ad REST/HTTP movere coepimus, ut novas bibliothecas ad operas in AspNet WebApi celeriter deducendas opus esse coepimus. Prima versio in .Net Framework 4.5 ab architecto nostro paene super genubus libera facta est, sed ex archa effecit ut munus mitteret cum tribus lineis in Program.cs, quae licentia (NTLM). logging, Swagger, IoC/DI in fundata castelli Windesore, clientes HTTP nativus, qui varios principes proferunt ad finem-ad-finem colligationem per totum consilium praestandum. Et haec tota res ulterius configurari potest directe in fasciculi officiorum conformatione.

Nihilominus non omnia levia sunt: ​​haec bibliotheca evasit valde inflexibilis ad novos modulos introducendi. Exempli gratia, si opus aliquod speciale mediae instrumenti adiungeres, novum conventum creare debebas et ex turpi genere servitutis, quod perquam incommodum erat, possidere. Feliciter non multi tales.

Aetas Docker et Kubernetes

Tempus advenit cum fluctus Docker et Kubernetes ad nos pervenerunt, quod proxime attenti sumus: tamen magna occasio fuit progrediendi per technologias in .Net Core. Hoc significat quod nova infrastructura indigebimus ad officia currendi: nonnullae bibliothecae e .Net Framework migraverunt ad .Net Latin et .Net Core sine mutationibus fere, nonnullis cum melioribus minoribus. Maxime autem volui operas in AspNet Core deducendis sociari functionis associatur.

Primum visum erat conceptus qui pelagus incommodum prioris versionis tolleret: defectus flexibilitas. Ideo placuit totam bibliothecam ratiocinationem quam maxime independentem et modularem efficere et officia necessaria ad functionem tamquam machinatorem colligere.

Praecipuum propositum est ad unitatem accessionem creare, qui describit quomodo se correspondeant databases, buses et alia officia. Integrationes vivos et sine dolore facere conati sumus, ac tincidunt potius in negotio logicae scribendae quam infrastructuram intendere posse - iam est paratus. Commune repositio adiuvat experientiam commercii intra iunctos emendare: cum simillima infrastructura interna adhibentur, facilius est processum evolutionis alterius copulare et peritia commutare.

Et quid opus est Open Source?

Peritiae nostrae maturitatem volumus ostendere ac opiniones GENERALES recipere: homo extra ripam aliquid ex se afferre poterit. Studiorum etiam sumus in progressione exercitationum ad operandum in microserviis et in industria DDD in NET, fortasse aliquis aliquas partes compagis occupare volet.

Vere, ViennaNET

Nunc propius inspiciamus. The full source code is posted here.

ViennaNET.WebApi.

Hic ordo bibliothecarum consistit ex "radice" ViennaNET.WebApi, fabricator classis ad servitium CompanyHostBuilder continens, et configuratorum ViennaNET.WebApi.Configuratorum copia.*, quarum singula permittit ut aliquam functionem creato addere et configurare. servitutis. Inter configuratores invenire potes nexus pro logging, diagnostica, authenticas et auctoritatis rationes, swagger, etc.

ViennaNET.WebApi.Runners.* praeterea officia aedificantium praefigurata continet. Hae fasciculi non permittunt te meminisse quotienscumque novum ministerium creas quod configuratores coniungi necesse est. Officia officia architecto sed neque modi sunt ullam ratione.

ViennaNET.Mediator.

Librarii qui te permittunt creare bus mediis internis pro mandatis et petitionibus intra servitium. Hic aditus permittit ut numerum DI injectionum ad unum reducere, exempli gratia, in moderatoris. Propter hoc postulationes varias ornamentorum addere potes, quae eorum processus coniungit et summam codicis minuit.

ViennaNET.Validation

Coetus in quo est certa genera ad sanandum regulas et sequentia ex illis faciendis. Commodissimum est ad sanationem domain exsequendam, quod permittit tibi singulas res condiciones in forma simplicis et separatae regulae describere.

ViennaNET.Redis

Bibliotheca cum involucris ad opus opportunum cum Redis ut thesaurum in- memoriam.

ViennaNET.Specifications

Coetus continens classes, quae Specificationis exemplar efficiendi sunt.

Hoc non est omne quod in nostro statuto. Reliqua videre potes in GitHub repositio. Cogitamus nostras bibliothecas dimittere pro operando cum databases ad primum OpenSource.

Gratias tibi pro attentione tua, tuas commentarios expectamus et petitiones collige.

Source: www.habr.com

Add a comment