本篇文章给大家分享的是有关如何进行Pulsar Connector机制的剖析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
Apache Pulsar 是 Yahoo 开源的下一代分布式消息系统,在2018年9月从 Apache 软件基金会毕业成为顶级项目。Pulsar 特有的分层分片的架构,在保证大数据消息流系统的性能和吞吐量的同时,也提供了高可用性、高可扩展性和易维护性。
分片架构将消息流数据的存储粒度从分区拉低到了分片,以及相应的层级化存储,使 Pulsar 成为 unbounded streaming data storage 的不二之选。这使得 Pulsar 可以更完美地匹配和适配 Flink 的批流一体的计算模式。
1. Pulsar 简介
Pulsar Function:Pulsar 自带的函数处理,通过不同系统端的函数编写,即可完成计算并运用到 Pulsar 中。
Pulsar-Flink connector 和 Pulsar-Spark connector:作为批流融合计算引擎,Flink 和 Spark 都提供流计算的机制。如果你已经在使用他们了,那恭喜你。因为 Pulsar 也全部支持这两种计算,无需你再进行多余的操作了。
Presto (Pulsar SQL):有的朋友会在应用场景中更多的使用 SQL,进行交互式查询等。Pulsar 与 Presto 有很好的集成处理,可以用 SQL 在 Pulsar 进行处理。
独占订阅(Exclusive)
故障转移订阅(Failover)
共享订阅(Shared)
Key保序共享订阅(Key_shared)
2. Pulsar 架构
3. Pulsar Connector 内部机制
StreamExecutionEnvironment see = StreamExecutionEnvironment.getExecutionEnvironment(); Properties props = new Properties();
props.setProperty("topic", "test-source-topic") FlinkPulsarSource<String> source = new FlinkPulsarSource<>(
serviceUrl,
adminUrl,
new SimpleStringSchema(),
props);
DataStream<String> stream = see.addSource(source);
FlinkPulsarSink<Person> sink =
new FlinkPulsarSink(
serviceUrl,
adminUrl,
Optional.of(topic), // mandatory target topic
props,
TopicKeyExtractor.NULL, // replace this to extract key or topic for each record
Person.class);
stream.addSink(sink);
以上就是如何进行Pulsar Connector机制的剖析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。