
Ndife dipatimenti yopititsa patsogolo ukadaulo wa netiweki yogulitsa. Tsiku lina, oyang'anira adakhazikitsa ntchito yofulumizitsa kuwerengera kwakukulu pogwiritsa ntchito Apache Ignite molumikizana ndi MSSQL, ndikuwonetsa tsamba lomwe lili ndi zithunzi zokongola ndi zitsanzo za Java code. Nthawi yomweyo ndinakonda malowa , kufotokozera komwe kumalonjeza zozizwitsa: simukuyenera kuyika Java yanu kapena Scala code pa node iliyonse mu gridi ndikuyiyikanso nthawi iliyonse ikasintha. Pamene ntchitoyo inkapitirira, zinapezeka kuti Zero Deployment ili ndi ntchito zenizeni, zomwe ndikufuna kugawana nazo. Pansi pa odulidwawo pali malingaliro ndi tsatanetsatane wa kukhazikitsa.
1. Ndemanga ya vuto
Chiyambi cha vuto ndi motere. Pali chikwatu cha malo ogulitsira a SalesPoint ndi chikwatu chazinthu za Sku (Stock Keeping Unit). Malo ogulitsa ali ndi "mtundu wa Store" wokhala ndi "zang'ono" ndi "zazikulu". Assortment (mndandanda wazogulitsa zomwe zagulitsidwa) zimalumikizidwa ndi malo aliwonse ogulitsa (zodzaza kuchokera ku DBMS) ndipo zidziwitso zimaperekedwa kuti kuyambira tsiku lomwe latchulidwa chinthucho.
kuchotsedwa ku assortment kapena kuwonjezeredwa ku assortment.
Pamafunika bungwe partitioned posungira mfundo zogulitsa ndi kusunga mmenemo zokhudza ogwirizana mankhwala kwa mwezi umodzi pasadakhale. Kugwirizana ndi makina omenyera nkhondo kumafuna kuti Ignite kasitomala node isenze data, kuwerengera kuchuluka kwa mawonekedwe (Mtundu wa Sitolo, Khodi ya Zogulitsa, tsiku, nambala_of_sales_points) ndikuyiyikanso ku DBMS.
2. Kuphunzira mabuku
Ndilibe chidziwitso chilichonse, kotero ndikuyamba kuvina kuchokera ku chitofu. Ndiko kuti, kuchokera ku ndemanga zofalitsa.
Nkhani ya 2016 ili ndi ulalo ku zolembedwa za pulojekiti ya Apache Ignite komanso nthawi yomweyo chitonzo cha kusamveka bwino kwa zolembedwazi. Ndinawerenganso kangapo, kumveka bwino sikumabwera. Ndikunena za maphunziro ovomerezeka , zomwe
amalonjeza mwachiyembekezo "Mudzakhala okonzeka bwino!" Ndikuwona zosintha zachilengedwe, ndikuwonera makanema awiri a Apache Ignite Essentials, koma sizinali zothandiza pantchito yanga yeniyeni. Ndikuyambitsa Ignite kuchokera pamzere wamalamulo ndi fayilo yokhazikika "example-ignite.xml", ndikumanga pulogalamu yoyamba. pogwiritsa ntchito Maven. Pulogalamuyi imagwira ntchito ndikugwiritsa ntchito Zero Deployment, ndiye kukongola kwake!
Ndinawerenganso, ndipo pamenepo chitsanzocho chimagwiritsa ntchito affinityKey (yopangidwa kale kudzera mufunso la SQL), ndipo imagwiritsanso ntchito BinaryObject yachinsinsi:
IgniteCache<BinaryObject, BinaryObject> people
= ignite.cache("Person").withKeepBinary(); Ndinawerenga : mawonekedwe a binary - chinachake chonga kusinkhasinkha, kupeza minda ya chinthu ndi dzina. Mutha kuwerenga mtengo wamunda popanda kuchotseratu chinthucho (kusunga kukumbukira). Koma chifukwa chiyani BinaryObject imagwiritsidwa ntchito m'malo mwa Munthu, popeza pali Zero Deployment? Chifukwa IgniteCache adasamutsidwa ku IgniteCache ? Sizikudziwikabe.
Ndikukonzanso Compute Application kuti igwirizane ndi vuto langa. Chinsinsi choyambirira cha bukhu lazogulitsa mu MSSQL chimatanthauzidwa ngati [id] [int] OSATI NULL, ndimapanga cache mwa fanizo.
IgniteCache<Integer, SalesPoint> salesPointCache=ignite.cache("spCache")Mu xml config ndikuwonetsa kuti cache yagawidwa
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="spCache"/>
<property name="cacheMode" value="PARTITIONED"/>
</bean>Kugawikana ndi malo ogulitsa kumaganiza kuti gawo lomwe likufunika lidzamangidwa pamagulu aliwonse amtundu wa ma salesPointCache omwe amapezeka pamenepo, pambuyo pake node ya kasitomala idzachita zomaliza.
Ndikuwerenga phunziro , ndimachita mofananiza. Pamagulu onse ammagulu ndimayendetsa IgniteRunnable (), monga chonchi:
@Override
public void run() {
SalesPoint sp=salesPointCache.get(spId);
sp.calculateSalesPointCount();
..
}Ndimawonjezera kuphatikizira ndikukweza malingaliro ndikuyendetsa pa data yoyeserera. Chilichonse chimagwira ntchito kwanuko pa seva yachitukuko.
Ndikuyambitsa ma seva awiri oyesera. CentOs, ndimatchula ma adilesi a IP mu default-config.xml, ndimayiyika pa chilichonse
./bin/ignite.sh config/default-config.xmlNode zonse za Ignite zikuyenda ndipo zimatha kuwonana. Ndimatchula ma adilesi ofunikira mu xml config ya kasitomala ntchito, imayamba, imawonjezera node yachitatu ku topology ndipo nthawi yomweyo palinso mfundo ziwiri. Tsambali likuwonetsa "ClassNotFoundException: model.SalesPoint" pamzere
SalesPoint sp=salesPointCache.get(spId);StackOverflow imati cholakwikacho chimayambitsidwa ndi ma seva. CentOs Palibe kalasi ya SalesPoint. Tiyeni tipite. Nanga bwanji za "simuyenera kuyika Java code yanu pamanja pa node iliyonse" ndi zina zotero? Kapena kodi "Java code yanu" si nkhani ya SalesPoint?
Mwina ndaphonya chinachake - ndikuyambanso kufufuza, kuwerenga ndi kufufuza kachiwiri. Patapita kanthawi, ndimamva kuti ndawerenga zonse pamutuwu, palibe chatsopano. Pamene ndinali kufufuza, ndinapeza ndemanga zosangalatsa.
, Mtsogoleri Wopanga mapulani ku GridGain Systems, pa StackOverflow, Epulo 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.Lingaliro lina lovomerezeka: , Mtsogoleri wa kasamalidwe kazinthu, GridGain Systems.
Nkhani ya Habré amatchula zolemba zitatu za Denis Magda: , , 2016-2017. M'nkhani yachiwiri, Denis akusonyeza kuti ayambe node yamagulu kudzera pa MaintenanceServiceNodeStartup.jar. Mutha kugwiritsanso ntchito kukhazikitsa ndi xml kasinthidwe ndi mzere wolamula, koma muyenera kuyika pamanja makalasi okhazikika pamagulu aliwonse omwe atumizidwa:
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.Inde, ndi zimenezo. Apa zikuwonekera, bwanji, mtundu wodabwitsa wa binary!
3.SingleJar
Denis adatenga malo oyamba pazowerengera zanga, IMHO phunziro lothandiza kwambiri kuposa zonse zomwe zilipo. Mu zake Github ili ndi chitsanzo chokonzekeratu chokhazikitsa ma cluster node, omwe amaphatikiza popanda squatting yowonjezera.
Ndimachita chimodzimodzi ndikupeza fayilo imodzi ya mtsuko yomwe imayambitsa "node ya data" kapena "node yamakasitomala" kutengera kutsutsana kwa mzere wa lamulo. Msonkhanowo umayamba ndikugwira ntchito. Zero Deployment wagonjetsedwa.
Kusintha kuchokera ku ma megabytes a data yoyesa kupita ku makumi a ma gigabytes a data yankhondo kunawonetsa kuti mawonekedwe a binary alipo pazifukwa. Zinali zofunikira kukhathamiritsa kugwiritsa ntchito kukumbukira pama node, ndipo apa ndipamene BinaryObject idakhala yothandiza kwambiri.
4. Mapeto
Chitonzo choyamba chomwe adakumana nacho pakusamveka bwino kwa zolemba za projekiti ya Apache Ignite zidakhala zachilungamo; zasintha pang'ono kuyambira 2016. Sikophweka kwa woyambitsa kusonkhanitsa chitsanzo chogwira ntchito kutengera tsamba la webusayiti ndi/kapena posungira.
Kutengera zotsatira za ntchito yomwe idachitika, zomwe zidawoneka kuti Zero Deployment imagwira ntchito, koma pamlingo wadongosolo. Chinachake chonga ichi: BinaryObject imagwiritsidwa ntchito pophunzitsa ma node akutali kuti agwire ntchito ndi makalasi achizolowezi; Zero Deployment - makina amkati
Apache Ignite yokha ndikugawa zinthu zamakina pagulu lonselo.
Ndikukhulupirira kuti zomwe ndakumana nazo zidzakhala zothandiza kwa ogwiritsa ntchito atsopano a Apache Ignite.
Source: www.habr.com
