There are many commonly used java microservice frameworks. Here we briefly introduce the popular ones, as follows:
1, Spring Boot
Java has been building Spring applications for a long time. Spring Boot is a specific version of Spring that makes microservice building easier by handling configuration details. Spring Boot was created to self-start any kind of Spring project, not just microservices. Once the application is complete, Spring Boot will mix it in the web server and output a JAR file, excluding the JVM. You can think of it as a raw Docker container. This is why many developers responsible for building microservices like Spring Boot very much.
2. Eclipse MicroProfile
In 2016, the Java Enterprise community decided to clean up the content in Java Enterprise Edition so that people can use classic components to build simple microservices. They removed a large number of libraries, but retained the functional code to handle REST requests, parse JSON and manage dependency injection. It was eventually called Eclipse MicroProfile and its characteristics were fast and simple.
Since then, the MicroProfile community has developed a protocol to release a new version every quarter, while adding new code to keep microservices running smoothly and securely. Any Java EE developer will be very familiar with the development process and code structure, and it saves configuration trouble.
(Video tutorial recommendation: java video)
3. Dropwizard
When Dropwizard appeared in 2011, Dropwizard The framework provides developers with a very simple model, which contains many important modules. You can add some business logic or configure other content according to your needs. In the end, you will find that the JAR file is very small and can be started quickly.
4. WildFly Thorntail
Red Hat staff built their own version of MicroProfile using a flexible configuration tool. The framework was originally called WildFly Swarm, but was later renamed WildFly Thorntail. Thorntail helps you create your own Maven build files by specifying the required features, and Maven then takes care of assembling everything.
5. Helidon
Helidon removed the Java Enterprise Edition, retained the lightweight, servlet-based core, and attracted a large number of fans. In Helidon, developers started from Netty and added code for routing and error handling. It uses two basic models of the code, the so-called SE and MP versions.
Node developers may be more familiar with Helidon SE because of its function calls connected by periods. Java programmers using JAX-RS will be more familiar with Helidon MP. In addition, Helidon also integrates some well-regarded tools, which are the reasons why it can attract a large number of developers.
6. Cricket
Another framework for rapid API development is Cricket. Cricket is small, although it includes many extra features such as a key-value data store to avoid connecting to the database and a scheduler to control background repetitive processing. There is no added complexity or additional dependencies, so it is easy to add code to Cricket and launch independent microservices.
7. Jersey
One of the standard methods to develop web services is the Java API of RESTful web services (also known as JAX-RS), which is implemented in the Jersey framework general specifications. This approach relies primarily on using annotations to specify path mapping and return details. Everything else from parameter parsing to JSON packaging is handled by Jersey.
The main advantage of Jersey is that it implements the JAX-RS standard. This feature is very popular and some developers are accustomed to using Jersey in conjunction with Spring Boot.
8, Play
One of the best ways to experience the cross-language capabilities of the JVM is to use the Play framework, which is compatible with Java or any other JVM language. Its foundation is very modern, with an asynchronous, stateless model that doesn't overload the server with threads trying to track users and their session data. There are many additional features that can be used to flesh out the website, such as OpenID, authentication and file upload support.
9. Swagger
Building an API may seem as simple as writing code to listen on a port, but the developers of Swagger don't think so. They have created a complete API specification language OpenAPI that you can use to describe your API. This may seem like an extra step, but the Swagger team also provides code to convert this specification into automated tests, documentation, and more.
The API in the Swagger configuration file is very simple, used to implement interfaces, record interfaces, and provide a set of tools to test the code built under it, and there is even an API governance mechanism.
10. Restlet
One of the biggest differences between different frameworks is the number of connections to other services or libraries. The Restlet project provides a larger set of features and connections. It has been integrated with libraries like JavaMail to avoid the need for microservices to use POP, IMAP or SMTP for certain mail servers. To prevent building large text indexes and metadata, it is also integrated Lucene and Solr.
There are many features in Restlet that are still under development. For example, you don't need to use JSON as it can handle XML, CSV, YAML and a few other file formats directly, plus it allows users to test the API from the Chrome browser.
Recommended tutorial: java entry program
The above is the detailed content of What are the commonly used Java microservice frameworks?. For more information, please follow other related articles on the PHP Chinese website!