Netflix / astyanax
Deprecation
Astyanax visszavonult, és már nincs aktív fejlesztés alatt, de függőségi frissítéseket kaphat, hogy megkönnyítse az Astyanaxról való áttérést.
Az Astyanax helyett fontolja meg a DataStax Java Driver for Apache Cassandrawhogy aktív fejlesztés alatt áll, és sok tanulságot tartalmaz az Astyanaxból. Mivel a DataStax driver csak a CQL protokollt támogatja (mivel az Apache Cassandra 4.x elhagyja a Thrift protokollt), az összes Thrift-alapú lekérdezését CQL-lekérdezéssé kell frissítenie.
Megvan a lehetősége, hogy továbbra is hozzáférjen a régi oszlopcsaládokhoz a CQL “kompakt tárolással” opcióval. Azonban a legtöbb (minden?) felhasználási esetben a régi kompakt tárolási opció valójában több helyet foglal, mint az új alapértelmezett CQL tárolási opció, így tényleg jobban jársz, ha az adataidat is az új alapértelmezett tárolási opcióra migrálod.
Az Astyanax ezen verziója megszünteti a cassandra-all függőségét, így opcionálisan kiválaszthatod a cassandra-unit bármelyik verzióját a különböző Cassandra-verziókkal való egység/integrációs teszteléshez. Az Astyanax ezen verziójára való frissítéskor szükség lehet arra, hogy:
- Explicit módon hozzáadjon minden olyan cassandra-all tranzitív függőséget, amitől korábban csendben függött az Astayanax tranzitok segítségével.
- Ha az Astyanax olyan belső funkcióit használta, amelyek (akaratlanul) nyilvánosan kitették a cassandra-all osztályokat, akkor vagy:
- A (legjobb) lehetőség:
- B lehetőség (második legjobb):
- C. lehetőség: Váltson át az objektumokat az “org.apache.cassandra”-ról az árnyékolt “com.netflix.astyanax.shaded.org.apache.cassandra “csomagra, amelytől az Astyanax most már függ.
Áttekintés
Astyanax egy magas szintű Java kliens az Apache Cassandra-hoz.Az Apache Cassandra egy magasan elérhető oszloporientált adatbázis.
Jellemzők
Egy gyors áttekintés megtalálható a Netflix Tech Blogon. Néhány jellemző, amit ez a kliens nyújt:
- magas szintű, egyszerű objektumorientált interfész a Cassandra-hoz.
- Fail-over viselkedés a kliens oldalon.
- Connection pool absztrakció. Round robin connection pool megvalósítása.
- Monitoring absztrakció a connection poolból történő eseményértesítéshez.
- A mögöttes Thrift API és struktúrák teljes kapszulázása.
- Automatikus újrapróbálkozás a leállt hostoknál.
- A további hosztok automatikus felderítése a fürtben.
- A hosztok rövid időre történő felfüggesztése több időkiesés után.
- Az összetett oszlopok használatának egyszerűsítését szolgáló megjegyzések.
Dokumentáció
Az Astyanax funkcióinak és használatának részletes dokumentációja megtalálható a wikiben és a kezdeti útmutatóban.
IntelliJ: jelenleg (2018. június) az IntelliJ-ben van egy hiba, amely “nem talált” hibát jelenít meg az ugyanazon projektben egy másik modulon keresztül áthelyezett csomagok esetében (pl.pl. az astyanax-cassandra-all-shaded-ből származó árnyékolt osztályok).Ez csak magát az Astyanax projektet érinti az IntelliJ-ben; az Astyanax továbbra is tökéletesen épül a Gradle segítségével.Az Astyanax felhasználók nem érintettek. További részletekért lásd:
Artifacts
Az Astyanax jar-ek a Maven Centralban vannak közzétéve. Az astyanax 1.56.27-től a projekt több alprojektre lett felosztva, amelyek mindegyikét külön-külön kell behúzni.
Szükséges artefaktumok
GroupID/Org | ArtifactID/Name | Desc |
---|---|---|
com.netflix.astyanax | astyanax-thrift vagy astyanax-cql | Válaszd a Thrift vagy CQL protokollt. Megjegyzés A Cassandra 4.x+ megszünteti a Thrift protokoll támogatását. |
Transitive artifacts (függőségek automatikusan hozzáadódnak egy szükséges artifacton keresztül)
GroupID/Org | ArtifactID/Name | Desc | |
---|---|---|---|
com.netflix.astyanax | astyanax-core | Astyanax nyilvános interfésze. | |
com.netflix.astyanax | astyanax-cassandra | Astyanax-thrift és astyanax-cql | |
com.netflix által megosztott Cassandra-specifikus funkciók | .astyanax | astyanax-cassandra-all-shaded | A cassandra-all árnyékolt verziója az astyanax-cassandra által használt néhány osztályhoz, így a projektek szabadon választhatják a cassandra-unit tetszőleges verzióit a Cassandra újabb verzióival szembeni egység/integrációs teszteléshez. Elrejti az Astyanax függőségét a cassandra-all-tól az “org.apache.cassandra” osztályok refaktorálásával “com.netflix.astyanax.shaded.org.apache.cassandra”-ra. |
Optional artifacts
GroupID/Org | ArtifactID/Name | Desc |
---|---|---|
com.netflix.astyanax | astyanax-contrib | választható integráció más, gyakran használt Netflix OSS modulokkal. |
com.netflix.astyanax | astyanax-queue | Cassandra tárolóval támogatott queue implementáció. Használja saját felelősségére — a Cassandra egy nagyon rossz tároló motor lehet a várólistákhoz. Ha ragaszkodik a Cassandra használatához várólistákhoz, állítson be egy nagyon rövid TTL-t és használjon TimeWindowCompactionStrategy (TWCS). |
com.netflix.astyanax | astyanax-entity-mapper | |
com.netflix.astyanax | astyanax-receptek | Választható implementációk néhány gyakori mintára. Használd saját felelősségedre; ezek közül néhány népszerű, de sok felhasználási esethez nem jól illeszkedik a Cassandra-hoz (rád nézek, AllRowsReader). |
Ókori történelem
Astyanax Hector fia volt, aki Kasszandra testvére volt a görög mitológiában.
Újkori történelem
Ezt a művet eredetileg Hector ihlette.
Leave a Reply