Historia Dodonis est Architectura: Tergum officium Path

Habr ia mundum mutans. Plus annum blogging sumus. Ante sex menses fere logicas opiniones ex Khabrovsk habitantibus accepimus: β€œDodo, ubique dicis rationem vestram habere. Quae ratio haec est? Et quare catena pizzeria ea indiget?

Sedimus et cogitabamus et intelleximus quod tu dicis. Digitis nostris omnia explicare conamur, sed dilacerata exit et nulla usquam plenae descriptionis ratio est. Sic longum iter incepit colligendis informationibus quaerendis auctoribus scribendoque seriem articulorum de Dodo IS. Abeamus!

Agnitiones: Gratias tibi ago pro communicandis feedback tuis nobiscum. Per illum tandem systema descripsimus, technoradar compilavit, et mox magnam processuum nostrorum descriptionem evolvemus. Sine te, sedissemus sic ad alios quinque annos.

Historia Dodonis est Architectura: Tergum officium Path

Articulorum series "Quid est Dodo IS?" narrat:

  1. Mane monolith in Dodo IS (2011-2015). (In progress...)
  2. Iter Backoffice: bases et bus separatis. (Hic es)
  3. Cliens inde iter: frons super basim (2016-2017). (In progress...)
  4. Historia verae microservices. (2018-2019). (In progress...)
  5. Secandum de monolitho et stabilizatione architecturae. (In progress...)

Si aliud quid interest discere, in commentarios scribe.

Sententia chronologicae auctoris
I regulariter conventum pro novis operariis in themate "System Architecture". Appellamus "Intro ad Dodo ARCHITECTURA EST" et est pars processus processui in novas tincidunt. Loquens una forma vel alia de architectura nostra, de eius notis, quendam accessum historicum ad descriptionem elaboravi.

Traditionaliter, systema spectamus ut compositorum (technicorum vel altioris gradus), qui inter se occurrunt modulorum negotiationum ad aliquem finem assequendum. Et dum haec sententia ad propositum iustificatur, non est omnino apta ad descriptionem et ad intelligendum. Causae plures sunt;

  • Res aliter ac in charta est. Non omnia operatur ex proposito. Et quaerimus quomodo omnia eveniant actu et opera.
  • Congruunt praesentatio notitiae. Revera, ab initio usque ad praesentem statum chronologice progredi potes.
  • A simplici ad complexum. Non universale, sed apud nos ita est. Architectura a simplicioribus aditus ad plura complexa movetur. Saepe, per complicationem, problemata exsequendi velocitatis et stabilitatis, necnon justos aliarum proprietatum e numero non-munerum requisitorum (hic bene loquebatur de multiplicitate cum aliis requisitis opponens).

Anno 2011 , architectura Dodo IS hoc modo respexit:

Historia Dodonis est Architectura: Tergum officium Path

Per 2020, paulo magis intricata facta est et talis facta est;

Historia Dodonis est Architectura: Tergum officium Path

Quomodo hoc evolutionis factum est? Cur diversae partes systematis requiruntur? Quae decisiones architecturae factae sunt et cur? In hac articulorum serie inveniamus.

Prima problemata 2016: cur officia monolithum relinquere debent?

Articuli primi in serie erunt circa officia quae primi a monolitho separabunt. Ut te in contextu constituam, dicam tibi quas quaestiones in systemate ineunte 2016 habuimus, quod de officiorum separatione agere debebamus.

Unum datorum MySql, in quod omnes applicationes quae tunc temporis in Dodo IS erant, suas tabulas conscripserunt. Consequentiae erant:

  • Grave pondus (cum 85% petitionum legebatur).
  • Basis crescebat. Propter hoc, sumptus et subsidium fluxum factum est.
  • Unius rei defectum. Si una applicationis scripturae datorum subito acrius id agere incepit, deinde aliae applicationes ictum senserunt.
  • Inefficacia reposita et queries. Saepe notitia reposita fuit in aliqua structura quae quibusdam missionibus commoda est sed non aliis. Indices nonnullas operationes accelerant, sed alios retardare possunt.
  • Quaedam problemata festinanter factae cinematographicae solutae sunt et ad databases replicationes recitatae (de hoc in articulo separato agetur), sed solum tempus adipiscendi nobis permiserunt nec fundamentaliter problema solvebant.

