Imscaradh Apache Ignite Zero: Really Zero?

Imscaradh Apache Ignite Zero: Really Zero?

Is muid an roinn forbartha teicneolaíochta de líonra miondíola. Lá amháin, leag an bhainistíocht an tasc chun ríomhaireachtaí ar scála mór a bhrostú trí úsáid a bhaint as Apache Ignite i gcomhar le MSSQL, agus léirigh siad láithreán gréasáin le léaráidí áille agus samplaí de chód Java. Thaitin an suíomh liom láithreach Imscaradh nialasach, a bhfuil míorúiltí geallta sa chur síos: ní gá duit do chód Java nó Scala a imscaradh de láimh ar gach nód sa ghreille agus é a ath-imscaradh gach uair a athraíonn sé. De réir mar a chuaigh an obair ar aghaidh, d’éirigh sé amach go bhfuil úsáidí sonracha ag Zero Imscaradh, agus ba mhaith liom na gnéithe díobh a roinnt. Anseo thíos tá smaointe agus sonraí cur i bhfeidhm.

1. Ráiteas ar an bhfadhb

Seo a leanas croílár na faidhbe. Tá eolaire SalesPoint de phointí díolacháin agus eolaire táirgí Sku (Stock Keeping Unit). Tá tréith “Cineál Store” ag an díolphointe leis na luachanna “beag” agus “mór”. Tá éagsúlacht (liosta de tháirgí an díolphointe) ceangailte le gach díolphointe (luchtaithe ón DBMS) agus soláthraítear faisnéis maidir leis an táirge sonraithe ón dáta sonraithe
eisiata ón assortment nó curtha leis an assortment.

Ní mór dó taisce deighilte de phointí díola a eagrú agus faisnéis a stóráil ann faoi tháirgí ceangailte ar feadh míosa roimh ré. Éilíonn comhoiriúnacht leis an gcóras comhraic go n-éilíonn nód an chliaint Ignite sonraí a luchtú, comhiomlán na foirme a ríomh (Cineál Store, Cód Táirge, lá, uimhir_of_sales_points) agus é a uaslódáil ar ais chuig an DBMS.

2. Staidéar ar an litríocht

Níl aon taithí agam go fóill, mar sin táim ag tosú ag damhsa ón sorn. Is é sin, ó athbhreithniú ar fhoilseacháin.

Airteagal 2016 Ag tabhairt isteach Apache Ignite: Na Chéad Chéimeanna ina bhfuil nasc chuig doiciméadú an tionscadail Apache Ignite agus ag an am céanna a mhaslú do doiléire an doiciméid seo. Athléigh mé é cúpla uair, ní thagann soiléireacht. Tagraím don rang teagaisc oifigiúil ag tosúCén
geallann go dóchasach “Beidh tú ar an bhfód agus tú ar an bhfód! Táim ag déanamh amach na socruithe athróg timpeallachta, ag breathnú ar dhá fhíseán Apache Ignite Essentials, ach ní raibh siad an-úsáideach le haghaidh mo thasc sonrach. Seoladh Ignite go rathúil ón líne ordaithe leis an gcomhad caighdeánach “example-ignite.xml”, ag tógáil an chéad fheidhmchláir Feidhmchlár a Ríomh ag baint úsáide as Maven. Oibríonn an feidhmchlár agus úsáideann sé Imscaradh Zero, áilleacht!

Léigh mé a thuilleadh, agus ansin úsáideann an sampla láithreach affinityKey (a cruthaíodh níos luaithe trí cheist SQL), agus fiú úsáideann an BinaryObject mistéireach:

IgniteCache<BinaryObject, BinaryObject> people 
        = ignite.cache("Person").withKeepBinary(); 

Léigh mé é beagán: formáid dhénártha - rud éigin cosúil le machnamh, rochtain a fháil ar réimsí ruda de réir ainm. In ann luach réimse a léamh gan an réad a dhíscriú go hiomlán (sábhálann cuimhne). Ach cén fáth a n-úsáidtear BinaryObject in ionad Duine, ós rud é go bhfuil Imscaradh Zero ann? Cén fáth IgniteCache aistrithe chuig IgniteCache ? Níl sé soiléir fós.

Tá an Feidhmchlár Ríomh á athdhéanamh agam chun freastal ar mo chás. Sainmhínítear príomheochair eolaire na bpointí díola in MSSQL mar [id] [int] NOT NULL, cruthaím taisce de réir analaí

IgniteCache<Integer, SalesPoint> salesPointCache=ignite.cache("spCache")

Sa chumraíocht xml cuirim in iúl go bhfuil an taisce deighilte

<bean class="org.apache.ignite.configuration.CacheConfiguration">
    <property name="name" value="spCache"/>
    <property name="cacheMode" value="PARTITIONED"/>
</bean>

Glactar leis trí dheighilt de réir díolphointe go dtógfar an comhiomlán riachtanach ar gach nód braisle do na taifid salesPointCache atá ar fáil ansin, agus ina dhiaidh sin déanfaidh nód an chliaint an tsuim dheireanach a shuimiú.

