Skip to content

Commit

Permalink
Docs sync done from apache/pulsar(#498cde9)
Browse files Browse the repository at this point in the history
  • Loading branch information
Pulsar Site Updater committed May 13, 2022
1 parent 780b5c9 commit c003075
Show file tree
Hide file tree
Showing 7 changed files with 106 additions and 10 deletions.
4 changes: 2 additions & 2 deletions site2/docs/concepts-messaging.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,13 +113,13 @@ With message chunking enabled, when the size of a message exceeds the allowed ma

#### Handle consecutive chunked messages with one ordered consumer

The following figure shows a topic with one producer which publishes a large message payload in chunked messages along with regular non-chunked messages. The producer publishes message M1 in three chunks labeled M1-C1, M1-C2 and M1-C3. The broker stores all the three chunked messages in the managed-ledger and dispatches them to the ordered (exclusive/failover) consumer in the same order. The consumer buffers all the chunked messages in memory until it receives all the chunked messages, aggregates them into one message and then hands over the original message M1 to the client.
The following figure shows a topic with one producer which publishes a large message payload in chunked messages along with regular non-chunked messages. The producer publishes message M1 in three chunks labeled M1-C1, M1-C2 and M1-C3. The broker stores all the three chunked messages in the [managed-ledger](concepts-architecture-overview.md#managed-ledgers) and dispatches them to the ordered (exclusive/failover) consumer in the same order. The consumer buffers all the chunked messages in memory until it receives all the chunked messages, aggregates them into one message and then hands over the original message M1 to the client.

![](assets/chunking-01.png)

#### Handle interwoven chunked messages with one ordered consumer

When multiple producers publish chunked messages into a single topic, the broker stores all the chunked messages coming from different producers in the same managed-ledger. The chunked messages in the managed-ledger can be interwoven with each other. As shown below, Producer 1 publishes message M1 in three chunks M1-C1, M1-C2 and M1-C3. Producer 2 publishes message M2 in three chunks M2-C1, M2-C2 and M2-C3. All chunked messages of the specific message are still in order but might not be consecutive in the managed-ledger.
When multiple producers publish chunked messages into a single topic, the broker stores all the chunked messages coming from different producers in the same [managed-ledger](concepts-architecture-overview.md#managed-ledgers). The chunked messages in the managed-ledger can be interwoven with each other. As shown below, Producer 1 publishes message M1 in three chunks M1-C1, M1-C2 and M1-C3. Producer 2 publishes message M2 in three chunks M2-C1, M2-C2 and M2-C3. All chunked messages of the specific message are still in order but might not be consecutive in the managed-ledger.

![](assets/chunking-02.png)

Expand Down
4 changes: 2 additions & 2 deletions site2/website-next/docs/concepts-messaging.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,13 +125,13 @@ With message chunking enabled, when the size of a message exceeds the allowed ma

#### Handle consecutive chunked messages with one ordered consumer

The following figure shows a topic with one producer which publishes a large message payload in chunked messages along with regular non-chunked messages. The producer publishes message M1 in three chunks labeled M1-C1, M1-C2 and M1-C3. The broker stores all the three chunked messages in the managed-ledger and dispatches them to the ordered (exclusive/failover) consumer in the same order. The consumer buffers all the chunked messages in memory until it receives all the chunked messages, aggregates them into one message and then hands over the original message M1 to the client.
The following figure shows a topic with one producer which publishes a large message payload in chunked messages along with regular non-chunked messages. The producer publishes message M1 in three chunks labeled M1-C1, M1-C2 and M1-C3. The broker stores all the three chunked messages in the [managed-ledger](concepts-architecture-overview.md#managed-ledgers) and dispatches them to the ordered (exclusive/failover) consumer in the same order. The consumer buffers all the chunked messages in memory until it receives all the chunked messages, aggregates them into one message and then hands over the original message M1 to the client.

![](/assets/chunking-01.png)

#### Handle interwoven chunked messages with one ordered consumer

When multiple producers publish chunked messages into a single topic, the broker stores all the chunked messages coming from different producers in the same managed-ledger. The chunked messages in the managed-ledger can be interwoven with each other. As shown below, Producer 1 publishes message M1 in three chunks M1-C1, M1-C2 and M1-C3. Producer 2 publishes message M2 in three chunks M2-C1, M2-C2 and M2-C3. All chunked messages of the specific message are still in order but might not be consecutive in the managed-ledger.
When multiple producers publish chunked messages into a single topic, the broker stores all the chunked messages coming from different producers in the same [managed-ledger](concepts-architecture-overview.md#managed-ledgers). The chunked messages in the managed-ledger can be interwoven with each other. As shown below, Producer 1 publishes message M1 in three chunks M1-C1, M1-C2 and M1-C3. Producer 2 publishes message M2 in three chunks M2-C1, M2-C2 and M2-C3. All chunked messages of the specific message are still in order but might not be consecutive in the managed-ledger.

![](/assets/chunking-02.png)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,13 +125,13 @@ With message chunking enabled, when the size of a message exceeds the allowed ma

#### Handle consecutive chunked messages with one ordered consumer

The following figure shows a topic with one producer which publishes a large message payload in chunked messages along with regular non-chunked messages. The producer publishes message M1 in three chunks labeled M1-C1, M1-C2 and M1-C3. The broker stores all the three chunked messages in the managed-ledger and dispatches them to the ordered (exclusive/failover) consumer in the same order. The consumer buffers all the chunked messages in memory until it receives all the chunked messages, aggregates them into one message and then hands over the original message M1 to the client.
The following figure shows a topic with one producer which publishes a large message payload in chunked messages along with regular non-chunked messages. The producer publishes message M1 in three chunks labeled M1-C1, M1-C2 and M1-C3. The broker stores all the three chunked messages in the [managed-ledger](concepts-architecture-overview.md#managed-ledgers) and dispatches them to the ordered (exclusive/failover) consumer in the same order. The consumer buffers all the chunked messages in memory until it receives all the chunked messages, aggregates them into one message and then hands over the original message M1 to the client.

![](/assets/chunking-01.png)

#### Handle interwoven chunked messages with one ordered consumer

When multiple producers publish chunked messages into a single topic, the broker stores all the chunked messages coming from different producers in the same managed-ledger. The chunked messages in the managed-ledger can be interwoven with each other. As shown below, Producer 1 publishes message M1 in three chunks M1-C1, M1-C2 and M1-C3. Producer 2 publishes message M2 in three chunks M2-C1, M2-C2 and M2-C3. All chunked messages of the specific message are still in order but might not be consecutive in the managed-ledger.
When multiple producers publish chunked messages into a single topic, the broker stores all the chunked messages coming from different producers in the same [managed-ledger](concepts-architecture-overview.md#managed-ledgers). The chunked messages in the managed-ledger can be interwoven with each other. As shown below, Producer 1 publishes message M1 in three chunks M1-C1, M1-C2 and M1-C3. Producer 2 publishes message M2 in three chunks M2-C1, M2-C2 and M2-C3. All chunked messages of the specific message are still in order but might not be consecutive in the managed-ledger.

![](/assets/chunking-02.png)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,64 @@ Broker is only supported on 64-bit JVM.

:::

#### Install JDK on M1
In the current version, Pulsar uses a BookKeeper version which in turn uses RocksDB. RocksDB is compiled to work on x86 architecture and not ARM. Therefore, Pulsar can only work with x86 JDK. This is planned to be fixed in future versions of Pulsar.

One of the ways to easily install an x86 JDK is to use [SDKMan](http://sdkman.io) as outlined in the following steps:

1. Install [SDKMan](http://sdkman.io).

* Method 1: follow instructions on the SDKMan website.

* Method 2: if you have [Homebrew](https://brew.sh) installed, enter the following command.

```shell

brew install sdkman

```

2. Turn on Rosetta2 compatibility for SDKMan by editing `~/.sdkman/etc/config` and changing the following property from `false` to `true`.

```properties

sdkman_rosetta2_compatible=true

```

3. Close the current shell / terminal window and open a new one.
4. Make sure you don't have any previously installed JVM of the same version by listing existing installed versions.

```shell

sdk list java|grep installed

```

Example output:

```text
| >>> | 17.0.3.6.1 | amzn | installed | 17.0.3.6.1-amzn
```

If you have any Java 17 version installed, uninstall it.

```shell

sdk uinstall java 17.0.3.6.1

```

5. Install any Java versions greater than Java 8.

```shell

sdk install java 17.0.3.6.1-amzn

```

### Install Pulsar using binary release

To get started with Pulsar, download a binary tarball release in one of the following ways:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,13 +125,13 @@ With message chunking enabled, when the size of a message exceeds the allowed ma

#### Handle consecutive chunked messages with one ordered consumer

The following figure shows a topic with one producer which publishes a large message payload in chunked messages along with regular non-chunked messages. The producer publishes message M1 in three chunks labeled M1-C1, M1-C2 and M1-C3. The broker stores all the three chunked messages in the managed-ledger and dispatches them to the ordered (exclusive/failover) consumer in the same order. The consumer buffers all the chunked messages in memory until it receives all the chunked messages, aggregates them into one message and then hands over the original message M1 to the client.
The following figure shows a topic with one producer which publishes a large message payload in chunked messages along with regular non-chunked messages. The producer publishes message M1 in three chunks labeled M1-C1, M1-C2 and M1-C3. The broker stores all the three chunked messages in the [managed-ledger](concepts-architecture-overview.md#managed-ledgers) and dispatches them to the ordered (exclusive/failover) consumer in the same order. The consumer buffers all the chunked messages in memory until it receives all the chunked messages, aggregates them into one message and then hands over the original message M1 to the client.

![](/assets/chunking-01.png)

#### Handle interwoven chunked messages with one ordered consumer

When multiple producers publish chunked messages into a single topic, the broker stores all the chunked messages coming from different producers in the same managed-ledger. The chunked messages in the managed-ledger can be interwoven with each other. As shown below, Producer 1 publishes message M1 in three chunks M1-C1, M1-C2 and M1-C3. Producer 2 publishes message M2 in three chunks M2-C1, M2-C2 and M2-C3. All chunked messages of the specific message are still in order but might not be consecutive in the managed-ledger.
When multiple producers publish chunked messages into a single topic, the broker stores all the chunked messages coming from different producers in the same [managed-ledger](concepts-architecture-overview.md#managed-ledgers). The chunked messages in the managed-ledger can be interwoven with each other. As shown below, Producer 1 publishes message M1 in three chunks M1-C1, M1-C2 and M1-C3. Producer 2 publishes message M2 in three chunks M2-C1, M2-C2 and M2-C3. All chunked messages of the specific message are still in order but might not be consecutive in the managed-ledger.

![](/assets/chunking-02.png)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,13 +125,13 @@ With message chunking enabled, when the size of a message exceeds the allowed ma

#### Handle consecutive chunked messages with one ordered consumer

The following figure shows a topic with one producer which publishes a large message payload in chunked messages along with regular non-chunked messages. The producer publishes message M1 in three chunks labeled M1-C1, M1-C2 and M1-C3. The broker stores all the three chunked messages in the managed-ledger and dispatches them to the ordered (exclusive/failover) consumer in the same order. The consumer buffers all the chunked messages in memory until it receives all the chunked messages, aggregates them into one message and then hands over the original message M1 to the client.
The following figure shows a topic with one producer which publishes a large message payload in chunked messages along with regular non-chunked messages. The producer publishes message M1 in three chunks labeled M1-C1, M1-C2 and M1-C3. The broker stores all the three chunked messages in the [managed-ledger](concepts-architecture-overview.md#managed-ledgers) and dispatches them to the ordered (exclusive/failover) consumer in the same order. The consumer buffers all the chunked messages in memory until it receives all the chunked messages, aggregates them into one message and then hands over the original message M1 to the client.

![](/assets/chunking-01.png)

#### Handle interwoven chunked messages with one ordered consumer

When multiple producers publish chunked messages into a single topic, the broker stores all the chunked messages coming from different producers in the same managed-ledger. The chunked messages in the managed-ledger can be interwoven with each other. As shown below, Producer 1 publishes message M1 in three chunks M1-C1, M1-C2 and M1-C3. Producer 2 publishes message M2 in three chunks M2-C1, M2-C2 and M2-C3. All chunked messages of the specific message are still in order but might not be consecutive in the managed-ledger.
When multiple producers publish chunked messages into a single topic, the broker stores all the chunked messages coming from different producers in the same [managed-ledger](concepts-architecture-overview.md#managed-ledgers). The chunked messages in the managed-ledger can be interwoven with each other. As shown below, Producer 1 publishes message M1 in three chunks M1-C1, M1-C2 and M1-C3. Producer 2 publishes message M2 in three chunks M2-C1, M2-C2 and M2-C3. All chunked messages of the specific message are still in order but might not be consecutive in the managed-ledger.

![](/assets/chunking-02.png)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,44 @@ Currently, Pulsar is available for 64-bit **macOS**, **Linux**, and **Windows**.
> **Note**
> Broker is only supported on 64-bit JVM.
#### Install JDK on M1
In the current version, Pulsar uses a BookKeeper version which in turn uses RocksDB. RocksDB is compiled to work on x86 architecture and not ARM. Therefore, Pulsar can only work with x86 JDK. This is planned to be fixed in future versions of Pulsar.

One of the ways to easily install an x86 JDK is to use [SDKMan](http://sdkman.io) as outlined in the following steps:

1. Install [SDKMan](http://sdkman.io).

* Method 1: follow instructions on the SDKMan website.

* Method 2: if you have [Homebrew](https://brew.sh) installed, enter the following command.
```shell
brew install sdkman
```
2. Turn on Rosetta2 compatibility for SDKMan by editing `~/.sdkman/etc/config` and changing the following property from `false` to `true`.
```properties
sdkman_rosetta2_compatible=true
```
3. Close the current shell / terminal window and open a new one.
4. Make sure you don't have any previously installed JVM of the same version by listing existing installed versions.
```shell
sdk list java|grep installed
```

Example output:
```text
| >>> | 17.0.3.6.1 | amzn | installed | 17.0.3.6.1-amzn
```

If you have any Java 17 version installed, uninstall it.
```shell
sdk uinstall java 17.0.3.6.1
```

5. Install any Java versions greater than Java 8.
```shell
sdk install java 17.0.3.6.1-amzn
```

### Install Pulsar using binary release

To get started with Pulsar, download a binary tarball release in one of the following ways:
Expand Down

0 comments on commit c003075

Please sign in to comment.