In recent years, the concept of microservices has become more and more popular. To what extent? In 2019, there was a statistic that out of 2,000 enterprises, 45% were using microservices, 16% were developing and testing microservices architecture, 24% were learning about microservices and preparing for transformation, and only the remaining 15% were not using microservices.

What’s so good about microservices anyway? Microservice was only proposed in 2013, and it has developed so fast in just a few years. Micro service architecture can be achieved by small independent service to form a whole application, is loose coupling between components, low complexity, the parts can be developed independently, fixing bugs or introduce new features, more easily expand independently, can use different framework, different between different technology stacks repository and even different operating system platforms.

For medium – and large-sized architecture systems, microservices are more convenient. Microservices have become the direction of many enterprise architecture reconfiguration, and pose higher challenges to architects. There are a number of frameworks commonly used for microservice construction that can help build microservice architectures.

Java language-related microservices framework

1.Spring Boot

Spring Boot is designed to simplify the initial setup and development process of new Spring applications. In 2017, 64.4% of respondents decided to use Spring Boot, arguably the most popular microservices development framework. The ease of Spring Boot development simplifies the development of distributed system infrastructure, such as configuration center, registration, load balancing, and other aspects can be one-click startup and one-click deployment.

2.Spring Cloud

Spring Cloud is a collection of frameworks that help architects build a complete ecosystem of microservices architecture technology based on HTTP (S) RETS services.

3.Dubbo

Dubbo is an open source distributed servitization governance framework from Alibaba, which is accessed through RPC requests. Dubbo was formed during the gradual exploration and evolution of Alibaba’s e-commerce platform, and experienced the high concurrency challenge of complex business, which was earlier than the open source of Spring Cloud. Dubbo is being used by alibaba, JD.com, Dangdang, Ctrip, Qunar and other companies.

4.Dropwizard

Dropwizard integrates the best components from all the problem domains in the Java ecosystem to quickly build a REST-style backend and integrate projects outside of Dropwizard’s core. Domestic now use Dropwizard is very few, resources are not many, but compared with SpringBoot, Dropwizard has more advantages in lightweight, at the same time, if you have used Spring, then the basic will use SpringBoot.

5.Akka

Akka is a library written in Scala that can be used in the Actor model of Java and Scala with easy writing tolerance and high scalability to implement microservice clusters.

6.Vert.x/ Lagom/ ReactiveX/Spring 5

These four frameworks are mainly used for responsive microservice development. Responsive itself has nothing to do with microservice, but is more used to improve performance. However, it can be combined with microservice to improve performance.

.net related microservices framework

1. .NET Core

Designed specifically for the modular microservices architecture,.NET Core is a cross-platform application development framework and was the first official release developed by Microsoft.

2.Service Fabric

Service Fabric is a microservices framework developed by Microsoft. Many cloud services built on Service Fabric are used on Azure.

3.Surging

Surging is an RPC based distributed micro service technical framework. NET Core.

4.Microdot Framework

The Microdot Framework is used to write the code that defines the service logic. Without solving the challenges of developing distributed systems, it can easily integrate MicrosoftOrleans.

Node.js related microservices framework

1.Seneca

Seneca is a node.js microservices framework development tool that can be used to write code that can be used in production environments.

2.Hapi/ restify/ LoopBack

The three frameworks differ in the division of labor. The first two are better suited for developing simple microservice back-end systems, while the third is better suited for developing large and complex applications, as well as building on top of existing microservices.

Go related microservices framework

Go-Kit/Goa/Dubbogo

Go-kit is a collection of distributed development tools suitable for building microservices in large business scenarios. Goa is a microservice framework built with Go language. Dubbogo is a Golang microservice framework compatible with Alibaba’s open source Dubbo.

Python related microservices framework

There are very few Python related microservices frameworks, and Nameko is used more often. Nameko makes microservices easier to implement and provides a wealth of features, such as load balancing, service discovery, and automatic dependency injection. It is easy to use, but has drawbacks such as speed limiting, timeouts, and inadequate permissions.

conclusion

Microservices have become the choice of many large Internet companies. For architects and engineers who want to become architects, mastering microservices should not only learn to use the relevant framework to implement, but also master the specific usage. There are still many pitfalls to avoid in the specific practice.

Write at the end:

Welcome everyone to pay attention to my newly opened public account [calm as code], massive Java related articles, learning materials will be updated in it, sorting out the data will be placed in it.

If you think it’s written well, click a “like” and add a follow! Point attention, do not get lost, continue to update!!