Microservices have become enormously popular mainly due to the introduction of Docker containers and cloud resource schedulers such as Mesos. With all the advantages of distribution that they bring, microservices migrate considerable complexity from development to deployment. Some of this relates dynamic and context-based configuration.
Common patterns and anti-patterns to consider when integrating Kafka, Cassandra and Storm for a real-time streaming analytics platform.
Cassandra is a strong candidate for storing streaming data such as time series. Therefore it is typically used in combination with Apache Storm or Apache Spark.The fastest option for writing to a Cassandra cluster is through concurrent asynchronous writes. However, in cases where data exhibits strong temporal locality, the performance can be further improved.
Storm is a powerful distributed computing platform. Topology submission with the Storm API provides advantages over spawning an external process for each topology submission, as it is faster, less resource intensive and streamlines error handling.
Morphia is an object-document mapping (ODM) library for MongoDB. The Morphia core JAR is OSGi-ready. However enabling entity class resolution in Morphia when running in OSGi requires some extra steps.
ActiveMQ supports pluggable JAAS modules that handle the authentication of incoming requests. ActiveMQ comes preloaded with a few JAAS modules, none of which supports MongoDB as the backend repository of the authentication data.
The cloud industry is moving quickly from IaaS to PaaS, and then to iPaaS and SaaS. The motivation is to manage complicated distributed applications efficiently with less manual intervention during installation and maintenance. There’s one common pattern in these: configuration starts from the top moving downwards.
The latest version of Jolokia – 1.2.1 running in the latest version of Karaf – 3.0.1 fails with an HTTP 403 error. The issue applies only when the jolokia-osgi bundle which depends on the OSGi HTTP service is deployed. The master branch in Jolokia which is not released yet contains a fix for this issue and introduces 2 new configuration properties specific to this.
It is often useful to proxy calls to services exported by a Blueprint context through a service bus. The bus could be used to log incoming calls, adapt/filter the call arguments and the result, transparently forward requests to a remote OSGi container, broadcast to several remote containers or forward to the more powerful Fuse Fabric endpoints. Exporting a regular interface to a Camel endpoint is key to this functionality.
The HTTP Whiteboard service extends the OSGi HTTP service by automatically registering servlets, filters and resource mappings with the embedded servlet container. An AngularJS application consists of static resources that can easily be deployed in any HTTP server. The deployment of AngularJS in Blueprint leverages the HTTP Whiteboard service.