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