Quaestio erat coram ipso monolitho. Consequentiae erant:

  • Singularis ac rara solvo.
  • Difficultas est collaborativae progressionis permultorum hominum.
  • Impotentia novas technologias, novas tabulas et bibliothecas introducendi.

Problemata cum basi et monolitho pluries descriptae sunt, exempli gratia, in contextu in ruinis primis MMXVIII (Estote sicut Munch, vel pauca verba de debito technico, sistitur dies Dodo. Asynchronous scriptor ΠΈ Historia de avis Dodonis a Phoenice familia. Magnus Fall of Dodo IS) ne nimium maneam. Sinite me tantum dicere quod magis flexibilitatem dare voluimus, cum operas perficimus. Imprimis hoc ad eos pertinet, qui maxime onerati erant et radix totius systematis - Auth et Tracker.

Tergum officium Path: Separate Bases sitæ et Bus

Caput Navigationis

  1. Schema monolithium 2016
  2. Monolithum exonerare incipimus: separationem Auth et Tracker
  3. Quid Auth facit?
  4. Ubi onerat venire?
  5. exonerare Auth
  6. Quid Tracker facere?
  7. Ubi onerat venire?
  8. Exonerare Tracker

Schema monolithium 2016

Hic caudices principales sunt 2016 Dodo monolith, et infra est naufragii praecipuorum suorum operum.
Historia Dodonis est Architectura: Tergum officium Path
Traditio nummi scrinii. Ratio tabellariorum ferendis mandatis veredariis.
Contactus centrum. Accepta mandata per operantem.
Site. Paginae nostrae (dodopizza.ru, dodopizza.co.uk, dodopizza.by, etc.).
auth. Auctoritas et authenticas servitium pro backoffice.
venato. Coquina ordinis venato. Operae ad notandae statuses promptitudinis ordinem disponendi.
Restaurant cash desk. Acceptis mandatis in caupona, fiscus interfaces.
Export. Discas tradit in 1C pro ratione.
Alerts et invoices. Vox imperata in culina (exempli gratia "Nova pizza venit") + excudendi mercium per tabellarios.
Shift Manager. Interfaces ad opus procuratoris transpositio: index ordinum, chartis productivitatum, conductores ad varias transferentes.
Officii procurator. Interfaces ad opus franchiseorum et curatorum: acceptio conductorum, relationes de opera pizzeria.
Restaurant tabula. Menus ostendentes in TV in pizzerias.
Admin. Occasus pro certis pizzeria: tabula, pretium, ratio, codes promo, promotiones, vexilla pro situ, etc.
Aliquam personalis Ratio. Cedulas operarius, informationes de operariis.
Coquina Cognition Board. Tegumentum separatum quod in culina pendet et velocitatem fabrorum Etruscorum ostendit.
Communication. Mittens SMS et email.
FileStorage. Proprium servitium pro static recipiendis et emittendis.

Primae quaestiones solvendas adiuvaverunt, sed tantum ad tempus quies erant. Solutiones systematis non fiebant, ut cum basibus aliquid fieri manifestum erat. Exempli gratia generale datorum in plura specialiora dividenda sunt.

Monolithum exonerare incipimus: separationem Auth et Tracker

Praecipua officia, quae postea scripsi et legeris, plus aliis datorum;

  1. Auth. Auctoritas et authenticas servitium pro backoffice.
  2. Tracker. Coquina ordinis venato. Operae ad notandae statuses promptitudinis ordinem disponendi.

Quid Auth facit?

Auth servitium est per quod utentes aperiunt ad officium a tergo (est separatum independens login in latere clientis). Etiam in petitione refertur ut recta iura accessus adsint et haec iura ab ultimo login non mutata. machinae per eam intrant pizzerias.

Exempli gratia, ostensionem volumus aperire cum statu ordinis peracti in TV in aula pendentis. Tunc aperimus auth.dodopizza.ru, elige "Login as device", signum apparet quod in peculiari pagina de transmigratione computatrum procuratoris iniri potest, indicans rationem machinae (machinam). TV ipsa ad desideratum eius pizzeria medium peribit et nomina clientium quorum ordines parati sunt ibi ostendere incipiunt.

Historia Dodonis est Architectura: Tergum officium Path

Ubi onerat venire?

Uterque usoris usoris usoris datorum pro singulis petitionibus adit, ad mensam utentis, inde per interrogationem sql usorem extrahit et coercet num accessum et iura huic paginae necessariam habeat.

