Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Introduction to MSF4J 2.0
Afkham Azeez
Senior Director, Platform Architecture, WSO2,Inc.
@afkham_azeez http://me.afkham.org
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 me...
MSF4J Implementation
• Based on the new Carbon 5.0 kernel
• Transport is based on Netty 4.0
• Supports streaming
• High pe...
MSF4J- Performance Comparison
MSF4J- Memory Consumption Comparison
MSF4J- Latency Comparison
MSF4J– Thread Model
Download
o MSF4J 2.0.0 release is available at
https://github.com/wso2/msf4j/releases/tag/v
2.0.0
o Refer to the getting s...
Core Features (1/2)
• Quick & simple development model using simple
annotations
• Supports Spring annotations & runtime
• ...
Core Features (2/2)
• JWT based security
• Metrics gathering & publishing
• Streaming input & streaming output support
• C...
Getting Started
• Start from Maven archetype
• Start from Swagger definition
12
Start from Maven Archetype
mvn archetype:generate -DarchetypeGroupId=org.wso2.msf4j 
-DarchetypeArtifactId=msf4j-microserv...
Start from Swagger Def
14
Runner
Spring Support
• Supports standard Spring configuration annotations
such as @Configuration, @Component,
@AutoWired etc. an...
ExceptionMapper
18
Circuit Breaker
19
Swagger Annotations
20
Swagger Definition
• http://localhost:8080/swagger
• http://localhost:8080/swagger?path=/stockquote
21
Request Streaming
22
Response Streaming
23
Form Processing
• @FormParam
• @FormDataParam
• FormParamIterator
24
Security
• Security is done via a central server issuing
JWT tokens
• The JWTSecurityInterceptor verifies the
signature, e...
Analytics & Monitoring
• Supports annotations
• Timed – measures execution time
• Metered – measures rate of events
• Coun...
Analytics & Monitoring
Metrics Output to Console
JMX Metrics
Analytics & Monitoring
MSF4J Pet store sample
MSF4J Pet store sample
CONTACT US !
http://wso2.com
Introduction to WSO2 Microservices Framework for Java (MSF4J) 2.0
Próxima SlideShare
Cargando en…5
×

Introduction to WSO2 Microservices Framework for Java (MSF4J) 2.0

1.565 visualizaciones

Publicado el

WSO2 Microservices Framework for Java (MSF4J) is a lightweight high performance framework for developing & running microservices.

WSO2 MSF4J is one of the highest performing lightweight Java microservices frameworks. The following graphs show the throughput, memory consumption & latency characteristics of MSF4J against other microservices frameworks.

This slide deck introduces WSO2 Microservices Framework for Java 2.0. We will look at the key differentiators as well as the key features in WSO2 MSF4J.

Publicado en: Tecnología
  • Sé el primero en comentar

Introduction to WSO2 Microservices Framework for Java (MSF4J) 2.0

  1. 1. Introduction to MSF4J 2.0 Afkham Azeez Senior Director, Platform Architecture, WSO2,Inc. @afkham_azeez http://me.afkham.org
  2. 2. What is MSF4J? A lightweight, high performance framework for building microservices in Java
  3. 3. Vision for MSF4J • Lightweight & fast runtime • Use Java annotations as a way of defining microservices APIs as well as metrics • Provide simple ways to develop & deploy microservices • 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 3
  4. 4. MSF4J Implementation • Based on the new Carbon 5.0 kernel • Transport is based on Netty 4.0 • Supports streaming • High performance • 9MB pack size • Starts within 300ms • Less than 25MB memory consumption for the framework
  5. 5. MSF4J- Performance Comparison
  6. 6. MSF4J- Memory Consumption Comparison
  7. 7. MSF4J- Latency Comparison
  8. 8. MSF4J– Thread Model
  9. 9. Download o MSF4J 2.0.0 release is available at https://github.com/wso2/msf4j/releases/tag/v 2.0.0 o Refer to the getting started guide in GitHub o A good place to start is the samples
  10. 10. Core Features (1/2) • Quick & simple development model using simple annotations • Supports Spring annotations & runtime • Swagger support • ExceptionMapper • Form processing – FormParam, FormDataParam, FormIterator • Custom interceptors 10
  11. 11. Core Features (2/2) • JWT based security • Metrics gathering & publishing • Streaming input & streaming output support • Circuit breaker support • WSO2 DevStudio based tooling for generating microservices projects starting from a Swagger API definition • Comprehensive samples demonstrating how to develop microservices application 11
  12. 12. Getting Started • Start from Maven archetype • Start from Swagger definition 12
  13. 13. Start from Maven Archetype mvn archetype:generate -DarchetypeGroupId=org.wso2.msf4j -DarchetypeArtifactId=msf4j-microservice -DarchetypeVersion=2.0.0 -DgroupId=org.example -DartifactId=Hello-Service -Dversion=1.0.0- SNAPSHOT -Dpackage=org.example.service -DserviceClass=HelloService 13
  14. 14. Start from Swagger Def 14
  15. 15. Runner
  16. 16. Spring Support • Supports standard Spring configuration annotations such as @Configuration, @Component, @AutoWired etc. and other Spring features work with MSF4J • Bring in other 3rd party libraries & wire them in at runtime. • e.g. Spring-JPA library to integrate the Hibernate ORM framework with an MSF4J service 17
  17. 17. ExceptionMapper 18
  18. 18. Circuit Breaker 19
  19. 19. Swagger Annotations 20
  20. 20. Swagger Definition • http://localhost:8080/swagger • http://localhost:8080/swagger?path=/stockquote 21
  21. 21. Request Streaming 22
  22. 22. Response Streaming 23
  23. 23. Form Processing • @FormParam • @FormDataParam • FormParamIterator 24
  24. 24. Security • Security is done via a central server issuing JWT tokens • The JWTSecurityInterceptor verifies the signature, expiry & claims in the token
  25. 25. Analytics & Monitoring • Supports annotations • Timed – measures execution time • Metered – measures rate of events • Counted – Counts the total invocations • HTTPMonitored – monitors HTTP requests
  26. 26. Analytics & Monitoring
  27. 27. Metrics Output to Console
  28. 28. JMX Metrics
  29. 29. Analytics & Monitoring
  30. 30. MSF4J Pet store sample
  31. 31. MSF4J Pet store sample
  32. 32. CONTACT US ! http://wso2.com

×