Phantom-DSL中的ContactPoints vs ContactPoint

时间:2017-09-13 10:53:47

标签: scala cassandra phantom-dsl phantom-types

为什么Phantom-DSL有两种不同的连接器方式可以使用ContactPoints和ContactPoint?

使用ContactPoint时我可以省略主机,或者主机可以 String ,但我必须声明端口在这里。

val default: CassandraConnection = ContactPoint(port).keySpace(keyspace)

但是在使用ContactPoints进行连接时,我必须将主机声明为 Seq [String] ,并且可以拥有或省略端口< / strong>这里。

val default: CassandraConnection = ContactPoints(host).keySpace(keyspace)

除了我的想法之外还有其他区别吗?

1 个答案:

答案 0 :(得分:1)

用法实际上取决于底层的Cassandra集群。如果您让我们说一个Cassandra实例,那么ContactPoint就足够了。但是,更实际的情况是,如果您有一个3节点Cassandra集群,在这种情况下,您可能希望通过ContactPoints分别为每个实例声明联系点。