Unaquaeque machinis idem facit solum cum tabula adinventiva, inspiciendo partes suas et accessiones. Magnus numerus petitionum datorum domino datorum ad suas onerandas et vastandas facultates generales datorum in his operationibus ducit.

exonerare Auth

Auth dominium solitarium habet, id est, notitia de utentibus, logins vel machinis servitium intrat (nunc futuri) et ibi manet. Si quis eis opus fuerit, ad hoc servitium pro notitia ibit.

ESSET. Operis fluxus initio huius modi fuit:

Historia Dodonis est Architectura: Tergum officium Path

Vellem aliquantulum explicare quomodo laboraverit;

  1. Petitio externa ad backend venit (Asp.Net MVC ibi), sessio crustulum secum afferens, quae a Redis sessione data adhibetur (I). Aut notitias de accessionibus continet, et tunc ad moderatoris accessum apertum est (1) vel non.
  2. Si aditus non est, per auctoritatem procedendi opus est. Hic, pro simplici, ostenditur pars viae in eodem attributo, quamvis haec sit transitus ad paginam login. In missione positiva, sessionem rite impletam accipiemus et ad Backofficium Controllerum petemus.
  3. Si data sit, necesse est eam pro congruentia in database usoris reprimere. Munus suum mutavit, annon in pagina nunc admittitur? In hoc casu, sessione accepta (1), debes directe ire ad datorum et deprime accessum usoris utens in tabula authentica logica (2). Deinde vel ad paginam login vel ire ad moderatorem. Simplex ratio haec est, sed non omnino regula.
  4. Si omnes processus perfecti sunt, ulterius in logica in moderatoribus ac modis omittitur.

Notitia usoris ab omnibus aliis data separatur, in mensa adiunctis separatis reponitur, functiones logicae ab AuthService iacu API modos fieri possunt. Regionis termini satis clare definiuntur: utentes, eorum partes, notitia accessus, editae et accessus revocatio. Cuncta videri possunt, ut servitium separatum moveatur.

FACTUS. Id fecerunt;

Historia Dodonis est Architectura: Tergum officium Path

Hic aditus multas difficultates habet. Verbi gratia, vocans modum intra processum non est idem quod officium externum per http vocans. Latentia, commendatio, sustentatio et perspicuitas operationis omnino differunt. Andreas Morevsky fusius de hisce quaestionibus in sua relatione locutus est "L umbrae microservices".

Authenticatio muneris et cum eo servitus machinalis pro officio posteriore adhibentur, id est, pro servitiis et instrumentis in productione adhibitis. Authenticatio pro clientium officiorum (qualia positio vel applicatione mobilis) separatim occurrit absque usu Auth. Separatio circiter annum suscepit, et nunc iterum in hoc loco laboramus, systema in nova officia authenticationis transferentes (protocols vexillum).

Cur tam diu separatio fuit?
Fuerunt multae difficultates in via quae nos retardavit;

  1. Notitias de utentibus, cogitationibus et authenticis e rusticis databases in unum transferre voluimus. Ad hoc faciendum, omnes tabulas et consuetudinem transferendi habuimus ab int identifier ad global UUId identifier (nouper hunc codicem retractavimus. Romanus Bukin "Uuid - magna fabula parvae structurae" et aperto fonte project Primitivae). Usoris notitia (quia haec personalis notitia est) limitationes suas habet et in quibusdam regionibus necesse est eam separatim reponere. Sed usor globalis ID esse debet.
  2. Multae tabulae in datorum notitias computorum habentium de utentis qui operationem exercebant. Hoc requirit additum mechanismum ad constantiam curandam.
  3. Post API creationem muneris longum et gradatim tempus translationis in aliam rationem fuit. SWITCH evenire seamlessly pro usoribus et opus manuale requirebat.

Schema perscriptum machinam in pizzeria:

Historia Dodonis est Architectura: Tergum officium Path

Architectura generalis post ministerium Auth et machinas separans:

Historia Dodonis est Architectura: Tergum officium Path

illud. Pro 2020, in nova versione Auth laboramus, quae in norma auctoritatis OAuth 2.0 fundatur. Haec norma satis implicata est, sed utilis ad authenticas operas finem ad finem explicandum. In articulo "Subtilitates concessionis: overview of OAuth 2.0 technologyΒ» Nos Alexey Chernyaev loqui de vexillo quam simpliciter et clare quam maxime temptavimus ut tempus illud in perspiciendo servetis.

Quid Tracker facere?

