Let’s go back to June 2003. In that year, the Spring project, carrying the beautiful vision of “a new starting point after the winter of traditional J2EE”, was started and pushed forward with version 1.0.

With the development from Spring Framework 1.0 to Spring Framework 5.0, Spring has already changed from the challenger and subvert in the field of Java enterprise development to the standard maker and the de facto standard development Framework for Java enterprise development.

After more than a decade of development, the Spring family has now grown to include J2EE development, dependency maintenance, security, batch processing, unified database access, big data, messaging, mobile development, and microservices.

Among the many projects in the Spring family, the most eye-catching projects are the Spring Framework, Spring Boot and Spring Cloud. The Spring Framework is like the root of the Spring family. It is the fundamental reason that Spring has survived in Java development, and its goal is to help developers develop good systems.

Spring Boot is like the trunk of a tree. Its goal is to simplify the initial setup and development process of new Spring applications and to become a leader in the burgeoning field of rapid application development. Spring Cloud is just like the fruit of the great tree Spring in the field of micro services development.

“I first came into contact with Spring Cloud when A project I was in charge of needed to rebuild a microservice architecture from a typical single application architecture, and the technical solution chosen by the department head at that time was Spring Cloud. That’s when I really started to dig into Spring Cloud. At that time, Spring Cloud was a relatively new technology, and there were few excellent technical books on Spring Cloud and micro services in China. I had to refer to Spring’s official documents and some foreign technical blogs. Spring Microservices in Action, which had not yet been published by Manning Press, came into my sight. After reading through an early preview of this book, I decided that it was the best technical book on the market that combined micro services and Spring Cloud, so I volunteered to be the Translator of this book to Yang Hailing, editor of Posts and Telecommunications Press. Soon after, she replied, asking me to be the translator of the book, which I gladly accepted, and that was the beginning of a long life as a translator. Although it took me a lot of spare time to translate the book, I also learned a lot in the process.”

Today we are honored to have Mr. Chen Wenhui here to listen to his thoughts.

1. Asynchronous Community: Hello, Teacher Wenhui! Readers in the asynchronous community know that you are the translator of Spring Micro Services in Action, but in order to let more people know about you, could you please introduce yourself briefly?

Chen Wenhui: Hello, everyone. My name is Chen Wenhui. I am a software engineer working in Guangdong Jumeng Hui Culture Communication Co., LTD. In my spare time, I like to browse Github and translate some English materials. I’m a typical homebody, but I go out to play badminton or basketball every week.

I am a person who follows my heart and likes to challenge myself. Therefore, although I have been working for a while, I still bought an electric piano to fulfill my childhood dream and asked the teacher to take lessons to learn piano. All in all, I am an IT man with extensive hobbies.

2. Asynchronous communities: What do you think are the advantages of microservices architecture? What types of projects are suitable? Do you use the microservices architecture yourself in your projects?

Wen-hui Chen: The advantage of micro service architecture has many, but I think the biggest advantage is that micro service architecture application logic into the fine-grained components with clear responsibilities, these components are independent of each other, this feature makes the micro services can be developed by a small team according to your requirements, choose different programming languages and technologies are independent development, testing, and deployment, This allows faster delivery and more flexible horizontal scalability.

My own micro service architecture used in the project, but I want you to understand a little, that is micro service architecture and is not a silver bullet of software architecture, it is suitable for the need to build high flexibility and scalability of large applications, and for those who have a small amount of user group of the application of the micro service architecture may do more harm than good.

3. Asynchronous community: I heard that you had translated the book “Spring Micro Service Field” by yourself before contacting the publishing house. What gave you so much motivation? What was your original intention in translating this book?

Wen-hui Chen: At that time, the head of our technical department decided to use Spring Cloud to rebuild the original single architecture project. At that time, the concept of microservices was still in the ascendent, and Spring Cloud was the new baby of the Spring family. At that time, there were few Chinese materials about micro services and Spring Cloud in China, so I had to turn to foreign English materials about micro services and Spring Cloud.