Tá an rang teagaisc á léamh agam An Chéad Ignite Feidhmchlár a Ríomh, Déanaim é de réir analaí. Ar gach nód braisle rithim IgniteRunnable(), rud éigin mar seo:

  @Override
  public void run() {
    SalesPoint sp=salesPointCache.get(spId);
    sp.calculateSalesPointCount();
    ..
  }

Cuirim loighic comhiomlánaithe agus uaslódála leis agus rithim é ar thacar sonraí tástála. Oibríonn gach rud go háitiúil ar an bhfreastalaí forbartha.

Seoladh mé dhá fhreastalaí tástála CentOs, sonraigh na seoltaí IP i default-config.xml, a fhorghníomhú ar gach ceann acu

./bin/ignite.sh config/default-config.xml

Tá an dá nód Ignite ag rith agus is féidir leo a chéile a fheiceáil. Sonraigh mé na seoltaí riachtanacha i config xml an iarratais chliaint, tosaíonn sé, cuireann sé an tríú nód leis an topology agus láithreach tá dhá nód arís. Taispeánann an logchomhad “ClassNotFoundException: model.SalesPoint” sa líne

SalesPoint sp=salesPointCache.get(spId);

Deir StackOverflow gurb é an chúis atá leis an earráid ná nach bhfuil aon rang SalesPoint saincheaptha ar fhreastalaithe CentOs. Táimid tar éis teacht. Cad faoi “ní gá duit do chód Java a imscaradh de láimh ar gach nód” agus mar sin de? Nó nach bhfuil “do chód Java” faoi SalesPoint?

Is dócha gur chaill mé rud éigin - tosaíonn mé ag cuardach arís, ag léamh agus ag cuardach arís. Tar éis tamaill, mothaím go bhfuil gach rud ar an ábhar léite agam, níl aon rud nua ann anois. Agus mé ag cuardach, fuair mé roinnt tuairimí suimiúla.

Valentin Kulichenko, Príomh-Ailtire ag GridGain Systems, fhreagairt ar StackOverflow, Aibreán 2016:

Model classes are not peer deployed, but you can use withKeepBinary() flag
on the cache and query BinaryObjects. This way you will avoid deserialization
on the server side and will not get ClassNotFoundException.

Tuairim údarásach eile: Denis Magda, Stiúrthóir bainistíochta táirgí, GridGain Systems.

Airteagal ar Habré faoi ​​mhicriseirbhísí tagairt do thrí alt le Denis Magda: Micrisheirbhísí Cuid I, Micriseirbhísí Cuid II, Micriseirbhísí Cuid III 2016-2017. Sa dara hairteagal, molann Denis nód braisle a thosú trí MaintenanceServiceNodeStartup.jar. Is féidir leat seoladh a úsáid freisin le cumraíocht xml agus líne ordaithe, ach ansin caithfidh tú ranganna saincheaptha a chur de láimh ar gach nód braisle imlonnaithe:

That's it. Start (..)  node using MaintenanceServiceNodeStartup file or pass
maintenance-service-node-config.xml to Apache Ignite's ignite.sh/bat scripts.
If you prefer the latter then make sure to build a jar file that will contain
all the classes from java/app/common and java/services/maintenance directories.
The jar has to be added to the classpath of every node where the service
might be deployed.

Go deimhin, sin é. Anseo casadh sé amach, cén fáth, an bhformáid dénártha mistéireach seo!

3.SingleJar

Bhain Denis an chéad áit i mo rátáil phearsanta, IMHO an rang teagaisc is úsáidí ar fad atá ar fáil. Ina MicrisheirbhísíSampla Tá sampla go hiomlán réidh le fáil i Github de nóid bhraisle a chur ar bun, a thiomsaíonn gan aon squatting breise.

Déanaim é ar an mbealach céanna agus faighim comhad jar amháin a sheolann “nód sonraí” nó “nód an chliaint” ag brath ar argóint na n-orduithe. Tosaíonn an tionól agus oibríonn sé. Tá Zero Imscaradh buaite.

Léirigh an t-aistriú ó mheigibheart de shonraí tástála go dtí na deich ghigibheart de shonraí comhraic go bhfuil an fhormáid dhénártha ann ar chúis. Bhí sé riachtanach tomhaltas cuimhne ar nóid a bharrfheabhsú, agus seo an áit a d'éirigh BinaryObject amach a bheith an-úsáideach.

4. Conclúidí

Bhí an chéad mhasladh a tháinig chun solais faoi doiléire dhoiciméadú an tionscadail Apache Ignite cothrom; níor athraigh mórán ó 2016 i leith. Níl sé éasca do thosaitheoirí fréamhshamhail feidhmiúil a chur le chéile bunaithe ar shuíomh Gréasáin agus/nó stór.

Bunaithe ar thorthaí na hoibre a rinneadh, ba é an tuiscint go n-oibríonn Zero Imscaradh, ach ag leibhéal an chórais amháin. Rud éigin mar seo: úsáidtear BinaryObject chun nóid bhraisle iargúlta a mhúineadh chun oibriú le ranganna saincheaptha; Imscaradh nialasach - meicníocht inmheánach
Apache Ignite é féin agus dáileann rudaí córais ar fud an bhraisle.

Tá súil agam go mbeidh mo thaithí úsáideach d'úsáideoirí nua Apache Ignite.

Foinse: will.com

Add a comment