Isu tiri dhipatimendi rekuvandudza tekinoroji rekutengesa network. Rimwe zuva, manejimendi akaisa basa rekumhanyisa maverengero makuru nekushandisa Apache Ignite pamwe neMSSQL, uye yakaratidza webhusaiti ine yakanaka mifananidzo uye mienzaniso yeJava kodhi. Ndakabva ndafarira nzvimbo yacho
1. Chirevo chedambudziko
Hunhu hwedambudziko hwunotevera. Iko kune SalesPoint yekutengesa nzvimbo dhairekitori uye Sku (Stock Kuchengeta Unit) chigadzirwa dhairekitori. Nzvimbo yekutengesa ine "Chitoro chemhando" hunhu nehunhu "diki" uye "hombe". An assortment (rondedzero yezvigadzirwa zvenzvimbo yekutengesa) yakabatana kune imwe neimwe nzvimbo yekutengesa (yakatakurwa kubva kuDBMS) uye ruzivo rwunopihwa kuti kubva pazuva rakatarwa chigadzirwa chakataurwa.
yakabviswa kubva kune assortment kana kuwedzerwa kune assortment.
Izvo zvinodiwa kuronga cache yakakamurwa yemapoinzi ekutengesa uye chengetedza mairi ruzivo nezve zvigadzirwa zvakabatana kwemwedzi isati yasvika. Kuenderana nehurongwa hwekurwa kunoda iyo Ignite mutengi node kurodha data, kuverenga muunganidzwa wefomu (Chitoro mhando, Chigadzirwa kodhi, zuva, nhamba_ye_sales_points) uye idzorere kuDBMS.
2. Kudzidza mabhuku
Ini handisati ndave neruzivo, saka ndiri kutanga kutamba kubva pachitofu. Ndiko, kubva pakuongorora kwezvinyorwa.
Chinyorwa 2016
netarisiro inovimbisa "Uchasimuka uye uchimhanya mune jiffy!" Ndiri kufunga mamiriro ekuchinja nharaunda, ndichiona maviri eApache Ignite Essentials mavhidhiyo, asi anga asina kunyanyo batsira pabasa rangu chairo. Ini ndabudirira kuburitsa Ignite kubva pamutsetse wekuraira neyakajairwa faira "example-ignite.xml", ndichivaka yekutanga application.
Ndakaverenga mberi, uye ipapo muenzaniso wacho unobva washandisa affinityKey (yakagadzirwa kare kuburikidza nemubvunzo weSQL), uye inoshandisa isinganzwisisike BinaryObject:
IgniteCache<BinaryObject, BinaryObject> people
= ignite.cache("Person").withKeepBinary();
Ndakariverenga
Ndiri kugadzirisa iyo Compute Application kuti ienderane nenyaya yangu. Kiyi yekutanga yedhairekitori remapoinzi ekutengesa muMSSQL inotsanangurwa se [id] [int] NOT NULL, ini ndinogadzira cache nekuenzanisa.
IgniteCache<Integer, SalesPoint> salesPointCache=ignite.cache("spCache")
Mune xml config ini ndinoratidza kuti cache yakakamurwa
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="spCache"/>
<property name="cacheMode" value="PARTITIONED"/>
</bean>
Kugovanisa nenzvimbo yekutengesa inofungidzira kuti iyo inodiwa yakaunganidzwa ichavakwa pane imwe neimwe cluster node yekutengesaPointCache marekodhi anowanikwa ipapo, mushure meiyo mutengi node ichaita yekupedzisira muchidimbu.
Ndiri kuverenga tutori
@Override
public void run() {
SalesPoint sp=salesPointCache.get(spId);
sp.calculateSalesPointCount();
..
}
Ini ndinowedzera aggregation uye kurodha mantiki uye ndinomhanyisa pane yekuyedza data set. Zvese zvinoshanda munharaunda pane server yekuvandudza.
Ini ndinotanga maviri CentOs bvunzo maseva, tsanangura iyo IP kero mune default-config.xml, ita pane imwe neimwe.
./bin/ignite.sh config/default-config.xml
Ose maIgnite node ari kumhanya uye anogona kuonana. Ini ndinotsanangura kero dzinodiwa mu xml config yemutengi application, inotanga, inowedzera yechitatu node kune topology uye pakarepo pane mbiri node zvakare. Iyo log inoratidza "ClassNotFoundException: model.SalesPoint" mumutsara
SalesPoint sp=salesPointCache.get(spId);
StackOverflow inotaura kuti chikonzero chekukanganisa ndechekuti hapana kirasi yekutengesa SalesPoint pane maseva eCentOs. Tasvika. Zvakadini ne "haufanire kutumira yako Java kodhi pane imwe neimwe node" zvichingodaro? Kana kuti "code yako yeJava" haisi yeSalesPoint?
Pamwe ndarasikirwa nechimwe chinhu - ndinotanga kutsvaga zvakare, kuverenga nekutsvaga zvakare. Mushure mechinguva, ndinonzwa kunzwa kuti ndaverenga zvese zviri pamusoro, hapana chitsva zvakare. Pandakanga ndichitsvaga, ndakawana mamwe mashoko anofadza.
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.
Imwe maonero ane chiremera:
Nyaya yaHabrΓ©
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.
Hongu, ndizvozvo. Hezvino zvinobuda, sei, iyi isinganzwisisike binary fomati!
3.SingleJar
Denis akatora nzvimbo yekutanga muyero yangu pachangu, IMHO ndiyo inonyanya kubatsira dzidziso yezvose zviripo. Mune yake
Ini ndinozviita nenzira imwechete uye ndinotora faira rejagi rimwe chete rinotangisa "data node" kana "mutengi node" zvichienderana nekupokana kwemutsara wekuraira. Gungano rinotanga uye rinoshanda. Zero Deployment yakundwa.
Shanduko kubva ku megabytes yedata rekuyedza kusvika kumakumi egigabytes ehondo data yakaratidza kuti iyo binary fomati iripo nechikonzero. Zvaive zvakafanira kukwirisa ndangariro kushandiswa pane node, uye apa ndipo pakaita BinaryObject inobatsira zvikuru.
4. Mhedziso
Kuzvidzwa kwekutanga kwakasangana nekusajeka kweApache Ignite purojekiti zvinyorwa zvakazove zvakanaka; zvishoma zvachinja kubva 2016. Hazvisi nyore kune anotanga kuunganidza inoshanda prototype zvichibva pawebhusaiti uye/kana repository.
Zvichienderana nemhedzisiro yebasa rakaitwa, fungidziro yaive yekuti Zero Deployment inoshanda, asi chete padanho rehurongwa. Chimwe chinhu chakadai: BinaryObject inoshandiswa kudzidzisa kure kure cluster nodes kushanda nemakirasi etsika; Zero Deployment - maitiro emukati
Apache Ignite pachayo uye inogovera system zvinhu musumbu rese.
Ndinovimba ruzivo rwangu ruchabatsira kune vatsva veApache Ignite vashandisi.
Source: www.habr.com