class Zk2Resolver extends Resolver
A com.twitter.finagle.Resolver for the "zk2" service discovery scheme.
Resolution is achieved by looking up registered ServerSet paths within the specified
service discovery ZooKeeper cluster(s). See Zk2Resolver.bind
for details.
- Alphabetic
- By Inheritance
- Zk2Resolver
- Resolver
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Zk2Resolver()
- new Zk2Resolver(statsReceiver: StatsReceiver)
- new Zk2Resolver(statsReceiver: StatsReceiver, stabilizerWindow: Duration, unhealthyWindow: Duration)
- new Zk2Resolver(statsReceiver: StatsReceiver, stabilizerWindow: Duration, unhealthyWindow: Duration, timer: Timer)
- new Zk2Resolver(statsReceiver: StatsReceiver, stabilizerWindow: Duration, unhealthyWindow: Duration, inetResolver: InetResolver, timer: Timer)
- statsReceiver
maintains stats and gauges used in resolution
- stabilizerWindow
the window over which we stabilize updates from zk as per the semantics of the Stabilizer.
- unhealthyWindow
how long must the zk client be unhealthy before reporting trouble
- inetResolver
used to perform address resolution
- timer
timer to use for stabilization and zk sessions
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def bind(arg: String): Var[Addr]
Bind a string into a variable address using the zk2 scheme.
Bind a string into a variable address using the zk2 scheme.
NOTE: This specific API doesn't take "zk2!" as a protocol prefix, but when used with just Resolver, "zk2!" is expected as a prefix. Clients should be using the Resolver API rather than this direct interface.
Argument strings must adhere to either of the following formats:
<clusters>!<path> <clusters>!<path>!<endpoint>
where
- <clusters>: One or more service discovery ZooKeeper clusters (delimited by "#") - <path>: A ServerSet path (e.g. /twitter/service/userservice/prod/server) - <endpoint>: An endpoint name (optional)
Examples:
"zk2!<host>:2181!/twitter/service/userservice/prod/server!http" "zk2!<host1>:2181#<host2>:2181#<host3>:2181!/twitter/service/userservice/prod/server"
- Definition Classes
- Zk2Resolver → Resolver
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val scheme: String
- Definition Classes
- Zk2Resolver → Resolver
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()