First, I would like to introduce myself: author of RocketMQ Technology Insider, maintainer of “Middleware Interest Circle” public account, winner of RocketMQ Community Outstanding Evangelist award in 2019, winner of CSDN Blog Star TOP10 in 2019, currently working as senior architect in ZTO Technology Platform Department.
A second-class undergraduate without BAT and other first-line Internet enterprise background, through sharing technology, focusing on middleware principle analysis and technology application, to build his own Internet architecture technology stack, thus achieving the current achievements.
Next, a mind map is used to show the existing research results:
Tips: The above picture is the knowledge graph covered by “Middleware interest circle”. The original picture can be obtained with guidance at the end of the article.
Based on article
As the saying goes, sharpening the knife is not the mistake of cutting wood, in order to smoothly gallop in the world of JAVA middleware, laying a good foundation is an essential part, the author first read the JDK commonly used collection class source code, From it, I have a deep understanding of the design concept and application scenarios of basic data structures such as ArrayList, LinkedList, HashMap and Queue.
Then we focus on the JUC framework, which is the most effective and basic magic weapon to write high-concurrency programming. Limited by everyone’s workplace experience, not everyone can access high-concurrency and big data as soon as they enter the workplace. When they can’t, we have to thoroughly understand JUC, get ready, wait and look for opportunities.
The Internet architecture system is naturally distributed architecture, and network communication becomes another foundation. Therefore, the author chooses a high-performance NIO framework: Netty, and systematically analyzes Netty from three perspectives: memory, channel and actual combat.
As a service
Lay a solid foundation and start to run. With the rise of distributed micro-service architecture, servitization framework has become an indispensable part of the Internet architecture system. For example, Dubbo, SpringCould and other servitization frameworks have become the darlings of Internet architects. Since most of the companies I have contacted adopt Dubbo, Therefore, I chose Dubbo to build my technology stack in the field of microservices.
The micro-service framework needs to solve two basic problems: service registration and discovery, and service governance, so Dubbo and Sentinel series are serialized successively.
Message middleware
Another key point of the Internet is the large amount of traffic, especially instantaneous traffic, which is particularly prominent in the Double 11, 618 and other big promotion. How to resist sudden traffic, effectively protect the system and accept traffic to the maximum extent has become an urgent problem for Internet architects to solve, and message middleware “shine”.
JAVA understanding at present there are two very good messaging middleware on the market: Kafka, RocketMQ, Kafka is usually used in the field of log, big data, business understanding will give priority to RocketMQ, so released the source analysis Kafka, RocketMQ principle and combat two series.
Database and table are heterogeneous with data
Flow anomalies in the big Internet architecture, and the corresponding data of the same large, relational database city will depots table is used to solve the performance bottleneck of single reservoir, but is brought about by the statistical data (polymerization), cross-database joins will face greater challenges, it introduces the architecture of heterogeneous data model, real-time online business MySQL depots table, Select other storage media, such as ElasticSearch, to synchronize data to ElasticSearch by subscribing to the mysql binlog. The architecture used in the city is designed as mysql Mycat Canal RocketMQ ElasticSearch.
future
To continue building a comprehensive Internet architecture, the Middleware Circle of Interest will focus on online diagnostic Arthas, link monitoring Cat, and more.
Obtaining method:
- Follow the public account below
- In the background reply [column] to get all albums, reply [666] to get the mind map.
The more efforts, the more lucky, only perseverance, and you encourage each other, I hope you four even walk a: forwarding – message – praise – look