下载安装包
http://pulsar.apache.org/en/download/
使用tar -zxvf
解压下载的资源包,目录结构如下
显示目录:
本地单点运行,使用命令./pulsar standalone
即可,这里使用默认配置,暴露端口为6650
测试消息
发送消息 命令
./pulsar-client produce my-topic --messages "hello-pulsar"
结果
接收消息
./pulsar-client consume my-topic -s "first-subscription"
Maven的
如果您使用的是Maven,请将其添加到您的pom.xml
:
<!-- in your <properties> block -->
<pulsar.version>2.4.0</pulsar.version>
<!-- in your <dependencies> block -->
<dependency>
<groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-client</artifactId>
<version>${pulsar.version}</version>
</dependency>
复制
摇篮
如果您使用的是Gradle,请将其添加到您的build.gradle
文件中:
def pulsarVersion = '2.4.0'
dependencies {
compile group: 'org.apache.pulsar', name: 'pulsar-client', version: pulsarVersion
}
复制
连接URL
要使用客户端库连接到Pulsar,您需要指定Pulsar协议 URL。
Pulsar协议URL分配给特定的集群,使用该pulsar
方案并具有6650的默认端口。以下是一个示例localhost
:
pulsar://localhost:6650
复制
如果您有多个代理,则URL可能如下所示:
pulsar://localhost:6550,localhost:6651,localhost:6652
复制
生产Pulsar集群的URL可能如下所示:
pulsar://pulsar.us-west.example.com:6650
复制
如果您正在使用TLS身份验证,则URL将如下所示:
pulsar+ssl://pulsar.us-west.example.com:6651
复制
客户端配置
您可以 仅使用目标Pulsar 集群的URL 来实例化PulsarClient对象,如下所示:
PulsarClient client = PulsarClient.builder()
.serviceUrl("pulsar://localhost:6650")
.build();
复制
如果你有多个经纪人,你可以像这样启动一个PulsarClient:
PulsarClient client = PulsarClient.builder()
.serviceUrl("pulsar://localhost:6650,localhost:6651,localhost:6652")
.build();
复制
查看PulsarClient 类的Javadoc以获取可配置参数的完整列表。
生产者
在Pulsar中,制作人将信息写入主题。一旦您实例化了PulsarClient 对象(如上节所述),您就可 以为特定的Pulsar 主题创建一个Producer。
Producer<byte[]> producer = client.newProducer()
.topic("my-topic")
.create();
// You can then send messages to the broker and topic you specified:
producer.send("My message".getBytes());
复制
默认情况下,生成器生成由字节数组组成的消息。但是,您可以通过指定消息架构来生成不同类型。
Producer<String> stringProducer = client.newProducer(Schema.STRING)
.topic("my-topic")
.create();
stringProducer.send("My message");
复制
您应该始终确保在不再需要时关闭您的生产者,消费者和客户:
producer.close(); consumer.close(); client.close();
复制
关闭操作也可以是异步的:
producer.closeAsync() .thenRun(() -> System.out.println(