4 Pulsar Functions

 

This chapter covers

  • Introduction to the Pulsar Functions framework
  • The Pulsar Functions programming model and API
  • Writing your first Pulsar Function in Java
  • Configuring, submitting, and monitoring a Pulsar Function

In our previous chapter, we started to see how you can work with Pulsar using some of the various client libraries. In this chapter we will look at a stream native processing engine known as Pulsar Functions that makes the development of Pulsar-based applications much simpler. This lightweight processing framework automatically handles a lot of the boilerplate coding required to setup Pulsar consumers and producers, allowing you to focus on the processing logic itself rather than the consumption and processing of the messages.

4.1    Stream Processing

While there isn’t an official definition, the term stream processing generally refers to the processing of unbounded datasets that stream in continuously from some source system. There are several datasets that occur naturally as continuous streams: sensor events, user activity on a website, financial trades, etc. that can be processed in this manner.

4.1.1   Traditional Batching

4.1.2   Micro-Batching

4.1.3   Stream Native Processing

4.2    What are Pulsar Functions?

4.2.1   Programming Model

4.3    Developing Pulsar Functions

4.3.1   Language Native Functions

4.3.2   The Pulsar SDK

4.3.3   Stateful Functions

4.4    Testing Pulsar Functions

4.4.1   Unit Testing

4.4.2   Integration Testing

4.5    Deploying Pulsar Functions

4.5.1   Generating a Deployment Artifact

4.5.2   Configuration and Deployment

4.5.3   The Function Deployment Lifecycle

4.5.4   Deployment Modes

4.5.5   Pulsar Function Data Flow

4.6    Summary

sitemap