microservices with msf4j - wso2 meetup
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 in Action!
https://github.com/afkham/wso2conasia2016
https://github.com/sagara-gunathunga/msf4j-intro-webinar-samples
MSF4J Pet store sample
MSF4J Pet store sample
Thank You!