代码之家  ›  专栏  ›  技术社区  ›  Mohammed Zubair Khan

如何创建一个随着数据负载增加而自我复制的微服务?

  •  -1
  • Mohammed Zubair Khan  · 技术社区  · 6 年前

    我正在从事一个大数据项目,我试图从推特上获取推特,分析这些推特,并从中做出预测。 我遵循了本教程: http://blog.cloudera.com/blog/2012/10/analyzing-twitter-data-with-hadoop-part-2-gathering-data-with-flume/ 获取推文。现在,我正计划建立一个微型服务,当我增加我想要推特的主题数量时,它可以自我复制。现在,无论我编写了什么代码来收集推文,我都想制作一个微服务,它可以获取一个关键字并为该关键字创建一个代码实例并收集推文,对于每个关键字,都应该创建一个实例。 如果您能告诉我此类应用程序使用什么工具,也会很有帮助。 非常感谢。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Oswin Noetzelmann    6 年前

    我想制作一个微服务,它可以获取一个关键字,并为该关键字创建该代码的实例,并收集推文,每个关键字都应该创建一个实例。

    你可以使用 kubernetes 作为底层集群/部署基础架构。它有一个 API 这允许您以编程方式部署新服务。因此,您需要做的是:

    • 为您的twitter服务设置一个基本服务容器,该容器在 container repository .
    • 然后首先部署 service 基于您的容器。服务配置将 contain the keyword 服务使用的内容以及关于kubernetes集群的信息(如何访问集群API以及在存储库中的何处找到容器)。
    • 现在,您的第一个服务已经具备了自动为kubernetes创建附加服务描述(使用其他关键字)所需的所有信息,并通过调用kubernetes集群API来部署这些附加服务。
    • 由于附加服务也将传递所有必要的信息,因此它们自己可以启动更多的服务等等。

    您可能需要花费一些精力来确定集群资源调配,但这也可以通过自动缩放自动完成(例如,可用于Google或AWS云)。

    另一种方法是运行一个水平扩展的基本twitter服务集群,该集群使用自组织算法将所有关键字放入数据库或事件队列中。