In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-04-02 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/01 Report--
This article introduces the relevant knowledge of "what is the APM of micro services". In the operation of actual cases, many people will encounter such a dilemma, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!
# 1. APM?
APM (Application Performance Management) is Application performance Management (Application performance Monitoring)
APM is mainly aimed at the monitoring and optimization of IT application performance and user experience of enterprise key business, so as to improve the reliability and quality of enterprise IT application.
Designed to ensure a high-quality experience for end users and reduce IT total cost of ownership (TCO)
TCO (Total Cost of Ownership), that is, the total cost of ownership, including the cost of product procurement to later use and maintenance. This is a kind of technical evaluation standard that companies often use.
# 2. Brief introduction
At present, most of the systems in the market are done with reference to Google's Dapper (tracking system of large-scale distributed systems).
Track the processing process of the business request, complete the performance consumption tracking of the application system in the front and back end processing and server calls, and provide a visual interface to show the analysis of the tracking data.
By aggregating the real-time data of each processing link of the business system, the transaction path and processing time of each transaction of the business system are analyzed, and the full link performance monitoring of the application is realized.
The difference between APM tools and traditional performance monitoring tools is that it not only provides some scattered resource monitoring points and indicators, but also focuses on the performance bottleneck analysis of internal execution and inter-system calls, which is more helpful to locate the specific cause of the problem.
APM is committed to detecting and diagnosing application performance problems, so as to provide the expected service level of the application.
# 2.1 three features
-Multi-level application performance monitoring: covers the communication protocol layer 1-7, and realizes end-to-end application monitoring by means of transaction process monitoring and simulation.
-Rapid fault location of application performance: monitor the various components of the application system, quickly locate the system fault, and repair or put forward repair suggestions.
-Comprehensive optimization of application performance: accurately analyze the situation that each component occupies system resources, and give expert advice according to the performance requirements of the application system.
# 2.2 Development
At present, the development of APM has mainly gone through the first three stages:
The first stage is based on the network monitoring infrastructure, which mainly monitors the CPU utilization, Imax O, memory resources and network speed of the host, mainly represented by all kinds of network management systems (NMS) and various system monitoring tools.
The second stage is mainly to monitor all kinds of basic components. with the rapid development of the Internet, in order to reduce the difficulty of application development, a variety of basic components (such as database, middleware, etc.) began to emerge in large numbers. Therefore, the main purpose of application performance management in this period is to monitor and manage the performance of various basic components.
The third stage: mainly to monitor the performance of the application itself, the complexity of IT operation and maintenance management begins to grow explosively, and the focus of application performance management begins to focus on the performance and management of the application itself.
The fourth stage belongs to the stage of development:
Cloud computing is in the ascendant, and the rise of DevOps and micro-services has a great impact on the traditional APM. Traditional manufacturers are also doing some innovation, and also doing some attempts in micro-services and cloud computing.
With the rise of Machine Learning and AI technology, it will also play some help in locating faults and positioning problems, and the means of analysis based on big data will also have some help. At present, the market is in the preliminary trial stage.
The definition of APM by Gartner in 2016 is divided into three dimensions.
-DEM-Digital experience monitoring: monitoring of digital experience, monitoring of user experience of browsers and mobile devices, and monitoring of business availability and performance using active dialing testing.
-ADTD-Application discovery, tracing and diagnostics: application of automatic discovery, tracking and fault diagnosis, automatic discovery of logical relationships between applications, automatic modeling, in-depth monitoring of application components and performance correlation analysis.
-AA-Application analytics: application analysis, through machine learning, root cause analysis for applications such as JAVA and .NET.
# 2.3 DevOps
DevOps (a combination of Development and Operations) is a culture, sport, or practice that emphasizes communication and cooperation between "software developers (Dev)" and "IT operations and maintenance technicians (Ops)".
DevOps can be succinctly understood as "a more collaborative and efficient relationship between the development team and the operations team".
It's a new term in the collision of two related trends.
For more information, see https://zh.wikipedia.org/wiki/DevOps
# 2.4 Core idea of APM
When each node of the application service invokes each other, record and pass an application-level tag, which can be used to correlate the relationship between the service nodes.
For example, if HTTP is used as the transport protocol between two application service nodes, these tags will be added to the HTTP header.
It can be seen that how to transmit these tags is related to the communication protocols used between application service nodes, and it is relatively easy for commonly used protocols to add these contents, while some customized ones may be relatively difficult. This directly determines the difficulty of implementing a distributed tracking system.
# 2.5 Why use APM
With the growing business of the company, various systems are becoming more and more complex, and the invocation between services, the dependence of services, and the performance of analyzing services are becoming more and more difficult, so the introduction of service tracking system is particularly important.
The existing APM is basically done with reference to Google's Dapper system. By tracking the processing process of the request, the performance consumption of the application system in the front and back end and the server call is tracked (the complete call link of each request, and the performance data of each service on the call link is collected). It is convenient for engineers to quickly locate the problem.
# 2.6 conditions that a good APM should meet
Generally speaking, a good APM system should meet the following five conditions
-low consumption and high efficiency: the cost of system resources paid by the tracked system for tracking should be as small as possible. Now the mainstream APM consumes about 2.5% of system resources, but this value should be as small as possible, because in a large-scale distributed system, the resources of a single node cannot be controlled. It may be a super configuration, or it may be an old machine, which only runs a few small services. But its own performance is already very tight, if the tracking application runs again at this time, it is likely that this node will be dead, and the loss outweighs the gain.
-low intrusiveness and sufficient transparency: as a tracking system, intrusiveness is impossible not to exist. The key to this kind of intrusiveness is at which level and how to invade at the lower level. The less the developer's perception and need to cooperate with the tracking system, and if the intrusion is needed at the code level, the code will be more redundant and complex for applications that are more complex in their own business. It is also not conducive to the fast-paced development of developers.
-flexible extensibility: the distributed tracking system cannot be paralyzed with the expansion of micro-services and cluster scale, and the tracking system should be able to fully take into account the scale of future distributed services, at least in the next few years.
-tracking data visualization and rapid feedback: to have a visual monitoring interface, from tracking data collection and processing to the display of results as quickly as possible, we can make a rapid response to the abnormal conditions of the system.
-continuous monitoring: requires that the distributed tracking system must work on 7x24 hours, otherwise it will be difficult to locate the occasional jitter behavior of the system.
This is the end of the content of "what is the APM of Micro Services". Thank you for your reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.