Nunc de secundis oneratis servitiis. Tracker duplicem munus fungitur:

  • Ex altera parte, munus eius est ostendere operarios in coquina quid ordines nunc in progressu sint, quid fructus nunc parari oporteat.
  • Contra, omnes processus in coquina digitize.

Historia Dodonis est Architectura: Tergum officium Path

Cum novum productum (exempli gratia, pizza) in ordine apparet, ad stationem venatoris "Rolling" accedit. In hac statione est Etruscus fabricator qui scapulas accipit magnitudinem quaesitae et evolvit eum, postquam designat in tabula venato quod munus suum explevit et basim massam corrumpit in proximam stationem transit - "implere" .

Ibi, proximus pizza factoris cacumine Neapolitanam, deinde notat in tabula quem suum munus explevit et placentam in furno ponit (hoc quoque est statio separata quae in tabula notari debet). Talis ratio aderat ab initio in Dodo et ab initio Dodonis IS. Te permittit ut omnes operationes plene indagare ac digitizes. Praeterea indagator suggerit peculiarem productum praeparare, unumquodque genus producti secundum suas fabricationis machinas peragit, optimalem coquendi tempus ad opus producit, omnesque operationes operis indagat.

Historia Dodonis est Architectura: Tergum officium PathHoc est quod tabula scrinii similis est in statione venato Raskatka.

Ubi onerat venire?

Quaelibet pizzeria circiter quinque tabulas cum venato habet. Anno 2016 plus quam 100 pizzerias habuimus (nunc autem plus quam 600). Singulae tabulae rogant ut singulas 10 secundas et collectas notitias ex ordine tabulae (link with client and address), ordo compositionis (link with product and indication quantitatis), and motivation table (vestigat. tempus instandi). Cum fabricator pizza clicks in facto in venato, tabulae in omnibus his tabulis renovantur. Mensa ordo generalis est, simul insertiones continet cum ordinem recipiat, updates ex aliis partibus systematis, et multas lectiones, exempli gratia, in TV quae in pizzeria pendent et iussas clientibus paratas ostendit.

Per tempus certaminis cum oneribus, cum omnia et omnia conditiva et ad asynchronam datorum imaginem translata sunt, hae operationes cum venato ad datorum dominum ire perrexerunt. Hic pigri non sit, notitia debet esse hodie, e sync reacceptabilis.

Item defectus tabularum nostrarum et indices in eis non permisit nos scribere subtilius inquisitiones ad usum nostrum formandas. Exempli gratia, efficax esset venato indicem habere pizzeria in mensa eius iussu. Semper nos pizzeria ordines a venato datorum rade. Eodem tempore, ut accipiatur ordo, non est tanti momenti quod pizzeria incidit, quod maius est quam clientem hunc ordinem constituit. Hoc modo in clientelam indicem esse oportet. Etiam non est necessarium venato id de receptis impressis vel dignis promotionibus cum ordine in ordine tabulae condere. Nostrae servitii venato hac in re non interest. In communi datorum monolithico, tabulae solum inter omnes utentes esse potuerunt. Hoc unum fuit problematum originalium.

ESSET. Architectura initio talis erat;

Historia Dodonis est Architectura: Tergum officium Path

Etiam post disiunctis in processibus separatis pleraeque basis manebant in codice diversa officia communia. Omnia infra moderatores in uno reposito unita fuerunt. Communia methodi officiorum, repositoria et datorum communis, in quibus communes mensas adhibebantur.

Exonerare Tracker

Praecipuum problema cum venato est quod notitia inter varias databases congruere debet. Haec etiam praecipua differentia est ex divisione muneris Auth, ordo et status mutare ac varia officia ostendi possunt.

Mandata accipimus apud Restaurant Checkout (hoc est officium), reponitur in database in statu "Accepti". Deinde, ad venatum ire debet, ubi suum statum pluries mutabit: a "coquina" ad "referta". Hoc in casu, nonnullae influxiones externae ex fiscario vel procuratore Shift procurator accidere possunt cum ordine. Ordinem status cum descriptionibus eorum in tabula dabo;

Historia Dodonis est Architectura: Tergum officium Path
Ordo status mutationis schema sic spectat:

Historia Dodonis est Architectura: Tergum officium Path

