I have this recipe: how to learn microservices in a short time

I have written several articles about microservices before, and the feedback from readers has been good.

Architecture Patterns of Microservices (Part 1)

Architectural Patterns of Microservices (middle)

Architecture Patterns of Microservices (Part 2)

IMHO, microservices are good, but not for you

At the same time, some readers said:

After reading the article, I understand, but when I learn it myself, I am still a little confused and don't know how to start.

It is better to teach a man to fish than to give him a fish.

Fish can solve temporary hunger, but not long-term hunger. Readers need knowledge, but also need a way to learn knowledge.

Therefore, this article will talk about fishing , and the text will begin.

Some of the programmer's technology will also become outdated, just like the food in the refrigerator, if it is not eaten for a long time, it will expire and spoil. Therefore, the programmer industry requires continuous learning.

I have now switched from a programmer to a technical manager, managing a team of more than 100 people every day a bunch of things... The days of writing code and researching technology are relatively pure, there are not so many boring meetings that waste time, and there are not so many things unrelated to technology .

Even so, technology cannot be lost. Whenever there is a very popular new technology, or the team's technology stack is ready to be upgraded, I have to learn these new technologies and try to control the risks brought by the technology stack upgrade in a short period of time.

It was in this situation that I also figured out some quick-learning routines and techniques. I share it in the hope that it will be helpful and enlightening to later generations.

Step 1: The technology stack needs to be classified first

When trying to learn any new technology, the first thing I often do is

Make a classification of the technical area to study

For example, a few years ago, the company's system was to be transformed into a microservice architecture, so I had to learn the technology stack of microservices. However, after learning it, I found out that there are so many technology stacks for microservices...

At this time, it is necessary to classify the technology stack of microservices. The purpose is also very simple. It is to make a plan for learning. According to the classification of the technology stack, make a learning plan with obvious priorities.

As far as microservices are concerned, I divide them into the following categories:

  • Design of Microservices
  • Principles of Microservices
  • Architecture of Microservices
  • Microservice development framework and code specification
  • Security for Microservices
  • Operation and maintenance of microservices

After the classification, combined with the situation at that time, my plan is like this.

1.

First of all, since I am starting from scratch, I need to design a train to landing. So, I decided to get familiar with the design of microservices first .

Here I will look for books to read, and through reading books, I will understand the concepts and know how to divide the business. Why is reading books instead of reading online articles, the reasons will be explained later.

2.

Then, according to the needs of landing, learn the best practices of microservice architecture and the development framework and code specifications of microservices . Learn these things well, and you will be able to use them when you implement microservices in the future.

When learning, I don't need to go into the details of the grammar first. I only need to understand the core ideas and code specifications of the framework, and the implementation of the control technology will not deviate from the general direction. The details of the technology can be studied with colleagues when the code is actually written later.

3.

After the microservice is implemented, the operation and maintenance of the microservice is required. The operation and maintenance of microservices can actually be learned from a simple taste. The key point is to know the operation and maintenance components of microservices and the regular operation and maintenance workflow.

The company has a dedicated operation and maintenance team, and the rest of the work can be left to the operation and maintenance colleagues.

4.

After the operation and maintenance of microservices, I feel that it is not enough to just learn the microservice routines on the market. If we want microservices to better suit our own business, we need to follow the principles of the underlying microservices. Explain why microservices best practices do this.

Obviously, this piece of learning is very difficult and requires a lot of knowledge.

However, it is worth learning no matter how difficult it is, because it is very likely that we need to customize microservices in combination with our company's business.

Suggestion: Find a few brothers to team up to learn the principle.

5.

The security of microservices is mainly the security measures of the gateway. Most companies have security teams, and they can be responsible for this part.

So, after classification, we are very clear.

The learning sequence for microservices is:

Microservice Design> Microservice Architecture> Microservice Development Framework and Code Specification> Microservice Principle> Microservice Operation and Maintenance> Microservice Security

The level of detail of the learning content is:

  • Microservice design and microservice principles need to read a few more books, especially the principles, in-depth study + extensive discussion with Niuren;
  • Other parts of the learning, the priority is not so high.

Step 2: Choose the right book

After we have determined the study plan according to the classification of the technology stack, the next step is to choose the appropriate books to study.

It needs to be emphasized here that, in my experience, learning a new technology is not recommended to read online articles entirely.

Because there are good and bad articles on the Internet, the bad ones are really tricky, and as a beginner, you have no experience and don't know if the articles are wrong.

Let me give an example, many of the links tracking on the Internet, especially the related articles about SkyWalking, are wrong. It would be very laborious to correct it.

Therefore, in the entry-level stage, you should honestly find some authoritative books to read.

