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.
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.