1
0
mirror of https://github.com/taigrr/nats.docs synced 2025-01-18 04:03:23 -08:00

GitBook: [master] 3 pages modified

This commit is contained in:
Ginger Collison 2021-03-26 19:16:40 +00:00 committed by gitbook-bot
parent 2f63683873
commit d3289e6413
No known key found for this signature in database
GPG Key ID: 07D2180C7B12D0FF
3 changed files with 19 additions and 20 deletions

View File

@ -135,7 +135,7 @@
* [Terraform](jetstream/configuration_mgmt/terraform.md) * [Terraform](jetstream/configuration_mgmt/terraform.md)
* [GitHub Actions](jetstream/configuration_mgmt/github_actions.md) * [GitHub Actions](jetstream/configuration_mgmt/github_actions.md)
* [Kubernetes Controller](jetstream/configuration_mgmt/kubernetes_controller.md) * [Kubernetes Controller](jetstream/configuration_mgmt/kubernetes_controller.md)
* [Disaser Recovery](jetstream/disaster_recovery.md) * [Disaster Recovery](jetstream/disaster_recovery.md)
* [Model Deep Dive](jetstream/model_deep_dive.md) * [Model Deep Dive](jetstream/model_deep_dive.md)
* [NATS API Reference](jetstream/nats_api_reference.md) * [NATS API Reference](jetstream/nats_api_reference.md)
* [Multi-tenancy & Resource Mgmt](jetstream/resource_management.md) * [Multi-tenancy & Resource Mgmt](jetstream/resource_management.md)

View File

