当前位置: 首页 > 知识库问答 >
问题:

Storm Bolt数据库连接

米元凯
2023-03-14

我的一个插销把数据插入卡桑德拉。有没有办法在此Bolt的实例化之间保持与Cassandra的连接打开?

我的应用程序的写入速度很快。螺栓每秒需要运行几次,而性能正被它每次都连接到Cassandra的事实所阻碍。

如果我能有一个保持打开的静态连接,它将运行得更快,但我不确定在Storm中实现这一点。

共有1个答案

贾飞鸿
2023-03-14

与其他消息传递系统不同的是,storms bolts在循环或回调中进行“工作”,回调可以利用循环之外的变量(可能是静态连接),每次调用时似乎都要实例化,并且不能将参数传递给storms bolts

说storm bolts每次调用时都得到实例化是不完全正确的。例如,prepare方法只在初始化阶段被调用,即只调用一次。在文档中,它说
当在集群上的工作器中初始化该组件的任务时,它就会被调用。它为bolt提供了bolt执行的环境。因此,最好是将初始化代码放在prepare或open(如果是spouts)方法中,因为它们将在任务启动时被调用。但是您需要使它成为线程安全的,因为它将被每个任务在它自己的线程中同时调用。execute(Tuple Tuple)方法实际上负责处理逻辑,并在每次从相应的spout或bolt接收元组时调用。(因此,这实际上是每次bolt运行时调用的内容)


当IPolt要关闭时,会调用cleanup方法,文档中说

因为supervisor kill-9在集群上的工作进程,所以没有将调用cleanup的Guardeee。在本地模式下运行Storm时,当拓扑被杀死时,可以保证调用cleanup的一个上下文

因此不能将变量传递给它并不是真的,您可以使用prepare方法实例化任何实例变量,然后在处理过程中使用它。

关于DB连接,我不是很确定您的用例,因为您没有放任何代码,但是维护一个资源池听起来对我来说是一个不错的选择。

 类似资料:
  • 连接数据库 在能够对MongDB进行操作之前,需要使用BuguFramework创建一个数据库连接,代码如下: BuguConnection conn = BuguFramework.getInstance().createConnection(); conn.connect("192.168.0.100", 27017, "mydb", "username", "password"); 也可以

  • 一、全局配置定义 return array( 'DB_TYPE' => 'mysql', 'DB_HOST' => '127.0.0.1', 'DB_NAME' => 'thinkcmf', 'DB_USER' => 'root', 'DB_PWD' => 'root', 'DB_PORT' => '3306', 'DB_PREFIX' =>

  • ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。数据库抽象访问层基于PDO方式,目前内置包含了Mysql、SqlServer、PgSQL、Sqlite等数据库的支持。 如果应用需要使用数据库,必须配置数据库连接信息,数据库的配置文件有多种定义方式。 配置文件

  • 本文向大家介绍java连接mysql数据库 java连接sql server数据库,包括了java连接mysql数据库 java连接sql server数据库的使用技巧和注意事项,需要的朋友参考一下 在java的应用中,我们经常会对数据库进行必要的操作,下来我们就了解一下如何用java连接mysql数据库 以及java连接sql server数据库 一、mysql 二、sql server 以上就

  • 主要内容:DBI 结构,数据库连接,实例,插入操作,更新操作,删除数据,使用 do 语句,COMMIT 操作,ROLLBACK 操作,断开数据库连接本章节我们将为大家介绍 Perl 数据库的连接。 Perl 5 中我们可以使用 DBI 模块来连接数据库。 DBI 英文全称:Database Independent Interface,中文称为数据库独立接口。 DBI 作为 Perl 语言中和数据库进行通讯的标准接口,它定义了一系列的方法,变量和常量,提供一个和具体数据库平台无关的数据库持久层。

  • 在操作 MongoDB 数据库之前我们需要先连接数据库,您可以使用 MongoDB shell 来连接 MongoDB,也可以使用 PHP、Java 等编程语言来连接 MongoDB,本节我们主要介绍一下使用 MongoDB shell 来连接 MongoDB。 在连接 MongoDB 之前,我们需要先启动 MongoDB,启动 MongoDB 的方式非常简单,您只需要在 MongoDB 安装目录

  • 主要内容:1. 导入JDBC包,2. 注册JDBC驱动程序,数据库URL配置,创建连接对象,使用具有用户名和密码的数据库URL,关闭JDBC连接安装相应的驱动程序后,现在是时候来学习使用JDBC建立数据库连接了。 建立JDBC连接所涉及的编程相当简单。 以下是基本的四个步骤 - 导入JDBC包:使用Java语言的语句在Java代码开头位置导入所需的类。 注册JDBC驱动程序:使JVM将所需的驱动程序实现加载到内存中,从而可以满足JDBC请求。 数据库URL配置:创建一个正确格式化的地址,指向要连

  • 本章介绍如何从OrientDB命令行连接到特定数据库。 它打开一个数据库。 以下语句是Connect命令的基本语法。 以下是有关上述语法中选项的详细信息。 - 定义数据库的URL。 URL包含两部分,第一部分是,第二部分是。 - 定义模式,即本地模式或远程模式。 - 定义数据库的路径。 - 定义要连接到数据库的用户。 - 定义连接到数据库的密码。 示例 我们已经在前面的章节中创建了一个名为的数据库