【问题标题】:Design and Implementation of scalable services可扩展服务的设计和实现
【发布时间】:2014-01-25 00:29:56
【问题描述】:

我们已经在网络中部署/分布了书面代理。代理每 15 秒发送一次数据,甚至可能是 5 秒。在服务/系统上工作,所有代理都可以向其发布带有边际有效负载的数据/元组。最高 5% 的掉率是可以接受的。最终数据将被隔离并存储到 DBMS 系统中(目前我们使用的是 MSQL)。

我正在寻找答案的问题

  1. 客户端/服务器通信:代理可以发布数据。发送数据的状态并不那么重要。但是如果服务器端系统根据发送的数据生成事件,则会通知代理。

    • 来自 Internet 的大量建议建议使用消息总线 (ActiveMQ) 进行异步通信。多播和 UDP 是备选方案。
  2. 持久性:经过一些评估后将数据存储在 DBMS 系统中。

    • 处理数据结束是 MySql 看起来可扩展的聚合记录。但是在数据量上是指数级的。考虑将 HBase 作为一种选择。

寻找上述两种情况是否有任何替代方案并获得专家建议。

【问题讨论】:

    标签: architecture activemq scalability distributed bigdata


    【解决方案1】:
    1. 异步是不错的选择。开发 2 个模块:前端 - 用于使用某种队列(用于缓存)和后端 - 使用事件生成器并存储到数据库来快速发布数据
    2. 使用靠近操作系统的数据库(最小开销,我认为不需要事务)和非阻塞(乐观锁定)缓存、异步缓存。例如:DB Berkeley 或将数据写入小文件并进行第二个异步进程,该进程将读取数据并存储到 DB。

    【讨论】:

      猜你喜欢
      • 2011-11-01
      • 2015-01-26
      • 2021-04-24
      • 2010-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      相关资源
      最近更新 更多