@ -8,7 +8,7 @@ This feature comparison is a summary of a few of the major components in several
In this comparison, we will be featuring NATS, Apache Kafka, RabbitMQ, Apache Pulsar, and gRPC. In this comparison, we will be featuring NATS, Apache Kafka, RabbitMQ, Apache Pulsar, and gRPC.
### Language and Platform Coverage ## Language and Platform Coverage
| Project | Client Languages and Platforms | | Project | Client Languages and Platforms |
| :--- | :--- | | :--- | :--- |
@ -18,7 +18,7 @@ In this comparison, we will be featuring NATS, Apache Kafka, RabbitMQ, Apache Pu
| **Pulsar** | 7 client languages, 5 third-party clients - tested on macOS and Linux. | | **Pulsar** | 7 client languages, 5 third-party clients - tested on macOS and Linux. |
| **Rabbit** | At least 10 client platforms that are maintainer-supported with over 50 community supported client types. Servers are supported on the following platforms: Linux Windows, NT. | | **Rabbit** | At least 10 client platforms that are maintainer-supported with over 50 community supported client types. Servers are supported on the following platforms: Linux Windows, NT. |
### Built-in Patterns ## Built-in Patterns
| Project | Supported Patterns | | Project | Supported Patterns |
| :--- | :--- | | :--- | :--- |
@ -28,7 +28,7 @@ In this comparison, we will be featuring NATS, Apache Kafka, RabbitMQ, Apache Pu
| **Pulsar** | Streams through publish/subscribe. Multiple competing consumer patterns support load balancing. Application code must correlate requests with replies over multiple topics for a service \(request/reply\) pattern. | | **Pulsar** | Streams through publish/subscribe. Multiple competing consumer patterns support load balancing. Application code must correlate requests with replies over multiple topics for a service \(request/reply\) pattern. |
| **Rabbit** | Streams through publish/subscribe, and services with a direct reply-to feature. Load balancing can be achieved with a Work Queue. Applications must correlate requests with replies over multiple topics for a service \(request/reply\) pattern. | | **Rabbit** | Streams through publish/subscribe, and services with a direct reply-to feature. Load balancing can be achieved with a Work Queue. Applications must correlate requests with replies over multiple topics for a service \(request/reply\) pattern. |
### Delivery Guarantees ## Delivery Guarantees
| Project | Quality of Service / Guarantees | | Project | Quality of Service / Guarantees |
| :--- | :--- | | :--- | :--- |
@ -38,9 +38,9 @@ In this comparison, we will be featuring NATS, Apache Kafka, RabbitMQ, Apache Pu
| **Pulsar** | At most once, at least once, and exactly once. | | **Pulsar** | At most once, at least once, and exactly once. |
| **Rabbit** | At most once, at least once. | | **Rabbit** | At most once, at least once. |
### Multi-tenancy and Sharing ## Multi-tenancy and Sharing
| Project | Multi-tenancy Support | | Project | Multi-tenancy Support |
| :--- | :--- | | :--- | :--- |
| **NATS** | NATS supports true multi-tenancy and decentralized security through accounts and defining shared streams and services. | | **NATS** | NATS supports true multi-tenancy and decentralized security through accounts and defining shared streams and services. |
| **gRPC** | N/A | | **gRPC** | N/A |
@ -48,7 +48,7 @@ In this comparison, we will be featuring NATS, Apache Kafka, RabbitMQ, Apache Pu
| **Pulsar** | Multi-tenancy is implemented through tenants; built-in data sharing across tenants is not supported. Each tenant can have its own authentication and authorization scheme. | | **Pulsar** | Multi-tenancy is implemented through tenants; built-in data sharing across tenants is not supported. Each tenant can have its own authentication and authorization scheme. |
| **Rabbit** | Multi-tenancy is supported with vhosts; data sharing is not supported. | | **Rabbit** | Multi-tenancy is supported with vhosts; data sharing is not supported. |
### AuthN ## AuthN
| Project | Authentication | | Project | Authentication |
| :--- | :--- | | :--- | :--- |
@ -58,7 +58,7 @@ In this comparison, we will be featuring NATS, Apache Kafka, RabbitMQ, Apache Pu
| **Pulsar** | TLS Authentication, Athenz, Kerberos, JSON Web Token Authentication. | | **Pulsar** | TLS Authentication, Athenz, Kerberos, JSON Web Token Authentication. |
| **Rabbit** | TLS, SASL, username and password, and pluggable authorization. | | **Rabbit** | TLS, SASL, username and password, and pluggable authorization. |
### AuthZ ## AuthZ
| Project | Authorization | | Project | Authorization |
| :--- | :--- | | :--- | :--- |
@ -68,7 +68,7 @@ In this comparison, we will be featuring NATS, Apache Kafka, RabbitMQ, Apache Pu
| **Pulsar** | Permissions may be granted to specific roles for lists of operations such as produce and consume. | | **Pulsar** | Permissions may be granted to specific roles for lists of operations such as produce and consume. |
| **Rabbit** | ACLs dictate permissions for configure, write, and read operations on resources like exchanges, queues, transactions, and others. Authentication is pluggable. | | **Rabbit** | ACLs dictate permissions for configure, write, and read operations on resources like exchanges, queues, transactions, and others. Authentication is pluggable. |
### Message Retention and Persistence ## Message Retention and Persistence
| Project | Message Retention and Persistence Support | | Project | Message Retention and Persistence Support |
| :--- | :--- | | :--- | :--- |
@ -78,7 +78,7 @@ In this comparison, we will be featuring NATS, Apache Kafka, RabbitMQ, Apache Pu
| **Pulsar** | Supports tiered storage including file, Amazon S3 or Google Cloud Storage \(GCS\). Pulsar can replay messages from a specific position and supports durable subscriptions. Pulsar SQL and topic compaction is supported, as well as Pulsar functions. | | **Pulsar** | Supports tiered storage including file, Amazon S3 or Google Cloud Storage \(GCS\). Pulsar can replay messages from a specific position and supports durable subscriptions. Pulsar SQL and topic compaction is supported, as well as Pulsar functions. |
| **Rabbit** | Supports file-based persistence. Rabbit supported queue-based semantics \(vs log\), so no message replay is available. | | **Rabbit** | Supports file-based persistence. Rabbit supported queue-based semantics \(vs log\), so no message replay is available. |
### High Availability and Fault Tolerance ## High Availability and Fault Tolerance
| Project | HA and FT Support | | Project | HA and FT Support |
| :--- | :--- | | :--- | :--- |
@ -88,7 +88,7 @@ In this comparison, we will be featuring NATS, Apache Kafka, RabbitMQ, Apache Pu
| **Pulsar** | Pulsar supports clustered brokers with geo-replication. | | **Pulsar** | Pulsar supports clustered brokers with geo-replication. |
| **Rabbit** | Clustering Support with full data replication via federation plugins. Clusters require low-latency networks where network partitions are rare. | | **Rabbit** | Clustering Support with full data replication via federation plugins. Clusters require low-latency networks where network partitions are rare. |
### Deployment ## Deployment
| Project | Supported Deployment Models | | Project | Supported Deployment Models |
| :--- | :--- | | :--- | :--- |
@ -98,7 +98,7 @@ In this comparison, we will be featuring NATS, Apache Kafka, RabbitMQ, Apache Pu
| **Pulsar** | Pulsar supports clustering and built-in geo-replication between clusters. Clients may connect to any cluster with an appropriately configured tenant and namespace. Pulsar requires a JVM and requires at least 6 Linux machines or VMs. 3 running ZooKeeper. 3 running a Pulsar broker and a BookKeeper bookie. [_\(2\)_](compare-nats.md#references)\_\_ | | **Pulsar** | Pulsar supports clustering and built-in geo-replication between clusters. Clients may connect to any cluster with an appropriately configured tenant and namespace. Pulsar requires a JVM and requires at least 6 Linux machines or VMs. 3 running ZooKeeper. 3 running a Pulsar broker and a BookKeeper bookie. [_\(2\)_](compare-nats.md#references)\_\_ |
| **Rabbit** | Rabbit supports clusters and cross-cluster message propagation through a federation plugin. Clients are unaware of topology and may connect to any cluster. The server requires the Erlang VM and dependencies. | | **Rabbit** | Rabbit supports clusters and cross-cluster message propagation through a federation plugin. Clients are unaware of topology and may connect to any cluster. The server requires the Erlang VM and dependencies. |
### Monitoring ## Monitoring
| Project | Monitoring Tooling | | Project | Monitoring Tooling |
| :--- | :--- | | :--- | :--- |
@ -108,7 +108,7 @@ In this comparison, we will be featuring NATS, Apache Kafka, RabbitMQ, Apache Pu
| **Pulsar** | CLI tools, per-topic dashboards, and third-party tools. | | **Pulsar** | CLI tools, per-topic dashboards, and third-party tools. |
| **Rabbit** | CLI tools, a plugin-based management system with dashboards and third-party tools. | | **Rabbit** | CLI tools, a plugin-based management system with dashboards and third-party tools. |
### Management ## Management
| Project | Management Tooling | | Project | Management Tooling |
| :--- | :--- | | :--- | :--- |
@ -118,7 +118,7 @@ In this comparison, we will be featuring NATS, Apache Kafka, RabbitMQ, Apache Pu
| **Pulsar** | CLI tools, per-topic dashboards, and third-party tools. | | **Pulsar** | CLI tools, per-topic dashboards, and third-party tools. |
| **Rabbit** | CLI tools, a plugin-based management system with dashboards and third-party tools. | | **Rabbit** | CLI tools, a plugin-based management system with dashboards and third-party tools. |
### Integrations ## Integrations
| Project | Built-in and Third Party Integrations | | Project | Built-in and Third Party Integrations |
| :--- | :--- | | :--- | :--- |
@ -128,9 +128,9 @@ In this comparison, we will be featuring NATS, Apache Kafka, RabbitMQ, Apache Pu
| **Pulsar** | Pulsar has many integrations, including ActiveMQ, Cassandra, Debezium, Flume, Elasticsearch, Kafka, Redis, and others. | | **Pulsar** | Pulsar has many integrations, including ActiveMQ, Cassandra, Debezium, Flume, Elasticsearch, Kafka, Redis, and others. |
| **Rabbit** | RabbitMQ has many plugins, including protocols \(MQTT, STOMP\), WebSockets, and various authorization and authentication plugins. | | **Rabbit** | RabbitMQ has many plugins, including protocols \(MQTT, STOMP\), WebSockets, and various authorization and authentication plugins. |
### References ## References
1. [ https://docs.cloudera.com/HDPDocuments/HDF3/HDF-3.1.0/bk\_planning-your-deployment/content/ch\_hardware-sizing.html\#:~:text=Kafka%20Broker%20Node%3A%20eight%20cores,and%20a%2010%2D%20Gige%20Nic%20.&text=75%20MB%2Fsec%20per%20node,therefore%2010GB%20Nic%20is%20required%20](%20https://docs.cloudera.com/HDPDocuments/HDF3/HDF-3.1.0/bk_planning-your-deployment/content/ch_hardware-sizing.html#:~:text=Kafka%20Broker%20Node%3A%20eight%20cores,and%20a%2010%2D%20Gige%20Nic%20.&text=75%20MB%2Fsec%20per%20node,therefore%2010GB%20Nic%20is%20required%20) 1. [ https://docs.cloudera.com/HDPDocuments/HDF3/HDF-3.1.0/bk\_planning-your-deployment/content/ch\_hardware-sizing.html\#:~:text=Kafka%20Broker%20Node%3A%20eight%20cores,and%20a%2010%2D%20Gige%20Nic%20.&text=75%20MB%2Fsec%20per%20node,therefore%2010GB%20Nic%20is%20required%20](https://github.com/nats-io/nats.docs/tree/2f63683873099948516e99fae28f6bca9f937343/HDPDocuments/HDF3/HDF-3.1.0/bk_planning-your-deployment/content/ch_hardware-sizing.html#:~:text=Kafka%20Broker%20Node%3A%20eight%20cores,and%20a%2010-%20Gige%20Nic%20.&text=75%20MB%2Fsec%20per%20node,therefore%2010GB%20Nic%20is%20required)
2. [https://pulsar.apache.org/docs/v1.21.0-incubating/deployment/cluster/](https://pulsar.apache.org/docs/v1.21.0-incubating/deployment/cluster/) 2. [https://pulsar.apache.org/docs/v1.21.0-incubating/deployment/cluster/](https://pulsar.apache.org/docs/v1.21.0-incubating/deployment/cluster/)
3. [https://github.com/grpc-ecosystem](https://github.com/grpc-ecosystem) 3. [https://github.com/grpc-ecosystem](https://github.com/grpc-ecosystem)

View File

@ -1,4 +1,4 @@
# Multi-Tenancy & Resource Management # Multi-tenancy & Resource Mgmt
JetStream is compatible with NATS 2.0 Multi-Tenancy using Accounts. A JetStream enabled server supports creating fully isolated JetStream environments for different accounts. JetStream is compatible with NATS 2.0 Multi-Tenancy using Accounts. A JetStream enabled server supports creating fully isolated JetStream environments for different accounts.
@ -61,8 +61,7 @@ If you try to configure JetStream for an account without enabling it globally yo
### `nsc` CLI ### `nsc` CLI
If your setup is in operator mode, JetStream specific account configuration can be stored in account JWT. If your setup is in operator mode, JetStream specific account configuration can be stored in account JWT. The earlier account named HR can be configured as follows:
The earlier account named HR can be configured as follows:
```bash ```bash
nsc add account --name HR nsc add account --name HR