background preloader

Frameworks

Facebook Twitter

Apollo. Apollo is a set of Java libraries that we use at Spotify when writing micro-services.

Apollo

Apollo includes features such as an HTTP server and a URI routing system, making it trivial to implement RESTful services. Apollo has been used in production at Spotify for a long time. As a part of the work to release version 1.0.0 we are moving the development of Apollo in to the open. Apollo has three main parts: Apollo API The apollo-api library defines the interfaces for your request routing and request/reply handlers.

Apollo Core The apollo-core library manages the lifecycle (loading, starting, and stopping) of your service and defines a powerful module system for adding functionality to an Apollo assembly. [Rough Cut] QBit Microservice Lib Working With CallBacks · advantageous/qbit Wiki. CallBacks To really grasp QBit, one must grasp the concepts of a CallBack.

[Rough Cut] QBit Microservice Lib Working With CallBacks · advantageous/qbit Wiki

A CallBack is a way to get an async response in QBit. You call a service method and it calls you back. There is really no magic. Ok there is some, but we will start magic free and explain things as they come. Imagining an app - CPU Bound and IO Bound For this example, we are going to imagine a larger app. Now we are not building a real recommendation engine although QBit has been used for similar things. The trick with an example is to keep the concepts clear enough without getting too much clutter with a real world implementation so it can be followed. JGiven. The Unbearable Lightness of Java. Vert.x 3 and Guice - the easiest way. Guice is really easy to use DI framework.

Vert.x 3 and Guice - the easiest way

This post is not about explaining how it works. Vert.x is also easy (unless you have more then 10 Verticles sending 5k/s messages to each other). Simple technologies should play well together. So it is with Guice and Vert.x. WimbledonVerticle - better than MyVerticle Soon Roger Federer and Novak Djokovic will play for Wimbledon Championship. Below, WimbledonVerticle code snippet shows how dependency magic happens. Thanks to WimbledonModule we can bind all necessary dependencies. Having it all together we can implement TournamentWinnerEndpoint with injected all needed dependencies. And basically this is it. Final usage: curl -w " will win Wimbledon in 2015\n" -X GET As a result: Roger Federer will win Wimbledon in 2015 or Novak Djokovic will win Wimbledon in 2015. [Doc] QBit and Vertx3 : Best of both worlds for Microservices · advantageous/qbit Wiki. This feature allows you to create a service which can also serve up web pages and web resources for an app.

[Doc] QBit and Vertx3 : Best of both worlds for Microservices · advantageous/qbit Wiki

Prior QBit has been more focused on just being a REST microservices, i.e., routing HTTP calls and WebSocket messages to Java methods. Rather then reinvent the world. QBit now supports Vertx 3. There is a full example at the bottom of this page on how to combine QBit and Vertx. [Doc] QBit and Vertx3 : Best of both worlds for Microservices · advantageous/qbit Wiki. Vert.x - La boîte à outils. En mai de cette année, Vert.x a fait son entrée dans le monde des serveurs asynchrones.

Vert.x - La boîte à outils

Tim Fox, le créateur, a pour ambition de fournir un système à la fois polyglotte et scalable tout en proposant un modèle concurrentiel simple. Restons polyglottes Il s’agit bien ici de parler plusieurs langages : Java, Groovy, Javascript, Coffeescript, Ruby et Python. En ce qui concerne Java, c’est tout naturel pour une application construite autour du framework asynchrone Netty. Et quand on parle Java, Groovy coule de source. De l’ULM au quadri-moteur En plus de rajouter une couche de simplification vis-à-vis de Netty, Vert.x apporte toute une variété de fonctionnalités qui, mises bout à bout, confèrent une grande cohérence au modèle. Un serveur web Ce qu’on aime dans Vert.x, c’est sa simplicité. Rapidement on aura envie d’introduire la notion de contrôleur avec un mécanisme de routage. L’ensemble des méthodes http sont disponibles (put, get, delete…).

Scalabilité. Aesteve/vertx-feeds. Erwindeg/vertx-simple-archetype. Erwindeg/vertx-mongo-angular-archetype. JHipster home page.