A Job Cluster is a containing entity for Mantis Jobs. It defines metadata and certain service-level agreements. Job Clusters ease job lifecycle management and job revisioning.
A Mantis Cluster is a group of cloud container instances that hold your Mantis resources.
A cold ReactiveXObservable waits until an observer subscribes to it before it begins to emit items. This means the observer is guaranteed to see the whole Observable sequence from the beginning. This is in contrast to a hot Observable, which may begin emitting items as soon as it is created, even before observers have subscribed to it.
In contrast to a Source Job, which is a built-in variety of Sourcecomponent designed to pull data from a common sort of data source, a custom source typically accesses data from less-common sources or has unusual delivery guarantee semantics.
The stage executor is responsible for loading the bytecode for a Mantis Job and then executing its stages and workers in a coordinated fashion. In the Mesos UI, workers are also referred to as executors.
Grouped (or keyed) data is distinguished from scalar data in that each datum is accompanied by a key that indicates what group it belongs to. Grouped data can be processed by a RxJavaGroupedObservable or by a MantisGroup.
GRPC is an open-source RPC framework using Protocol Buffers. ⇒ See GRPC.io
A hot ReactiveXObservable may begin emitting items as soon as it is created, even before observers have subscribed to it. This means the observer may miss items that were emitted before the observer subscribed. This is in contrast to a cold Observable, which waits until an observer subscribes to it before it begins to emit items.
Java Mission Control is a tool from Oracle with which developers can monitor and manage Java applications. ⇒ See Java Components
If a job is configured with autoscaling, Mantis will add a Job Master component to it as its initial component. This component will send metrics back to Mantis to help it govern the autoscaling process.
Apache Kafka is a large-scale, distributed streaming platform. ⇒ See Apache Kafka.
The Mantis Master coordinates the execution of Mantis Jobs and starts the services on each Worker.
Apache Mesos is an open-source technique for balancing resources across frameworks in clusters. ⇒ See Apache Mesos
Mantis inserts metadata into its Job payload. This may include information about where the data came from, for instance. You can define additional metadata to include in the payload when you establish the Job Cluster.
A Source Job may occasionally inject meta messages into its data stream that indicate things like data drops.
Mantis Publish (internally at Netflix known as Mantis Realtime Events or MRE) is a library that your application can use to stream events into Mantis while respecting MQL filters. ⇒ See MQL.
You use Mantis Query Language to define filters and other data processing that Mantis applies to a Source data stream at its point of origin, so as to reduce the amount of data going over the wire.
A property is a particular named data value found within events in an event stream.
Reactive Streams is the latest advance of the ReactiveX project. It is an API for manipulating streams of asynchronous data in a non-blocking fashion, with backpressure. ⇒ See Reactive Streams.
ReactiveX is a software technique for transforming, combining, reacting to, and managing streams of data. RxJava is an example of a library that implements this technique. ⇒ See reactivex.io.
RxJava is the Java implementation of ReactiveX, a software technique for transforming, combining, reacting to, and managing streams of data. ⇒ See reactivex.io.
Sampling is an MQL strategy for mitigating data volume issues. There are two sampling strategies: Random and Sticky. Random sampling uniformly downsamples the source stream to a percentage of its original volume. Sticky sampling selectively samples data from the source stream based on key values. ⇒ See MQL: Sampling
Scalar data is distinguished from keyed or grouped data in that it is not categorized into groups by key. Scalar data can be processed by an ordinary ReactiveXObservable.
A Source Job is a Mantis Job that you can use as a Source, which wraps a data source external to Mantis and makes it easier for you to create a job that observes its data. ⇒ See Mantis Source Jobs
Server-sent events (SSE) are a way for a browser to receive automatic updates from a server through an HTTP connection. Mantis includes an SSE Sink. ⇒ See Wikipedia: Server-sent events
A transformation acts on each datum from a stream or Observables of data, changing it in some manner before passing it along as a new stream or Observable. Transformations may change data between scalar and grouped forms.
A transient (or ephemeral) Mantis Job is automatically killed by Mantis after a certain amount of time has passed since the last subscriber to the job disconnects.
WebSocket is a two-way, interactive communication channel that works over HTTP. In the Mantis context, it is an alternative to SSE. ⇒ See WebSocket.org.
A worker is the smallest unit of work that is scheduled within a Mantis component. You can configure how many resources Mantis allocates to each worker, and Mantis will adjust the number of workers your Mantis component needs based on its autoscaling policy.
Apache Zookeeper is an open-source server that maintains configuration information and other services required by distributed applications. ⇒ See Apache ZooKeeper