In this process of looking up foreign materials, I accidentally found Spring Microservices In Action. At that time, the book was In the completion stage. After reading some chapters, I think this book is quite good in describing micro-service concepts and design principles as well as Spring Cloud technology, and IT is a rare technical book. Considering that there are few Chinese materials in this field in China at that time, I decided to translate this book by myself and make some contributions to the IT technology circle.

4. Asynchronous communities: How do you balance your daily work with translation? Are there any tips or tricks for time management and productivity? How do you think software developers can “squeeze” time to improve themselves or improve themselves technically?

Chen Wenhui: I am not a very efficient person (laughing). If I have to say something about time management and improving efficiency, for myself, it is to set a minimum goal every day, and then at least complete this minimum goal every day.

In addition, I think it is very important to allocate a complete “time block”, in this “time block” to concentrate on one thing, do not do two things at once, such as doing daily work and then finishing some translation work. For me, a “single-core” creature, this kind of context switch is quite time-consuming. Every time I switch to a different job, I need to spend some time to get familiar with and adapt to it, so I try to ensure that I can concentrate on one thing for more than one and a half hours. In short, the work should be continuous.

I think software developers should learn to be lazy. This kind of “lazy” is not what we call lazy, but they should consciously identify which tasks in their daily work are simple mechanical repetition, and which kinds of work are similar and often repeated, and these redundant tasks can be eliminated completely. So we can find some small tools or develop some small tools to complete the work, in short, find out the unnecessary time-consuming part of the work, and then try to “lazy”, so that the work efficiency is improved, naturally have time to learn new knowledge.

5. Asynchronous Communities: What have you learned the most from translating and reading the book “Spring Micro Services in Action”? How does this book help and facilitate your work?

Chen wenhui: That should be a design consideration for building microservices-based applications. When developing projects with Spring Cloud, I design and develop based on these design considerations, and then weigh the actual environment, so that the project architecture is more complete, which saves me a lot of detente.

6. Asynchronous Communities: Which readers do you recommend reading this book? How to improve reading efficiency?

Chen wenhui: Java developers who want to learn how to build microservices-based applications should read this book. When reading this book, it is best to work with the book’s accompanying source code. As you read about the theory, think about whether it’s right and why.

After you read each chapter, think about how much more and what improvements you made to the finished project code in this chapter. In this way, you can absorb the essence of the book after reading it without forgetting it.

7. Asynchronous communities: How do you solve difficult problems at work?

Chen Wenhui: I will first recall whether I have solved similar thorny problems before or whether THERE is a corresponding solution in my accumulated notes. If so, apply those solutions to the situation.

If not, then I will check data, see if there are people who met this tricky question, look at how their solutions, or have ready tools can help to solve this difficult problem, don’t really have, I’ll and technology of knowledge discussed carefully, and then put on more steam rolled up his sleeves. After completing the tricky problem, find time to write a note documenting the process of solving the tricky problem.

8. Asynchronous communities: What skills and culture do you think a good programmer should have?

Chen Wenhui: 1. Induction and summary: the knowledge after precipitation is firm knowledge;

2. Continuous learning and self-improvement: N years of development experience does not mean that one year of development experience lasts for N years;

3. Excellent abstraction ability: able to quickly abstract the essence of problems and solutions;

4. Good English reading ability: many new technology materials always exist in the way of English documents, Chinese materials are always lag, for programmers who want to understand and learn new technology, English reading ability is very important.

9. Asynchronous community: How do you learn and improve your technical skills? What advice and experience do you have for beginners?

Chen Wenhui: read more excellent blogs + visit GitHub+ write more notes (blog) to summarize. For starters, while it’s important to learn some new technology, I think it’s important to get the basics right first, rather than being a “magpie developer” who just likes new technology, gets the thrill of using it for a while, and ends up with nothing.

                                         

“Spring Micro Service Combat”

By John Carnel

This book focuses on an actual project, introduces concepts such as Cloud and microservices, as well as many Spring projects such as Spring Boot and Spring Cloud. It also shows how the project can be reconstructed step by step from a single architecture to a microservice architecture, and finally break the project into many microservices. Let them run in their own Docker containers for continuous integration/continuous deployment, and eventually automatically deploy to the cloud (Amazon Cloud).