Status inter varia systemata mutantur. Hic indagator non est ratio finalis in qua clauditur notitia. Plures accessiones vidimus separationis in tali casu possibilis;

  1. Omnes actiones ordinis in unum conducunt obsequium. Nostro in casu, haec optio nimis officium requirit ad ordinem processum. Si ibi stetissemus, secundo monolitho finivissemus. Nolumus soluta quaestio.
  2. Una ratio alteri vocationem facit. Secunda optio magis iucunda est. Sed cum eo possibilia sunt vinculorum vocatorum.lapsus defectis) nexus partium altior est et difficilius administrare.
  3. Eventus ordinamus et singula officia cum altero per haec eventa commutamus. Quam ob rem optio tertia electa est, secundum quam omnia officia inter se vicissitudines commutare incipiunt.

Quod tertiam optionem optavimus significabat venato proprium datorum habere, et ad omnem mutationem secundum ordinem eventum de hoc mittere, cui alia officia subscriberent et quae etiam in datorum magistro insererentur. Ad hoc opus aliquod servicium nobis opus erat, quod nuntiis inter officia tradenda curaret.

Per id tempus iam RabbitMQ in acervo habuimus, unde finalis sententia ea uti tamquam nuntius sectoris. Tabula ostendit transitum ordinis de Restaurante Cashier per Tracker, ubi statum suum mutat et suam ostensionem in Ordinum Procuratoris interface. FACTUS:

Historia Dodonis est Architectura: Tergum officium Path

Ordo iter gradatim
Ordo viarum incipit ab ordine fonte muneris. Hic est Imperium CONLECTARIUS:

  1. Ordo in Checkout perfecte paratus est, et tempus est eum in venato mittere. Res ad quam venato subscriptum est iacitur.
  2. Tracker, ordinem accipiens, eum in proprio datorum servat, eventu "Ordo Accepti a Tracker" faciens et ad RMQ mittit.
  3. Plures tracti jam subscripserunt consuetudini even- bus. Nobis, unum quod congruenter datorum monolithicorum interest.
  4. Tractus eventum accipit, ex eo notitias quae ei significantes desumit: in casu nostro hic est ordo status β€œAccepti a Tracker” et suum ordinem ens in principali datorum ordine updates.

Si quis ex ordine monolithico mensae speciali ordine indiget, etiam inde legere possunt. Exempli gratia, hoc est quod interfaciunt Ordines in Shift Procurator indiget:

Historia Dodonis est Architectura: Tergum officium Path

Omnia alia officia etiam a venato eventa ordini subscribere possunt ut illis pro se utatur.

Si post aliquod tempus ordo in productione accipitur, eius status primae mutationes in datorum datorum (Tracker database), deinde eventus "OrderInWork" statim generatur. Etiam in RMQ accipit, unde synchronum in datorum monolithico et aliis officiis traditum est. Variae quaestiones per hanc viam possunt esse, plura de illis inveniuntur in relatione Zhenya Peshkov de exsequendo Details of Eventual Constanty in Tracker.

Architectura finalis post mutationes in Auth et Tracker

Historia Dodonis est Architectura: Tergum officium Path

Summatim: Initio cogitabam ad fasciculum historiae Dodonis IS in unum articulum undequadraginta annorum. Volui cito et simpliciter loqui de gradibus evolutionis. Sed cum ad studium materiae sedisset, percepi omnia multo magis implicata et iucunda esse quam videtur.

Considerans de talium materiarum commodorum (vel defectus) conclusum veni, continuum evolutionem impossibilem esse sine Chronicis rerum gestarum plenarum, accuratis retrospectivis et analysi praeteritarum decisionum.

Spero te utilem et studium reperisse ad discendum de itinere nostro. Nunc coram sum eligendo cuius partis Dodo IS ratio in proximo articulo describenda est: scribe in commenta seu suffragio.

Tantum usores descripserunt in aliquet participare possunt. InscribeTe gratissimum esse.

Quae pars Dodo est in proximo articulo discere vis?

  • 24,1%Early monolith in Dodo IS (2011-2015)14

  • 24,1%Primae quaestiones et earum solutiones (2015-2016) 14

  • 20,7%Iter clientis partis: frons supra basim (2016-2017) 12

  • 36,2%Historia realium microservices (2018-2019) 21

  • 44,8%De incisione monolithorum et de architecturae stabilitate 26 .

  • 29,3%De ulterioribus consiliis evolutionis systematis 17

  • 19,0%Non vis scire aliquid de Dodo IS11

58 utentes censuerunt. 6 Utentes abstinuerunt.

Source: www.habr.com