Skip to content

Commit

Permalink
docs: add palette communication section PEM-6141
Browse files Browse the repository at this point in the history
  • Loading branch information
addetz committed Nov 27, 2024
1 parent ed661ce commit e9e26c9
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions docs/docs-content/architecture/architecture-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,29 @@ be optionally downloaded from a self-hosted private repository instead of pullin
repository.

![Self-hosted Palette architecture diagram](/architecture_architecture-on-prem-detailed.webp)

### Message Brokers

Palette requires reliable, scalable and secure communication. The internal microservices use a Publish-Subscribe pattern
implemented with [gRPC](https://grpc.io/) to achieve this. In order to support this communication pattern, a message
broker service acts as the central hub for message exchange. Palette message brokers are automatically scaled, ensuring
that a quorum is available for each cluster. The broker system is designed to provide the following functionality.

1. It efficiently distributes incoming gRPC requests across multiple replicas of the message broker to optimize resource
usage and platform performance. This capability supports Palette's ability to manage large, enterprise Kubernetes
clusters.
2. It provides high availability by enabling clients to failover to alternative replicas in the case of a pod failure.
By default, two replicas of the message broker are created in each cluster.
3. It automatically adjusts to changes in the number of broker replicas without manual reconfiguration, ensuring that
the platform dynamically scales in response to load changes.
4. It enforces message authentication and security by generating secondary certificates used for broker to broker
communication. This provides security in depth.

Any Enterprise and VerteX Palette cluster will have a message broker that you can inspect. First, ensure that you can
connect to the cluster. Refer to the
[Access Cluster with CLI](../clusters/cluster-management/palette-webctl.md#access-cluster-with-cli) guide for further
infomation. You can then view your message broker by executing the following command.

```bash
kubectl get statefulset msgbroker --namespace hubble-system
```

0 comments on commit e9e26c9

Please sign in to comment.