4 Pulsar functions

 

This chapter covers

  • An 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 looked at 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 set up 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, such as sensor events, user activity on a website, and financial trades, which 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 is 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 Function configuration

4.5.3 Function deployment

4.5.4 The function deployment life cycle

4.5.5 Deployment modes

4.5.6 Pulsar function data flow

sitemap