Waxaan nahay waaxda horumarinta tignoolajiyada silsilad tafaariiqda. Maalin maalmaha ka mid ah, maamulku wuxuu dejiyay hawsha dardargelinta xisaabinta baaxadda leh iyadoo la adeegsanayo Apache Ignite oo la socota MSSQL, waxayna soo bandhigtay degel leh sawirro qurux badan iyo tusaalooyin code Java ah. Isla markiiba goobta ayaan ka helay
1. Caddaynta dhibaatada
Nuxurka dhibku waa sidan soo socota. Waxaa jira hagaha iibka iibka ee SalesPoint iyo Sku ( Unugga Kaydinta Kaydka) ee hagaha alaabta. Barta iibku waxay leedahay sifo "nooc bakhaar" leh oo leh qiyamka "yar" iyo "weyn". Noocyada kala duwan (liiska alaabta goobta iibka) ayaa ku xidhan goob kasta oo iib ah (laga soo raray DBMS) waxaana la bixiyaa macluumaadka laga bilaabo taariikhda la cayimay alaabta la cayimay
laga saaray noocyada kala duwan ama lagu daray noocyada.
Waxaa loo baahan yahay in la habeeyo kaydka qaybsan ee dhibcaha iibka oo lagu kaydiyo macluumaadka ku saabsan alaabta ku xiran hal bil ka hor. Waafaqsanaanta nidaamka dagaalku waxay u baahan tahay Ignite node macmiilka si uu u shubo xogta, xisaabiyo wadarta foomka (nooca dukaanka, lambarka badeecada, maalinta, tirada_of_sales_points) oo dib ugu soo rog DBMS.
2. Barashada suugaanta
Weli ma haysto wax khibrad ah, markaa waxaan bilaabayaa inaan ka dheesho shooladda. Taasi waa, laga bilaabo dib u eegista daabacadaha.
Qodobka 2016
si niyadsami leh ayaa u ballan qaaday "Waxaad kacaysaa oo aad ku ordi doontaa jiffy!" Waxaan ogaanayaa goobaha doorsoomayaasha deegaanka, daawashada laba fiidiyow oo Apache Ignite Essentials, laakiin faa'iido badan uma ay lahayn hawshayda gaarka ah. Waxaan si guul leh uga bilaabay Ignite khadka taliska oo wata faylka caadiga ah βexample-ignite.xmlβ, anigoo dhisaya codsigii ugu horreeyay
Waan sii akhriyay, halkaasna tusaaluhu isla markiiba wuxuu isticmaalaa affinityKey (oo hore loogu abuuray su'aal SQL ah), oo xitaa adeegsada BinaryObject-ka dahsoon:
IgniteCache<BinaryObject, BinaryObject> people
= ignite.cache("Person").withKeepBinary();
Waan akhriyey
Waxaan dib u samaynayaa Codsiga Compute si uu u waafajiyo kiiskayga. Furaha aasaasiga ah ee tusaha dhibcaha iibka ee MSSQL waxaa lagu qeexaa [id] [int] MA NULL, waxaan ku abuuraa khasnad anigoo isbarbar dhigaya.
IgniteCache<Integer, SalesPoint> salesPointCache=ignite.cache("spCache")
Isku xidhka xml waxaan ku tusayaa in kaydka la qaybiyay
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="spCache"/>
<property name="cacheMode" value="PARTITIONED"/>
</bean>
Qaybinta goobta iibka waxay u malaynaysaa in wadarta guud ee loo baahan yahay lagu dhisi doono noodhka koox kasta ee diiwanka iibkaPointCache ee halkaas laga heli karo, ka bacdina noodhka macmiilka ayaa samayn doona isku darka kama dambaysta ah.
Waxaan akhrinayaa casharrada
@Override
public void run() {
SalesPoint sp=salesPointCache.get(spId);
sp.calculateSalesPointCount();
..
}
Waxaan ku daraa isku-darka iyo rarida macquulka ah waxaanan ku socodsiiyaa xogta tijaabada. Wax walba waxay ku shaqeeyaan gudaha server-ka horumarinta.
Waxaan bilaabay laba adeegayaasha tijaabada CentOs, ku cadee ciwaanada IP-ga ee default-config.xml, ku samee mid kasta
./bin/ignite.sh config/default-config.xml
Labada Nood ee Ignite way socdaan oo way is arki karaan. Waxaan ku qeexayaa ciwaanada loo baahan yahay xml config ee codsiga macmiilka, wuu bilaabmaa, wuxuu ku daraa noodhka saddexaad ee topology isla markiiba waxaa jira laba nodes mar kale. Diiwaanku wuxuu muujinayaa "ClassNotFoundException: model.SalesPoint" ee xariiqda
SalesPoint sp=salesPointCache.get(spId);
StackOverflow ayaa sheegaysa in sababta khaladku ay tahay in aanu jirin fasalka SalesPoint ee caado u ah adeegayaasha CentOs. Waanu nimid. Sidee ku saabsan "ma aha inaad gacanta ku dhejiso koodhka Java-ga ee nood kasta" iyo wixii la mid ah? Mise "koodka Java-gaagu" maaha wax ku saabsan SalesPoint?
Waxa ay u badan tahay in aan wax seegay β waxaan bilaabay in aan mar kale baadho, wax akhriyo oo haddana raadiyo. Muddo ka dib, waxaan dareemayaa inaan akhriyay wax walba oo ku saabsan mawduuca, ma jiraan wax cusub oo cusub. Markii aan raadinayey, waxaan helay faallooyin xiiso leh.
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.
Fikrad kale oo awood leh:
Maqaal ku saabsan HabrΓ©
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.
Runtii, taasi waa. Halkan waxa ay soo baxday, sababta, qaabkan binary-ga ah ee dahsoon!
3.SingleJar
Denis ayaa kaalinta koowaad ka galay qiimeyntayda shaqsiyeed, IMHO casharrada ugu faa'iidada badan dhammaan la heli karo. In uu
Waxaan u sameeyaa si la mid ah oo aan helo hal fayl oo jar ah oo bilaabaya "data node" ama "node macmiilka" taas oo ku xidhan doodda khadka taliska. Shirku wuu bilaabmaa wuuna shaqeeyaa. Dejinta eber waa laga adkaaday.
Kala guurka megabyte ee xogta tijaabada ilaa tobanaan gigabytes ee xogta dagaalka ayaa muujisay in qaabka binary uu jiro sabab. Waxay ahayd lagama maarmaan in la wanaajiyo isticmaalka xusuusta ee noodhka, tanina waa meesha BinaryObject u soo baxday inay faa'iido badan leedahay.
4. Gabagabo
Canaantii ugu horeysay ee la kulantay ee ku saabsan mugdiga dukumeentiyada mashruuca Apache Ignite ayaa noqday cadaalad; wax yar ayaa isbedelay ilaa 2016. Ma fududa qofka bilawga ah inuu isku keeno nooc shaqaynaya oo ku salaysan mareegaha iyo/ama kaydka.
Iyada oo ku saleysan natiijooyinka shaqada la qabtay, aragtidu waxay ahayd in Eber Deployment uu shaqeeyo, laakiin kaliya heerka nidaamka. Wax sidan oo kale ah: BinaryObject waxaa loo isticmaalaa in lagu baro noodhadhka kooxda fog si ay ula shaqeeyaan fasallada gaarka ah; Gelin Eber - habka gudaha
Apache Ignite lafteeda oo u qaybiya walxaha nidaamka ilaa kooxda.
Waxaan rajeynayaa in waayo-aragnimadaydu ay faa'iido u yeelan doonto isticmaaleyaasha Apache Ignite cusub.
Source: www.habr.com