【问题标题】:How to route to the nearest RMI Server?如何路由到最近的 RMI 服务器?
【发布时间】:2009-05-05 11:04:14
【问题描述】:

继续我的问题How to improve the performance of client server architecture application

我决定维护一个集中式数据库和几个从服务器-数据库配置。我计划使用Symmetric DS 在从属数据库和主数据库之间进行复制。每个服务器-数据库配置都将安装在离客户端更近的位置。理想情况下,出于显而易见的原因,我希望来自客户端的请求路由到最近的从服务器数据库。由于我使用 RMI 连接到服务器,我想知道当前是否有任何产品/API 可用,这将解决这个问题?

除上述解决方案之外的任何其他解决方案都受到高度重视:)

注意:重构客户端代码绝对是一种选择,但由于应用程序非常庞大,因此存在巨大风险(可能会破坏现有代码)、耗时且成本高昂。

【问题讨论】:

    标签: java database replication client-server rmi


    【解决方案1】:

    看看分布式和一致性哈希:

    http://en.wikipedia.org/wiki/Distributed_hash_table#Keyspace_partitioning http://en.wikipedia.org/wiki/Consistent_hashing

    准系统,您将设置一致散列的变体,该变体将采用客户端的标识符(代替“密钥”)并定位最近的服务器。这里的额外好处是,如果其中一个从属服务器出现故障,您的基础架构将透明地路由到下一个最近的服务器。

    【讨论】:

    • 有没有实现分布式哈希表的解决方案?我在谷歌上似乎找不到它。
    • 如前所述,您需要对一致性散列进行“变体”,但也许这会帮助您入门:weblogs.java.net/blog/tomwhite/archive/2007/11/… 此外,任何 Java P2P x-Sharing 系统 (x: {file,等})可能已经实现了分布式哈希算法。 (我会从 freenet 或 java 中的 bittorrent 客户端开始 ..)
    猜你喜欢
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    • 1970-01-01
    相关资源
    最近更新 更多