Architecturae et facultates Tarantool Data Grid

Architecturae et facultates Tarantool Data Grid

In 2017 certatum est ut nucleum obsidionis Alfa-Bank evolveret et opus incepit (apud HighLoad ++ 2018 cum relatione in media negotiatione collocationis fiebat Vladimir Drynkin, dux nucleus transactionis negotii obsidionis Alfa Bank). Haec systema creditum est notitias transactionis aggregatas ex diversis fontibus variis formatis, notitias in unam formam adducere, eam repone et ei accessum praebe.

In processu evolutionis, ratio evolutae et functionis acquisitae est, et quandoque intelleximus nos aliquid plusquam crystallizare multo plus quam iustam applicationem programmatum ad solvendum munerum stricte definitum: nos successimus. ratio aedificandi applicationes distribuit assiduis repono. Experientia consecuti sumus fundamentum novum productum - Tarantool Data Grid (TDG).

De architectura TDG loqui volo et solutiones quas in processu evolutionis venimus, te ad principalem functionem introducimus et ostendemus quomodo productum nostrum fundamentum fieri possit ad solutiones complendas aedificandas.

Architecture, systema divisimus in separatum rolesquorum unumquodque est responsabile ad certum quendam amplium problematum solvendum. Instantia una currens applicatio instrumentorum ad singulas partes vel plura genera. Plures partes eiusdem generis in botro esse possunt;

Architecturae et facultates Tarantool Data Grid

iungo

Connector communicationis cum extra mundum est; eius munus est petitionem acceptare, parse, et si hoc obtinet, notitias processus in initus processus mitte. Suscipimus HTTP, SOAP, Kafka, FIX formas. Architectura permittit ut solum subsidium novarum formarum addas, cum auxilio pro IBM MQ mox venienti. Si parsing petitio defecit, iungo errorem reddet; secus respondebit feliciter processisse petitionem, etiamsi error in ulteriore processu suo acciderit. Hoc speciali modo factum est ut cum systematibus elaboraret quae petitiones repetere nesciunt, vel e contra, nimis pertinaciter. Ut not amitteret notitia, queue reparatio adhibetur: obiectum primum in illam accipit et solum post processus felicis ab eo removetur. Administrator in summis obiectis in reparatione queue remanentibus recipere potest, et, remoto errore programmatum vel hardware defectio, iterum conare.

Input processus

Processus Input processus notitias receptas secundum notas notas designat et opportunas processus appellat. Tractatores sunt Luae codicem qui in sandbox incurrit, ideo operationem systematis afficere non possunt. Hac in scaena, notitia ad debitam formam reduci potest et, si opus est, numerus negotiorum arbitrarius deduci potest qui logicam necessariam efficere potest. Exempli gratia, productum in MDM (Magister Data Management) in Tarantool Data Grid aedificatum, cum novum usorem addit, ne processus rogationis retardet, creationem auri recordum tamquam munus separatum deducimus. Sandbox petitiones subsidia legendi, mutandi et addendi notitias, tibi permittit ut munus aliquod praestare in omnibus muneribus typum repono et aggregationem effectus (map/reducas).

Tracto lima in describi potest:

sum.lua

local x, y = unpack(...)
return x + y

Et deinde in schemate declaratur;

functions:
  sum: { __file: sum.lua }

Cur Luae? Lua lingua simplicissima est. Ex nostra experientia, horis post eam cognoscendi, homines incipiunt codicem scribere qui problema suum solvit. Phasellus non tincidunt elit, sed, analysts. Praeterea gratiarum auctori, Lua celerrime decurrit.

storage

Reposita thesauris persistentibus data. Antequam salvos facias, notitia convalidatur contra schema data. Circuitus uti utimur forma extensa Apache Avro. Exemplum:

{
    "name": "User",
    "type": "record",
    "logicalType": "Aggregate",
    "fields": [ 
        { "name": "id", "type": "string"}, 
        {"name": "first_name", "type": "string"}, 
        {"name": "last_name", "type": "string"} 
    ], 
    "indexes": ["id"] 
}

Ex hac descriptione, DDL (Data Definition Language) automatice generatur pro Tarantula DBMS et GraphQL schema pro notitia accessus.

Data replicatio asynchrona sustentatur (sunt consilia addendi synchrona).

Output processus

Aliquando necesse est usores externos de adventu novorum notitiarum notificare: ad hoc, munus est processus processus output. Post data servata, transmitti potest ad tractatorem respondentem (exempli gratia, ut eam ad formam quae a consumendi requiruntur) - et deinde ad iungendum transmittatur pro mittendo. Reparatio queue hic etiam adhibetur: si nemo rem admiserit, Administrator serius experiri potest.

Scaling

Connector, input processus et munerum processuum output sine statu sunt, sino nos scandere rationem horizontaliter addendo novas applicationes instantiarum, cum partes quaelibet aptae sunt desideratae. Repono adhibetur ad horizontalem scalas approach ut organising botrum portassent virtualis situla. His additis novo servo, aliquae de situlis a ministris antiquis ad novum servitorem in curriculo moventur; quod perlucide accidit utentibus et operationi totius systematis non afficit.

Data Properties

Res magnae esse possunt, et alia continent. Curamus atominitatem addendi et adaequationis datam, rem reponendam cum omnibus dependentiis in una situla virtuali. Hoc obstat quominus obiectum "extendere" per plures corporis servitores.

