Comments (6)
MSF4J is a lightweight JAX-RS engine. It doesn't support SOAP.
You can find the MSF4J supported annotations in[1].
[1] https://github.com/wso2/msf4j/blob/master/README.md#supported-annotations
from msf4j.
Thank you @thusithathilina .
Would you please let me know what advantage MS4J brings over a simple REST Server using {Jetty, Jersey, Spring Framework}. Please note I am asking this for MS4J alone, I know the WS02 brings much more advantages than this.
Thanks....Santos
from msf4j.
@nginxsantos WSO2 MSF4J is one of the highest performing lightweight Java microservices frameworks. You can check the performance comparison with the other popular frameworks. https://github.com/wso2/msf4j/tree/master/perf-benchmark
from msf4j.
Thank you @thusithathilina , really helpful. Many thanks....
I am interested to know what are the benefits it provides over using REST Server using {Jetty, Jersey, Spring Framework}. Could you please provide me some more information on this.
Also, could you please provide me some info on any performance optimization done to achieve that performance.
WSO2 looks great, but I need some info on the benefits before I try to use them. Any help on this would help me to take a quick decision...
Thank you....
Regards, Santos.
from msf4j.
The primary design goals of MSF4J include;
- Very low memory foot print
- Very fast bootup time
- Small distribution size
- Low latency & high throughput
- Ease of use
We believe that microservices go hand in hand with container based deployment, so the 1,2,3 & 4 above have to be core concerns. So with respect to those areas MSF4J performs much better than Jetty, Jersey & Spring Boot. We also support the Spring programming model and that brings in the best of both the Spring & MSF4J worlds. We also support a subset of the JAXRS spec which we feel covers 80% of the use cases. So you can use the JAXRS annotations & constructs you are familiar with. Our instances bootup in less than 300ms, base pack size is less than 5MB, and we have some of the best throughput & latency figures compared to other frameworks.
We have done load tests which assign max memory of just 7MB for the MSF4J process and hit it with a concurrency of 50 for a simple benchmark test that echoes the request back. We were seeing acceptable throughput & latency in MSF4J while the other frameworks crashed after going out of memory. Take a look at https://github.com/wso2/msf4j/tree/master/perf-benchmark
We also provide comprehensive samples, which include the pet store sample which show a full Microservices Architecture (MSA) in action https://github.com/wso2/msf4j/tree/master/samples/petstore. This shows how to run a microservices solution in a container cluster with Kubernetes, Docker & Docker Swarm.
Thanks for contacting us and let us know if you need any further details.
Azeez
from msf4j.
One thing to watch out for the JAX-RS implementation in the delegate is not complete. Some simple things you may hit are:
- lack of
UriBuilder
support. workaround is to usejava.net.URI
and build it from there - lack of
cacheControl
support. workaround is to add your own header. - lack of 'tag` support workaround is to add your own header.
- no support for
@Cors
annotation from Spring workaround is to add your own interceptor. - no
@Inject
but@Autowire
works. @SwaggerDefintion
does not work without being part of an existing JAX-RS annotated class.- no support for
@ConfigurationProperties(prefix="")
thus preventing you from creating complex configurations that involveList
s. You can still do simple mappings with@Bean
though.
However, out of the box, it already provides
- JAXB annotations
- swagger
- netty
from msf4j.
Related Issues (20)
- NullPointerException when starting the Product SP with v2.6.1
- Documentation of pom entry microservice.resourceClasses HOT 4
- Register custom Gson Type adapter HOT 2
- Update to latest GSON release HOT 1
- in deployable jar - swagger tags disapears
- ERROR ResourceLeakDetector:171 - LEAK: ByteBuf.release() was not called before it's garbage-collected HOT 1
- missing "Microservices:" in META-INF HOT 1
- I can't deploy "Hello world" in wso2ei HOT 7
- msf4j support for cors HOT 2
- msf4j @RequestBody not working HOT 1
- Repetitve doc links in jwt-claims sample README
- Add documentation for matrics interceptor
- Enable HandlerInterceptoTest case after fixing issues in it
- metrics-httpmon-fatjar sample build results in two jars, only one can be executed to start the micro service HOT 1
- Better to have two separate samples to demonstrate HTTP monitoring and Metrics Monitoring
- SwaggerDefinition not working HOT 2
- Websocket example deployable jar not deploying in wso2 ei
- AbstractMethod error and MSF4JResponse HOT 1
- Dependency org.bouncycastle:bcprov-jdk15on, leading to CVE problem HOT 2
- MSF4J Microservice with a custom dependency doesn't work after being deployed
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from msf4j.