ConHub is a distributed registry used to manage websocket connections on the different nodes of an application.
It enables you to send serializable message to one or many connections hiding away complexity of distributed system.
In short: user provides lookup
criteria and a message
, there after conHub
does the job routing message to physical instances of a matched connections
type Connection = ??? // type representing physical connection
final case class Msg(bytes: Array[Byte]) // serializable
final case class Envelope(lookup: LookupById, msg: Msg)
final case class LookupById(id: String)
val conHub: ConHub[String, LookupById, Connection, Envelope] = ???
conHub ! Envelope(LookupById("testId"), Msg(Array(…)))
addSbtPlugin("com.evolution" % "sbt-artifactory-plugin" % "0.0.2")
libraryDependencies += "com.evolutiongaming" %% "conhub" % "1.3.0"