Planet Eclipse. When I say to someone that I work for Red Hat they say me “Ah ! Are you working on Linux ?” ! I’m not a Linux guy, I’m not a fan boy but I’m just a daily user All people know that Red Hat is THE company which provides the best enterprise Linux distribution well known as Red Hat Enterprise Linux (RHEL) but Red Hat is not only Linux today. Its portfolio is huge : the cloud and containers business with the Open. Shift effort, the microservices offer with Vert. Wildfly Swarm, Spring Boot, the Io. T world with the involvement in the main Eclipse Foundation projects. The objective of this blog is just showing briefly the projects I worked (or I’m working) on since last year when I was hired on March 1st. They are not “my” projects, they are projects I’m involved because the entire team is working on them ! I’m on the messaging & Io. T team, so you will see only projects about this stuff AMQP – Apache Spark connector. This “little” component is strictly related to the “big” radanalytics. Apache Spark for analytics (batch, real- time, machine learning, . Io. T related scenarios) with an high throughput. Even in this case, the idea was providing a way for having AMQP 1. JMS clients pushing messages to Apache Kafka topics without knowing the related custom protocol. In this way, if you have such clients because you are already using a broker technology but then you need some specific Kafka features (i. I showed how this is possible at the Red Hat summit as well and the related demo is available here. MQTT on En. Masse. En. Masse is an open source messaging platform, with focus on scalability and performance.
It can run on your own infrastructure (on premise) or in the cloud, and simplifies the deployment of messaging infrastructure. It’s based on other open source projects like Active. MQ Artemis and Qpid Dispatch Router supporting the AMQP 1. In order to provide support for the MQTT protocol, we designed how to take “MQTT over AMQP” so having MQTT features on the AMQP protocol. From the design we moved to develop two main components : the MQTT gateway which handles connections with remote MQTT clients translating all messages from MQTT to AMQP and vice versa; the MQTT LWT (Last and Will Testament) service which provides a way for notifying all clients connected to En. Masse that another client is suddenly died sending them its “will message”. The great thing about this service, is that it works with pure AMQP 1. ADO.NET - Free ASP.NET Tutorials, Reference Manual, and Quick Guide for Beginners. Learn ASP.NET starting from Environment Setup, Basic Controls, Directives, Event. Java annotations are used to provide meta data for your Java code. Being meta data, Java annotations do not directly affect the execution of your code, although some. LWT feature on AMQP as well : for this reason the team is thinking to change its name just in AMQP LWT service. En. Masse is great for Io. T scenarios in order to handle a huge number of connections and ingesting a lot of data using AMQP and MQTT as protocols. I used it in all my Io. T demos for showing how it’s possible to integrate it with streaming and analytics frameworks. It’s also the main choice as messaging infrastructure in the cloud for the Eclipse Hono project. Vert. x and the Io. T components. Vert. JVM. The reactive applications manifesto fits really well for Io. T scenarios where responsiveness, resiliency, elasticity and the communication driven by messages are the pillars of all the Io. T solutions. Starting to work on the MQTT gateway for En. Masse using Vert. I decided to develop an MQTT server that was just able to handle communication with remote clients providing an API for interacting with them : this component was used for bridging MQTT to AMQP (in En. Masse) but can be used for any scenario where a sort of protocol translation or integration is needed (i. MQTT to Vert. x Event Bus, to Kafka, . Pay attention, it’s not a full broker ! The other component was the Apache Kafka client, mainly developed by Julien Viet (lead on Vert. Finally, thanks to the Google Summer of Code, during the last 2 months I have been mentoring a student who is working on developing a Vert. MQTT client. As you can see the Vert. Io. T perspective other then providing a lot of components useful for developing pure microservices based solutions. Eclipse Hono. Eclipse Hono is a project under the big Eclipse Io. T umbrealla in the Eclipse Foundation. It provides a service interfaces for connecting large numbers of Io. T devices to a back end and interacting with them in a uniform way regardless of the device communication protocol. It supports scalable and secure ingestion of large volumes of sensor data by means of its Telemetry API. The Command & Control API allows for sending commands (request messages) to devices and receive a reply to such a command from a device asynchronously in a reliable way. This project is mainly developed by Red Hat and Bosch and I gave my support on designing all the API other then implementing the MQTT adapter even in this case using the Vert. MQTT server component. Because Eclipse Hono works on top of a messaging infrastructure for allowing messages exchange, the main choice was using Active. MQ Artemis and the Qpid Dispatch Router even running them using Kubernetes and Open. Shift with En. Masse. Apache Kafka. Finally, I was involved to develop a POC named “barnabas” (a messenger character from a Frank Kafka novel : -)) in order to take Apache Kafka running on Open. Shift. Considering the stetaful nature of a project like Kafka, I started when Kubernetes didn’t offer the Stateful. Sets feature doing something similar by myself. Today, the available deploy is based on Stateful. Sets and it’s a work in progress on which I’ll continue to work for pushing the POC to the next level. Apache Kafka is a really great project which has its own use cases in the messaging world; today it’s more powerful thanks to the new Streams API which allows to execute a real time streaming analytics using topics from your cluster and running simple applications. My next step is to move my En. Masse + Spark demo to an En. Masse + Kafka (and streaming) deployment. I’m also giving my support on the Apache Kafka code. Conclusion. The variety and heterogeneity of all the above projects is giving me a lot of fun in my day by day work even collaborating with different people with different knowledge. I like learning new stuff and the great thing is that !
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
August 2017
Categories |