cr-org / neutron

:stars: Purely functional Apache Pulsar client for Scala built on top of Fs2

Version Matrix

neutron

CI Status MergifyStatus Maven Central Scala Steward badge Cats friendly

A pulsar is a celestial object, thought to be a rapidly rotating neutron star, that emits regular pulses of radio waves and other electromagnetic radiation at rates of up to one thousand pulses per second.

pulsar

Disclaimer

Chatroulette uses this library in production as the base of the whole platform. However, this library is in active development so if you want to use it, do it at your own risk.

Documentation

Check out the microsite.

Pulsar version

At the moment, we target Apache Pulsar 2.7.x.

Development

If you have sbt installed, you don't have to worry about anything. Simply run sbt +test command in the project root to run the tests.

If you are a nix user, make sure you enter a Nix Shell by running nix-shell at the project's root.

sbt +test

Remember to first start Pulsar and its configuration via the provided shell script.

./run.sh

Schemas

Working with schemas when using our Pulsar docker-compose configuration.

Get schema compatibility strategy:

$ docker-compose exec pulsar bin/pulsar-admin namespaces get-schema-compatibility-strategy public/default
FULL

Set schema compatibility strategy:

$ docker-compose exec pulsar bin/pulsar-admin namespaces set-schema-compatibility-strategy -c BACKWARD public/default