
数据
|
199
二进制文件,并将它们添加到引擎的
classpath
中,或者直接捆绑到引擎的部署文件
中。提供这样的选择需要一些额外的工作,但如果想获取网络访问的灵活性,并通
过避免网络跳跃和转换获取更高的性能,这些工作都是有必要的。
你可以使用
Facade
模式来实现这一点。默认选项是简单地提供原生接口,可以通过
classpath
直接作为库访问。然后,提供一个
Facade
接口,将数据访问服务与服务端
点打包,以方便交换
JSON
、
ProtoBuf
或其他格式的数据。
代理模式(
https://en.wikipedia.org/wiki/Proxy_pattern
)提供了一种简单的方法,无
须修改原始对象即可修改对象的行为。为此,你需要实现原本的数据访问器,并部
署一个代理,该代理公开的功能相同,但提供了
HTTP
断电所需的转换,因此可以
通过
JSON
消息接收请求和发布响应。
8.8
点对点持久存储
主从范式的数据库扩展非常流行,因为好处很明显:性能一般都很好,而且响应时
间合理,还可以实现数据复制,从而防止严重停机。你可以获取数据库的报告,并
进行分析。
主从数据库有一个明显的问题:单点故障。当一对术语有明确的二元对立含义,且
明显偏向某一方时,就会出现一些常见的问题。在解构设计中,我们会质疑底层的
结构,思考如何推翻和颠覆这样的主从关系,以达到改进设计的目的。
这个问题有一个很简单的解决方案是点对点数据库,比如
Apache Cassandra
。在
Cassandra
中,每个节点在拓扑中的功能都相同。没有特权节点。由于数据分布到了 ...