Search in sources :

Example 16 with KafkaBolt

use of org.apache.storm.kafka.bolt.KafkaBolt in project open-kilda by telstra.

the class AbstractTopology method makeKafkaBolt.

protected <V> KafkaBolt<String, V> makeKafkaBolt(Class<? extends Serializer<V>> valueEncoder) {
    Properties properties = getKafkaProducerProperties();
    properties.setProperty(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, valueEncoder.getName());
    return new KafkaBolt<String, V>().withProducerProperties(properties).withTupleToKafkaMapper(new FieldNameBasedTupleToKafkaMapper<>());
}
Also used : Properties(java.util.Properties) KafkaBolt(org.apache.storm.kafka.bolt.KafkaBolt)

Example 17 with KafkaBolt

use of org.apache.storm.kafka.bolt.KafkaBolt in project open-kilda by telstra.

the class IslStatsTopology method createTopology.

public StormTopology createTopology() {
    final String clazzName = this.getClass().getSimpleName();
    final String spoutName = "islstats-spout";
    logger.debug("Building Topology - {}", clazzName);
    TopologyBuilder builder = new TopologyBuilder();
    String topic = config.getKafkaTopoDiscoTopic();
    checkAndCreateTopic(topic);
    logger.debug("connecting to {} topic", topic);
    builder.setSpout(spoutName, createKafkaSpout(topic, clazzName));
    final String verifyIslStatsBoltName = IslStatsBolt.class.getSimpleName();
    IslStatsBolt verifyIslStatsBolt = new IslStatsBolt();
    logger.debug("starting {} bolt", verifyIslStatsBoltName);
    builder.setBolt(verifyIslStatsBoltName, verifyIslStatsBolt, config.getParallelism()).shuffleGrouping(spoutName);
    final String openTsdbTopic = config.getKafkaOtsdbTopic();
    checkAndCreateTopic(openTsdbTopic);
    KafkaBolt openTsdbBolt = createKafkaBolt(openTsdbTopic);
    builder.setBolt("isl-stats-opentsdb", openTsdbBolt, config.getParallelism()).shuffleGrouping(verifyIslStatsBoltName);
    return builder.createTopology();
}
Also used : TopologyBuilder(org.apache.storm.topology.TopologyBuilder) IslStatsBolt(org.openkilda.wfm.topology.islstats.bolts.IslStatsBolt) KafkaBolt(org.apache.storm.kafka.bolt.KafkaBolt)

Example 18 with KafkaBolt

use of org.apache.storm.kafka.bolt.KafkaBolt in project open-kilda by telstra.

the class NetworkTopology method outputStatus.

private void outputStatus(TopologyBuilder topology) {
    StatusEncoder bolt = new StatusEncoder();
    declareBolt(topology, bolt, StatusEncoder.BOLT_ID).shuffleGrouping(IslHandler.BOLT_ID, IslHandler.STREAM_STATUS_ID);
    KafkaBolt output = buildKafkaBolt(kafkaTopics.getNetworkIslStatusTopic());
    declareBolt(topology, output, ComponentId.STATUS_OUTPUT.toString()).shuffleGrouping(StatusEncoder.BOLT_ID);
}
Also used : StatusEncoder(org.openkilda.wfm.topology.network.storm.bolt.StatusEncoder) KafkaBolt(org.apache.storm.kafka.bolt.KafkaBolt)

Example 19 with KafkaBolt

use of org.apache.storm.kafka.bolt.KafkaBolt in project open-kilda by telstra.

the class NetworkTopology method outputSpeakerRules.

private void outputSpeakerRules(TopologyBuilder topology) {
    SpeakerRulesEncoder encoderRules = new SpeakerRulesEncoder();
    declareBolt(topology, encoderRules, SpeakerRulesEncoder.BOLT_ID).shuffleGrouping(SpeakerRulesWorker.BOLT_ID);
    KafkaBolt outputRules = buildKafkaBolt(kafkaTopics.getSpeakerTopic());
    declareBolt(topology, outputRules, ComponentId.SPEAKER_RULES_OUTPUT.toString()).shuffleGrouping(SpeakerRulesEncoder.BOLT_ID);
}
Also used : SpeakerRulesEncoder(org.openkilda.wfm.topology.network.storm.bolt.SpeakerRulesEncoder) KafkaBolt(org.apache.storm.kafka.bolt.KafkaBolt)

Example 20 with KafkaBolt

use of org.apache.storm.kafka.bolt.KafkaBolt in project open-kilda by telstra.

the class NetworkTopology method outputSpeaker.

private void outputSpeaker(TopologyBuilder topology) {
    SpeakerEncoder bolt = new SpeakerEncoder();
    declareBolt(topology, bolt, SpeakerEncoder.BOLT_ID).shuffleGrouping(WatcherHandler.BOLT_ID, WatcherHandler.STREAM_SPEAKER_ID).shuffleGrouping(BfdWorker.BOLT_ID, BfdWorker.STREAM_SPEAKER_ID);
    KafkaBolt output = buildKafkaBolt(kafkaTopics.getSpeakerDiscoTopic());
    declareBolt(topology, output, ComponentId.SPEAKER_OUTPUT.toString()).shuffleGrouping(SpeakerEncoder.BOLT_ID);
}
Also used : SpeakerEncoder(org.openkilda.wfm.topology.network.storm.bolt.SpeakerEncoder) KafkaBolt(org.apache.storm.kafka.bolt.KafkaBolt)

Aggregations

KafkaBolt (org.apache.storm.kafka.bolt.KafkaBolt)31 TopologyBuilder (org.apache.storm.topology.TopologyBuilder)5 KafkaSpout (org.apache.storm.kafka.spout.KafkaSpout)4 BoltDeclarer (org.apache.storm.topology.BoltDeclarer)3 CtrlBoltRef (org.openkilda.wfm.CtrlBoltRef)3 ArrayList (java.util.ArrayList)2 ZooKeeperBolt (org.openkilda.wfm.share.zk.ZooKeeperBolt)2 ZooKeeperSpout (org.openkilda.wfm.share.zk.ZooKeeperSpout)2 Properties (java.util.Properties)1 PathComputerConfig (org.openkilda.pce.PathComputerConfig)1 PersistenceManager (org.openkilda.persistence.PersistenceManager)1 RouteBolt (org.openkilda.wfm.ctrl.RouteBolt)1 CoordinatorBolt (org.openkilda.wfm.share.hubandspoke.CoordinatorBolt)1 CoordinatorSpout (org.openkilda.wfm.share.hubandspoke.CoordinatorSpout)1 HubBolt (org.openkilda.wfm.share.hubandspoke.HubBolt)1 WorkerBolt (org.openkilda.wfm.share.hubandspoke.WorkerBolt)1 CrudBolt (org.openkilda.wfm.topology.flow.bolts.CrudBolt)1 ErrorBolt (org.openkilda.wfm.topology.flow.bolts.ErrorBolt)1 NorthboundReplyBolt (org.openkilda.wfm.topology.flow.bolts.NorthboundReplyBolt)1 SpeakerBolt (org.openkilda.wfm.topology.flow.bolts.SpeakerBolt)1