Play Microservices Series Articles (1)

        It has been two years since the concept of microservices was introduced. In the first year, I mainly learned some concepts. In the past year or so, I was fortunate to build this technical system from scratch in a company. After the actual verification of the company's actual projects, I gradually developed a technical system More comprehensive and in-depth understanding and mastery . The established system has been stable and guaranteed to support the peak impact of the company's Double 11 (peak gateway visits 1 billion times a day, and microservice calls peak 1.65 billion times a day) ! Follow-up articles will share this system with you: 1. How did we build this system step by step? 2. What supporting facilities have we made to support this system? What interesting stories have we come across? Finally, play with you microservices.                First, let's briefly talk about what are microservices?

       "Microservices" is just one of many architectural design concepts. It advocates cutting a huge and complex application system so that it is suitable for multiple small development teams for rapid development and deployment. The coupling between each small module is low, and at the same time, try to meet the vertical call of the interface, and do not make cross-call.

        Second, let's talk about where it fits.

        Many architects or technicians get excited when they hear that this is a new idea, and want to use it regardless of the actual situation. Practical experience tells me: If your system has less than 100 million visits per day, and if your team has insufficient R&D personnel, then please don't use this system! Because this system needs some supporting systems and components to support! Open source projects boast that they can do this and that, but it takes a lot of time to really apply them to their actual projects.

        Next, let's talk about the technical selection of microservices.

        There are many open source projects suitable for microservice development. For example: SpringBoot of the spring family, Dubbo and Dubbox (the main difference is that the latter supports Rest), Sina's motan and so on. The advantage of SpringBoot is that you don't need to do the configuration yourself, the construction is very fast and relatively simple; the disadvantage is that it is not very stable at present, and there are a lot of pits that need to be filled by yourself. The disadvantage of Dubbo is that it is too bulky (it is designed with the idea of ​​a framework, and it wants to be large and complete); the advantage is that the data is comprehensive, the people who develop it, and the problems that need to be dealt with can quickly find a solution. motan can be said to be a short version of dubbo, but unfortunately this has not been officially open sourced when the author was developing the project cry. So we choose the conservative dubbox. Subsequent articles also revolve around dubbox.

         Finally, let's talk about what basic capabilities should be used to use microservices.

         If you want to use microservices in a formal environment, you should first establish the following capabilities:

         1) Service registration discovery

         2) Service current limiting, fusing, governance, etc.

         3) Centralized configuration management

         4) Continuous integration, automated deployment

         5) Service monitoring alarm

         6) Link Analysis

         7) Unified log analysis platform

         8) Big data analysis platform

         9) Security system

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326565680&siteId=291194637