Versiones suffragatur: unaquaeque renovatio rei novam versionem creat, semperque tempus segmentum sumere possumus et videre quomodo mundus tunc spectandus est. Pro notitia quae longam historiam non requirit, numerum versionum circumscribere vel etiam reponere possumus unam tantum - novissimam - hoc est, essentialiter inactivare versionem pro certo genere. Historiam etiam tempore finire potes: exempli gratia, omnia obiecta cuiusdam generis maior quam 1 anno delere. Archiving etiam confirmatur: maiora obiecta exonerare possumus quam tempus praefinitum, spatium in botro solvens.

tasks

Inter notationes interesting notanda est facultas operas in schedula immittendi, rogatu utentis, vel programmatice de sandbox:

Architecturae et facultates Tarantool Data Grid

Hic videmus aliud munus - cursorem. Hoc munus est sine condicione, et additamenta instantiarum applicationum cum hoc munere ad botrum pro necessitate addi possunt. Officium cursoris est officia perficere. Ut dictum est, ex sandbox novas operas generare potest; salventur in queue reposita ac deinde in cursore supplicium. Hoc genus operis dicitur Iob. Etiam munus genus habemus quod Task vocatur - haec sunt usoris definita munera quae in schedula (utendo syntaxin cron) vel in demanda currunt. Ad talia negotia deducunt et inuestigant, opportunum munus habemus amet. Ut huic functioni praesto sint, munus schedularium efficere debes; hoc munus habet statum, ut non scandet, quod tamen non requiritur; simul, sicut ceterae partes, imaginem habere potest, quae incipit operari, si dominus subito deneget.

caesuri sunt

Alia munus logger appellatur. Tigna ex omnibus membra botri colligit et interfaciem praebet ad discendas et eas per interfaciem spectantes.

Services

Dignum est memorare quod ratio operandi facilem facit. In lima configuration, exprimere potes quae petitiones ad usor-scriptis tracto qui in sandbox in arena currit. In hoc manubrio potes, exempli gratia, nonnulla interrogatione analytica currere et exitum reddere.

Ministerium in configuration file describitur:

services:
   sum:
      doc: "adds two numbers"
      function: sum
      return_type: int
      args:
         x: int
         y: int

GraphQL API automatice generatur et servitium pro vocatione praesto fit:

query {
   sum(x: 1, y: 2) 
}

Hoc appellant tracto sumquod evenit reddet;

3

Query Profiling and Metrics

Ad cognoscendam operationem systematis petitiones prolificantes, subsidia in protocollo OpenTracingi implevimus. Systema informationes mittere potest de postulatione instrumentorum qui hoc protocollum sustinent, sicut Zipkin, quod permittet te intellegere quomodo petitio facta sit;

Architecturae et facultates Tarantool Data Grid

Naturaliter ratio metrica interna praebet quae colligi potest utens Prometheo et Grafana utens subjicitur.

Deploy

Tarantool Data Grid ex RPM fasciculis vel archivo explicari potest, utilitate ex distributione vel Ansible, etiam pro Kubernetibus subsidium est.Tarantool Kubernetes Operator).

Applicatio quae negotium logicae (configurationis, tracto) conficit, oneratur in explicanda Tarantool Data Grid botri in forma archivi per UI vel per API utens scripto a nobis provisum.

Sample Applications

Quae applicationes creari possunt per Tarantool Data Grid? Re quidem vera, negotia negotia maxime aliquo modo comparantur ad processui, condere et accessu data fluere. Si igitur magnas notitiarum rivulos habes, qui tuto condi et accessed necesse est, tunc productum nostrum te multum evolutionis tempus servare potest et in negotio tuo logica intendere.

Exempli gratia, informationes colligere volumus de mercatu reali, ut in posterum, exempli gratia, informationes de melioribus oblationibus habebimus. In hoc casu sequentia opera illustrabimus;

  1. Robots qui ex apertis fontibus colligere informationes nostri erunt fontes notitia. Hanc quaestionem solvere potes utendo solutionibus paratis vel scripto codice in quavis lingua.
  2. Deinde, Tarantool Data Grid data recipiet et salvabit. Si forma notitia ex diversis fontibus diversa est, tunc scribere potes in Lua codicem qui conversionem ad unam formam perficiet. In scaena praecedente, etiam poteris, exempli gratia, duplicata spargere oblationes vel renovare informationes de agentibus in foro in datorum operantibus.
  3. Iam solutionem scalabilem in botro habes qui notitia impleri potest et excerpta notitias facere. Tunc novas functiones efficere potes, exempli gratia, scribe ministerium quod petitio pro notitia faciet et per diem utilissimum offeret - hoc exiget paucas lineas in lima configuratione et in parvo Luae codice.

Quid deinde?

Nostra prioritas est emendare facilitatem evolutionis utendi Tarantool Data Grid. Exempli gratia, haec IDE est cum tracto profiling et debugging subsidium in sandbox currentem.

Etiam magna diligentia quaestiones salutis. Nunc certificationem per FSTEC Russiae patimur ad altam securitatem confirmandam et requisitis ad certificationem instrumentorum programmatum occurrentium adhibitis in personalibus systematibus systematis informationis et regiminis notitiarum personalium.

Source: www.habr.com