liveBook · Manning

Knative Eventing Broker

As explained in Google Anthos in Action

A Knative Eventing Broker is an event-ingress resource that receives events and makes them available for filtering and delivery to consumers.

A Knative Eventing Broker is an addressable event-ingress resource. It receives events from external sources, stores messages in a channel, and makes them available to subscribers through Knative Triggers. section 9.3.3

Use the Broker to separate event ingestion from filtering, routing, and service execution:

  • Event sources send or pull events into the Broker. section 9.3.3
  • Triggers filter events by attributes and route matching events to Kubernetes or Knative Services. section 9.3.3
  • Channels hold messages while they are processed, using in-memory storage or persistent systems such as Pub/Sub and Kafka. section 9.3.3
  • Namespaces can host separate Brokers for different message types, with accepted events controlled through filtering and configuration. section 9.3.3

Default Broker configuration

A Broker manifest can select the MTChannelBasedBroker implementation and connect it to a ConfigMap that defines the default channel. Deploying the Eventing component also requires the Eventing CRDs, core components, default channel layer, and Broker layer. section 9.3.3 section 9.3.5

apiVersion: eventing.knative.dev/v1
kind: Broker
metadata:
  annotations:
    eventing.knative.dev/broker.class: MTChannelBasedBroker
  name: default
  namespace: default
spec:
  config:
    apiVersion: v1
    kind: ConfigMap
    name: config-br-default-channel
    namespace: knative-eventing

Inspect the Kubernetes manifest for a namespace-scoped default Broker and its configured channel. section 9.3.3

How Google Anthos in Action covers it

How deep it goes
Explains Broker, Trigger, source, channel, namespace, and configuration responsibilities, while deferring complex pipelines and detailed installation procedures.
Examples
Uses a default Broker manifest with MTChannelBasedBroker and a ConfigMap-backed channel.
What it assumes
Assumes Kubernetes resources, namespaces, ConfigMaps, services, and installation of Knative Eventing components.
What you can do after
Operate/configure event ingestion by installing a Broker layer, selecting channel storage, and connecting filtered events to services.
How it connects
Connects Brokers with Knative Triggers, event sources, CloudEvents, channels, ConfigMaps, Pub/Sub, Kafka, and Kubernetes Services.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Google Anthos in Action. The section links point to the parts of the book it draws on.