microservices with msf4j - wso2 meetup

Post on 13-Apr-2017

302 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Microservice Framework for Java (MSF4J)

Afkham Azeez,Director, Architecture, WSO2 Inc.

What is MSF4J?

A lightweight, high performance framework for building microservices in Java

Vision for MSF4J Lightweight & fast runtime

Use Java annotations as a way of defining microservices APIs as well as metrics

Support well known & widely used methods such as JAXRS annotations

Provide simple ways to develop & deploy microservices

Vision for MSF4J Built-in Metrics & Analytics APIs with out of the box

integration with WSO2 Data Analytics Server (DAS)

To be used in the WSO2 platform as a way of replacing all admin services as well as defining other microservices for inter-component interactions

MSF4J- Performance Comparison

MSF4J- Memory Consumption Comparison

MSF4J ImplementationTransport is based on Netty 4.0

Supports streaming

High performance

Low memory footprint

5MB pack size

Starts within 300ms

DownloadMSS 1.0.0 release is available at

https://github.com/wso2/msf4j/releases/tag/v1.0.0Refer to the getting started guide in GitHubA good place to start is the samples

https://github.com/wso2/msf4j/tree/v1.0.0/samples

Core Features Quick & simple development model using simple annotations Lightweight & high performance Custom interceptors JWT & OAuth based security Metrics gathering & publishing Tracing of requests using a unique message ID Streaming input & streaming output support WSO2 DevStudio based tooling for generating microservices projects

starting from a Swagger API definition Comprehensive samples demonstrating how to develop microservices

application

MSF4J– Flow & Thread Model

Runner

Request Streaming

SecuritySecurity is done via a central server

issuing JWT tokens Security interceptors verifies the

signature, expiry & claims in the token

Analytics & Monitoring

Supports annotationsTimed – measures execution timeMetered – measures rate of eventsCounted – Counts the total invocationsHTTPMonitoring – monitors HTTP

requests

Analytics & Monitoring

Metrics Output to Console

JMX Metrics

Analytics & Monitoring

Tooling (Swagger -> Code)Swagger API Definition

MSS Code

1

2

3

MSF4J Pet store sample

MSF4J Pet store sample

Thank You!

top related