However, there are also problems with authoritative books, because the audience of the books is different. If some books are not suitable for reading, for example, the selected books are all about outdated technologies, or some books are very obscure and difficult to understand, Then these books are not suitable for us to read, and reading them will either waste time or misuse outdated technology.

How to choose the right book?

For example, I want to learn microservice design, and I find that microservice design and domain-driven design are closely related. There are many books on domain-driven design, some of which are theoretical, some are practical, and some are even mixed with other technology stacks.

What I needed at the time was a theoretical + practical book, and preferably a book with relevant cases of porting an existing project to microservices.

The next step is to read book reviews online. Generally speaking, Douban, Dangdang, and JD.com have relatively good book reviews and book introductions.

However, I prefer English books, so I found a book "Implementing Domain-Driven Design" based on Amazon's evaluation. This book was later translated into Chinese and called "Implementing Domain-Driven Design" - I have read it. , I think the translation is not good.

It turned out in hindsight that the book did solve my problem, and let me figure out key concepts like domains, subdomains, bounded contexts , etc.

Step 3: Reading requires skills

After choosing the book, go to read. However, any IT book is not thin.

Like the "Implementing Domain-Driven Design" I mentioned earlier, this book is more than 600 pages thick. If it takes more than 30 days to read 20 pages a day, this time is too slow. So, skills are needed:

Speed ​​reading first, then intensive reading

Generally speaking, for a book with more than 600 pages, especially the concepts explained and interspersed with actual combat, it should be read quickly at the beginning. I am about 100-200 pages a day, and the time is controlled at 4 hours, reading continuously.

This kind of reading, which looks difficult, is actually based on quick skipping and skimming. When reading, look only for keywords, especially nouns.

After finding the keywords, it is generally necessary to extract knowledge points. Three or five keywords can extract a key knowledge point. If you don't encounter it, you can also use it as a keyword to extract it.

Keywords often correspond to the titles of small chapters. According to the keywords, find the explanation in the chapter. If you understand it, you can skip the content of other chapters.

Speed ​​reading, you can understand it, you don't need to read all the content.

In this way, a book with more than 600 pages can be read in about a week.

After reading, don't worry, and then you need to do intensive reading according to the keywords and knowledge points you extracted.

At this time, since the key points of the book have been extracted, you only need to carefully study the extracted knowledge.

Generally speaking, after the knowledge points are extracted, the content that needs to be intensively read is often only a fraction of the original overall content.

It took me about a week to read this book intensively.

During intensive reading, if you find some lack of understanding, you need to check some other materials to supplement your understanding, or practice, or communicate with others. In addition to explaining your own views and understanding, you also need to be able to learn from others. understand.

The best result of intensive reading is that you can explain the original concept to others in your own words.

In this way, in total, it takes ten days or half a month to read this book with more than 600 pages.

Speaking of which, you can actually ask the experts who know big factories around you, and you will find that most of them read books in a similar way to me, which is indeed very useful.

The fourth step: landing practice

After reading the book, there are definitely a lot of shortcomings. At this time, it is necessary to deepen understanding and make up for deficiencies through technical practice.

There are two types of practice:

1. Experiments in the book

Most of the technical books have some corresponding after-school exercises or experiments.

Because these experiments are attached to the chapters of some specific explanations and certain concepts, they are very pertinent. Therefore, if you can successfully practice practice without reading books and according to your own understanding, it will prove that you have indeed studied in place, and you can use what you have learned in actual combat.

2. The actual scene

When the experiments in the book are complete, the real project scenario can be considered.

You can first create a Demo that includes the full stack of new technologies you have learned according to your work needs.

For example, for microservices, you can build a set of demos with gateways, configuration centers, and link tracking.

After the demo is built, you can also use some test cases to test the demo, whether it is a business test or a performance stress test.

When the Demo indicators meet the requirements, you can consider extracting an unimportant project to try the new technology stack.

Summarize

As mentioned above, here are some of the tricks I use to learn techniques every day:

  • I first reduce the learning burden by classifying the technologies to be learned.

  • Then according to the technical classification, extract some problems to be solved.

  • Then, based on the question, predict the content range of the book you want to read. And based on these scopes, I went to various book-selling and storytelling websites to select books.

  • After choosing a book, use some reading skills to learn quickly.

  • After learning, you must practice and deepen your understanding. In this way, a complete set of new technology learning is completed.

Originality is not easy. After reading it, I think it is helpful. Come to three consecutive support.


Hello, I'm Shimonai.

The technical director of a listed company, managing a technical team of more than 100 people.

I went from a non-computer graduate to a programmer, working hard and growing all the way.

I will write my own growth story into articles, boring technical articles into stories.

Welcome to pay attention to my official account. After following, you can receive high concurrency and algorithm learning materials.

{{o.name}}
{{m.name}}

Guess you like

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