Anyị bụ ngalaba mmepe teknụzụ nke netwọk azụmaahịa. Otu ụbọchị, njikwa na-edozi ọrụ nke ịgbatị ọnụ ọgụgụ buru ibu site na iji Apache Ignite na njikọ MSSQL, ma gosi weebụsaịtị nwere ihe atụ mara mma na ihe atụ nke koodu Java. saịtị ahụ masịrị m ozugbo
1. Nkwupụta nke nsogbu ahụ
Isi nsogbu bụ ka ndị a. Enwere akwụkwọ ndekọ aha ahịa SalesPoint yana ndekọ ngwaahịa Sku (Stock Keeping Unit). Ebe ire ere nwere àgwà "ụdị ụlọ ahịa" yana ụkpụrụ "obere" na "nnukwu". A na-ejikọta ihe dị iche iche (ndepụta ngwaahịa nke ebe a na-ere ere) na ebe ọ bụla a na-ere ere (nke sitere na DBMS) na-enye ozi na site na ụbọchị a kapịrị ọnụ ngwaahịa ahụ akọwapụtara.
ewepụrụ na ụdịdị ahụ ma ọ bụ gbakwunyere n'ụdị ahụ.
Ọ na-achọrọ ka hazie a partitioned cache nke ire ere na-echekwa na ya ozi banyere ejikọrọ ngwaahịa maka otu ọnwa tupu. Ndakọrịta na sistemu ọgụ chọrọ ọnụ ahịa ndị ahịa Ignite ka ibu data, gbakọọ mkpokọta ụdị (ụdị ụlọ ahịa, koodu ngwaahịa, ụbọchị, nọmba_of_sales_points) wee bulite ya azụ na DBMS.
2. Ọmụmụ akwụkwọ
Enweghị m ahụmahụ ọ bụla, ya mere m na-amalite ịgba egwu site na stovu. Ya bụ, site na nyocha nke akwụkwọ.
Nkeji edemede 2016
jiri nchekwube na-ekwe nkwa "Ị ga-ebili ma na-agba ọsọ na egwu egwu!" Ana m achọpụta ntọala mgbanwe gburugburu ebe obibi, na-ekiri vidiyo Apache Ignite Essentials abụọ, mana ha abaghị uru maka ọrụ m akọwapụtara. Ejiri m faịlụ ọkọlọtọ "example-ignite.xml" malite Ignite nke ọma site na ahịrị iwu ahụ, na-ewu ngwa mbụ.
Agụrụ m n'ihu, ebe ahụ ka ihe atụ na-eji affinityKey ozugbo (nke e mepụtara na mbụ site na ajụjụ SQL), na ọbụna na-eji BinaryObject dị omimi:
IgniteCache<BinaryObject, BinaryObject> people
= ignite.cache("Person").withKeepBinary();
Agụrụ m ya
Ana m emegharị ngwa Compute ka ọ dabara n'okwu m. A kọwapụtara igodo isi nke akwụkwọ ndekọ aha ahịa na MSSQL dị ka [id] [int] Ọ BỤGHỊ NULL, ana m emepụta cache site na ntụnyere.
IgniteCache<Integer, SalesPoint> salesPointCache=ignite.cache("spCache")
Na nhazi xml, m na-egosi na ekewaala cache
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="spCache"/>
<property name="cacheMode" value="PARTITIONED"/>
</bean>
Nkewa site na ebe ire ere na-eche na a ga-ewu mkpokọta achọrọ na ọnụ ụyọkọ ọ bụla maka ndekọ salesPointCache dị ebe ahụ, mgbe nke ahụ gasịrị, ọnụ ahịa ndị ahịa ga-eme nchịkọta ikpeazụ.
Ana m agụ nkuzi
@Override
public void run() {
SalesPoint sp=salesPointCache.get(spId);
sp.calculateSalesPointCount();
..
}
M na-agbakwunye mkpokọta na bulite mgbagha ma na-agba ya na nhazi data ule. Ihe niile na-arụ ọrụ na mpaghara na sava mmepe.
M na-ewepụta sava abụọ CentOs, ezipụta adreesị IP na default-config.xml, mebie na nke ọ bụla.
./bin/ignite.sh config/default-config.xml
Abụọ Ignite nodes na-agba ọsọ ma nwee ike ịhụ ibe ha. Ana m akọwapụta adreesị achọrọ na xml config nke ngwa ndị ahịa, ọ na-amalite, na-agbakwunye ọnụ ụzọ atọ na topology ozugbo enwere oghere abụọ ọzọ. Ihe ndekọ ahụ na-egosi "ClassNotFoundException: model.SalesPoint" n'ahịrị
SalesPoint sp=salesPointCache.get(spId);
StackOverflow na-ekwu na ihe kpatara njehie ahụ bụ na enweghị klas SalesPoint omenala na sava CentOs. Anyị erutela. Kedu maka "ịkwesighi iji aka tinye koodu Java gị na ọnụ ọ bụla" na ihe ndị ọzọ? Ka ọ bụ "koodu Java gị" abụghị maka SalesPoint?
Eleghị anya ihe atụfuru m - amalitere m ịchọ ọzọ, ịgụ na ịchọgharị ọzọ. Mgbe obere oge gasịrị, enwere m mmetụta na agụwo m ihe niile na isiokwu ahụ, ọ dịghị ihe ọhụrụ ọzọ. Mgbe m na-achọgharị, ahụrụ m okwu ndị na-atọ ụtọ.
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.
Echiche ọzọ nwere ikike:
Akụkọ banyere 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.
N'ezie, ọ bụ ya. N'ebe a, ọ na-apụta, lee, usoro ọnụọgụ abụọ a dị omimi!
3. SingleJar
Denis weere ọnọdụ mbụ na ọkwa nkeonwe m, IMHO nkuzi kachasị baa uru nke ihe niile dị. N'ime ya
M na-eme ya n'otu ụzọ ahụ wee nweta otu faịlụ ite nke na-ebupụta "data node" ma ọ bụ "ọnụ ahịa ndị ahịa" dabere na arụmụka ahịrị iwu. Mgbakọ na-amalite ma rụọ ọrụ. Emeriela ntinye efu efu.
Mgbanwe site na megabytes nke data ule na iri gigabytes nke data ọgụ gosiri na ọnụọgụ abụọ dị maka ihe kpatara ya. Ọ dị mkpa iji kwalite oriri ebe nchekwa na ọnụ, na nke a bụ ebe BinaryObject tụgharịrị bara uru nke ukwuu.
4. Mmechi
Nkwutọ mbụ zutere banyere enweghị isi nke akwụkwọ ọrụ Apache Ignite tụgharịrị bụrụ nke ziri ezi; obere mgbanwe agbanweela kemgbe 2016. Ọ dịghị mfe maka onye mbido ịchịkọta ụdịdị na-arụ ọrụ dabere na webụsaịtị na/ma ọ bụ ebe nchekwa.
Dabere na nsonaazụ nke ọrụ a rụrụ, echiche bụ na Zero Deployment na-arụ ọrụ, ma ọ bụ naanị na ọkwa usoro. Ihe dị ka nke a: A na-eji BinaryObject kụziere oghere ụyọkọ dịpụrụ adịpụ na-arụ ọrụ na klas omenala; Nkwanye efu - usoro dị n'ime
Apache na-agbanye onwe ya ma kesaa ihe sistemu n'ime ụyọkọ ahụ.
Enwere m olileanya na ahụmịhe m ga-aba uru nye ndị ọrụ Apache Ignite ọhụrụ.
isi: www.habr.com