{"id":21041,"date":"2024-09-27T12:05:09","date_gmt":"2024-09-27T19:05:09","guid":{"rendered":"https:\/\/www.pingcap.com\/article\/scaling-microservices-efficiently-with-tidb\/"},"modified":"2024-12-11T20:18:42","modified_gmt":"2024-12-12T04:18:42","slug":"scaling-microservices-efficiently-with-tidb","status":"publish","type":"article","link":"https:\/\/www.pingcap.com\/ko\/article\/scaling-microservices-efficiently-with-tidb\/","title":{"rendered":"Scaling Microservices Efficiently with TiDB"},"content":{"rendered":"<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Importance_of_Scaling_Microservices\"><\/span>The Importance of Scaling Microservices<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Overview of Microservices Architecture<\/h3>\n\n\n\n<p><a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/tidb-architecture\">Microservices architecture<\/a> is an architectural style that structures an application as a collection of loosely coupled services. Each service is fine-grained and offers a specific functionality, allowing for independent development, deployment, and scaling. This contrasts with the monolithic architecture, where all features are bundled into a single codebase.<\/p>\n\n\n\n<p>In a <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/tidb-architecture\">microservices architecture<\/a>, services communicate with each other through lightweight protocols, typically HTTP or messaging queues. Each service can be developed in isolation using different programming languages or databases, enhancing flexibility and optimizing resource utilization.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Benefits of Scalable Microservices<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Performance<\/h4>\n\n\n\n<p>Scalable microservices can handle increasing loads by distributing processes across multiple services. This distribution minimizes the risk of a single point of failure and enables the system to maintain high performance even under heavy traffic.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Flexibility<\/h4>\n\n\n\n<p><a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/tidb-architecture\">Microservices<\/a> offer unparalleled flexibility. Developers can choose the best technologies for each service, optimize resources based on service needs, and iterate rapidly. Deployment can also be service-specific, reducing the risk of downtime and allowing continuous delivery.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Cost-Efficiency<\/h4>\n\n\n\n<p>With <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/tidb-architecture\">microservices<\/a>, teams can allocate resources more precisely. Services that experience heavy loads can be scaled up independently, avoiding the need to provision resources for the entire application. This granular approach leads to cost savings and better resource management.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Challenges in Scaling Microservices<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Complexity<\/h4>\n\n\n\n<p>Managing a <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/tidb-architecture\">microservices architecture<\/a> introduces significant complexity. Services need to be orchestrated, dependencies managed, and communication protocols defined. Ensuring that all these elements work seamlessly requires robust infrastructure and sophisticated deployment strategies.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Data Management<\/h4>\n\n\n\n<p>Data consistency across microservices is a significant challenge. Distributed data often leads to conflicts and requires sophisticated coordination to maintain consistency and integrity. Techniques like two-phase commit and eventual consistency are commonly employed but add complexity.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Latency Issues<\/h4>\n\n\n\n<p><a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/tidb-architecture\">Microservices<\/a> communicate over networks, which introduces latency. As the number of services grows, so does the communication overhead. Ensuring low latency while maintaining service independence is a delicate balance requiring meticulous design and optimization.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Why_TiDB_is_Ideal_for_Scaling_Microservices\"><\/span>Why TiDB is Ideal for Scaling Microservices<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Key Features of TiDB<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Horizontal Scalability<\/h4>\n\n\n\n<p><a href=\"https:\/\/tidb.io\/\">\ud2f0DB<\/a> is designed for easy horizontal scaling, an essential feature for supporting microservices architecture. TiDB&#8217;s design separates storage and computing, allowing for independent scaling of each layer. Nodes can be added or removed dynamically without affecting ongoing operations.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\uace0\uac00\uc6a9\uc131<\/h4>\n\n\n\n<p><a href=\"https:\/\/tidb.io\/\">\ud2f0DB<\/a> employs the Raft consensus algorithm to replicate data across multiple nodes, ensuring high availability. In case of node failures, TiDB automatically fails over to another replica, providing continuous service without data loss. This resilience is crucial for microservices that require consistent uptime.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Strong Consistency<\/h4>\n\n\n\n<p><a href=\"https:\/\/tidb.io\/\">\ud2f0DB<\/a> guarantees ACID (Atomicity, Consistency, Isolation, Durability) compliance, ensuring that transactions are processed reliably. This strong consistency model is vital for services requiring reliable state management, such as financial transactions or inventory management.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comparison: TiDB vs. Traditional Databases in Microservices Context<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\ud655\uc7a5\uc131<\/h4>\n\n\n\n<p>Traditional relational databases struggle with horizontal scaling and often require <a href=\"https:\/\/tidb.io\/article\/sharding-vs-partitioning-a-detailed-comparison\/\">sharding<\/a>, which adds complexity to data management. In contrast, TiDB&#8217;s architecture allows seamless horizontal scaling, enabling microservices to handle growing workloads more efficiently.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Reliability<\/h4>\n\n\n\n<p>Traditional databases often use master-slave replication for high availability, which can result in data lag and inconsistencies. TiDB&#8217;s use of Raft consensus for replication ensures no single point of failure, providing stronger reliability and faster recovery.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Cost<\/h4>\n\n\n\n<p>Scaling traditional databases can be cost-prohibitive due to the need for high-end hardware and complex maintenance. TiDB&#8217;s distributed nature allows for cost-effective scaling, leveraging commodity hardware and reducing the operational overhead.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Real-World Examples of TiDB in Microservices Architectures<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Case Studies<\/h4>\n\n\n\n<p><strong>PingCAP &amp; Mobike:<\/strong> Mobike, a leading bike-sharing platform, faced scalability issues due to rapid growth. By adopting TiDB, they achieved seamless data management across multiple services while maintaining high availability and strong consistency.<\/p>\n\n\n\n<p><strong>Zhihu:<\/strong> Zhihu, a high-traffic Q&amp;A platform similar to Quora, integrated TiDB to enhance their microservices architecture. This integration allowed them to handle millions of requests per second without compromising on performance or reliability.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Implementing_TiDB_for_Scalable_Microservices\"><\/span>Implementing TiDB for Scalable Microservices<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Steps to Integrate TiDB with Microservices<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><p><strong>Configuration:<\/strong><\/p>\n<ul class=\"wp-block-list\">\n<li>Ensure TiDB installation meets software and hardware prerequisites. For detailed guidance, refer to <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/production-deployment-using-tiup\">TiDB installation documentation<\/a>.<\/li>\n\n\n\n<li>Configure the <a href=\"https:\/\/tidb.io\/\">\ud2f0DB<\/a> cluster, including the <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/tikv-overview\">TiKV<\/a> and PD components, for optimized performance and reliability.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><p><strong>Deployment:<\/strong><\/p>\n<ul class=\"wp-block-list\">\n<li>Use <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/production-deployment-using-tiup\">TiUP<\/a> for automated deployment. TiUP simplifies the deployment process, managing binaries, cluster topology, and configuration.<\/li>\n\n\n\n<li>Deploy microservices with <a href=\"https:\/\/tidb.io\/\">\ud2f0DB<\/a> as the backend storage. Ensure each service can communicate with the TiDB cluster efficiently.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><p><strong>Service Integration:<\/strong><\/p>\n<ul class=\"wp-block-list\">\n<li>Update microservices to interact with <a href=\"https:\/\/tidb.io\/\">\ud2f0DB<\/a> using appropriate drivers and connectors. Ensure transaction management aligns with TiDB\u2019s ACID properties.<\/li>\n\n\n\n<li>Implement service-side caching, connection pooling, and load distribution to manage database connections effectively.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Best Practices for Smooth Operations<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Monitoring<\/h4>\n\n\n\n<p>Utilize TiDB\u2019s robust monitoring tools, such as Grafana and Prometheus, to track performance metrics. Set up alerts for anomalies to ensure prompt responses to potential issues. For in-depth monitoring, refer to the <a href=\"https:\/\/docs.pingcap.com\/tidb\/v6.5\/tidb-monitoring-framework\">TiDB Monitoring Framework<\/a>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Load Balancing<\/h4>\n\n\n\n<p>Implement load balancing across TiDB servers to distribute traffic evenly. Tools like HAProxy and LVS can be leveraged for this purpose. Ensure load balancers are configured to handle peak traffic scenarios to maintain optimal performance.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Resource Allocation<\/h4>\n\n\n\n<p>Allocate resources based on the service\u2019s needs. Services with higher read\/write requirements may need dedicated <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/tikv-overview\">TiKV<\/a> instances. Regularly review and adjust resource allocations to align with changing workloads.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Optimizing Performance and Ensuring Reliability<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Backup Strategies<\/h4>\n\n\n\n<p>Implement robust backup strategies to safeguard data. TiDB supports full and incremental backups using tools like <a href=\"https:\/\/docs.pingcap.com\/tidb\/v6.5\/backup-and-restore-overview\">BR (Backup &amp; Restore)<\/a>. Schedule regular backups and validate restoration processes to ensure data integrity.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Failover Mechanisms<\/h4>\n\n\n\n<p>Configure automatic failover mechanisms to maintain high availability. TiDB&#8217;s Raft-based replication ensures data consistency across replicas, allowing for seamless failover. Regularly test failover scenarios to ensure resilience.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Performance Tuning<\/h4>\n\n\n\n<p>Optimize performance by tuning TiDB parameters and SQL queries. Utilize <a href=\"https:\/\/tidb.io\/\">\ud2f0DB<\/a>&#8216;s built-in features like SQL and KV Optimizer for query optimization. For heavy analytical workloads, consider using <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/tiflash-overview\">TiFlash<\/a> for columnar storage, enhancing read performance.<\/p>\n\n\n\n<div class=\"codehilite\">\n<pre><code><span class=\"k\">SET<\/span> <span class=\"n\">tidb_distsql_scan_concurrency<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">30<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<\/div>\n\n\n\n<p>Adjusting the <code>tidb_distsql_scan_concurrency<\/code> parameter can significantly improve OLAP query performance by increasing parallelism.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Scaling microservices effectively requires a robust, scalable, and reliable database. <a href=\"https:\/\/tidb.io\/\">\ud2f0DB<\/a>&#8216;s architecture offers a significant advantage over traditional databases, providing seamless horizontal scalability, high availability, and strong consistency. By adopting TiDB, organizations can build and scale microservices architectures efficiently, ensuring high performance, flexibility, and cost-efficiency.<\/p>\n\n\n\n<p>For further exploration of TiDB\u2019s capabilities and implementation guides, you can visit <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/tidb-best-practices\">TiDB Best Practices<\/a> \uadf8\ub9ac\uace0 <a href=\"https:\/\/docs.pingcap.com\/tidb\/v6.5\/high-availability-faq\">High Availability FAQs<\/a> to delve deeper into optimizing your microservices architecture with TiDB.<\/p>","protected":false},"excerpt":{"rendered":"<p>Discover how TiDB&#8217;s scalability and reliability make it ideal for microservices architecture.<\/p>","protected":false},"author":8,"featured_media":0,"template":"","class_list":["post-21041","article","type-article","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Scaling Microservices Efficiently with TiDB | TiDB<\/title>\n<meta name=\"description\" content=\"Discover how TiDB&#039;s scalability and reliability make it ideal for microservices architecture.\" \/>\n<meta name=\"robots\" content=\"noindex, follow\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Scaling Microservices Efficiently with TiDB | TiDB\" \/>\n<meta property=\"og:description\" content=\"Discover how TiDB&#039;s scalability and reliability make it ideal for microservices architecture.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pingcap.com\/ko\/article\/scaling-microservices-efficiently-with-tidb\/\" \/>\n<meta property=\"og:site_name\" content=\"TiDB\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/pingcap2015\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-12T04:18:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/static.pingcap.com\/files\/2024\/09\/11005522\/Homepage-Ad.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1440\" \/>\n\t<meta property=\"og:image:height\" content=\"714\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pingcap.com\/article\/scaling-microservices-efficiently-with-tidb\/\",\"url\":\"https:\/\/www.pingcap.com\/article\/scaling-microservices-efficiently-with-tidb\/\",\"name\":\"Scaling Microservices Efficiently with TiDB | TiDB\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/#website\"},\"datePublished\":\"2024-09-27T19:05:09+00:00\",\"dateModified\":\"2024-12-12T04:18:42+00:00\",\"description\":\"Discover how TiDB's scalability and reliability make it ideal for microservices architecture.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pingcap.com\/article\/scaling-microservices-efficiently-with-tidb\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pingcap.com\/article\/scaling-microservices-efficiently-with-tidb\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pingcap.com\/article\/scaling-microservices-efficiently-with-tidb\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.pingcap.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Articles\",\"item\":\"https:\/\/www.pingcap.com\/article\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Scaling Microservices Efficiently with TiDB\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.pingcap.com\/#website\",\"url\":\"https:\/\/www.pingcap.com\/\",\"name\":\"TiDB\",\"description\":\"TiDB | SQL at Scale\",\"publisher\":{\"@id\":\"https:\/\/www.pingcap.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.pingcap.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.pingcap.com\/#organization\",\"name\":\"PingCAP\",\"url\":\"https:\/\/www.pingcap.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png\",\"width\":811,\"height\":232,\"caption\":\"PingCAP\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/facebook.com\/pingcap2015\",\"https:\/\/x.com\/PingCAP\",\"https:\/\/linkedin.com\/company\/pingcap\",\"https:\/\/youtube.com\/channel\/UCuq4puT32DzHKT5rU1IZpIA\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Scaling Microservices Efficiently with TiDB | TiDB","description":"Discover how TiDB's scalability and reliability make it ideal for microservices architecture.","robots":{"index":"noindex","follow":"follow"},"og_locale":"ko_KR","og_type":"article","og_title":"Scaling Microservices Efficiently with TiDB | TiDB","og_description":"Discover how TiDB's scalability and reliability make it ideal for microservices architecture.","og_url":"https:\/\/www.pingcap.com\/ko\/article\/scaling-microservices-efficiently-with-tidb\/","og_site_name":"TiDB","article_publisher":"https:\/\/facebook.com\/pingcap2015","article_modified_time":"2024-12-12T04:18:42+00:00","og_image":[{"width":1440,"height":714,"url":"https:\/\/static.pingcap.com\/files\/2024\/09\/11005522\/Homepage-Ad.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@PingCAP","twitter_misc":{"Est. reading time":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.pingcap.com\/article\/scaling-microservices-efficiently-with-tidb\/","url":"https:\/\/www.pingcap.com\/article\/scaling-microservices-efficiently-with-tidb\/","name":"Scaling Microservices Efficiently with TiDB | TiDB","isPartOf":{"@id":"https:\/\/www.pingcap.com\/#website"},"datePublished":"2024-09-27T19:05:09+00:00","dateModified":"2024-12-12T04:18:42+00:00","description":"Discover how TiDB's scalability and reliability make it ideal for microservices architecture.","breadcrumb":{"@id":"https:\/\/www.pingcap.com\/article\/scaling-microservices-efficiently-with-tidb\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pingcap.com\/article\/scaling-microservices-efficiently-with-tidb\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.pingcap.com\/article\/scaling-microservices-efficiently-with-tidb\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pingcap.com\/"},{"@type":"ListItem","position":2,"name":"Articles","item":"https:\/\/www.pingcap.com\/article\/"},{"@type":"ListItem","position":3,"name":"Scaling Microservices Efficiently with TiDB"}]},{"@type":"WebSite","@id":"https:\/\/www.pingcap.com\/#website","url":"https:\/\/www.pingcap.com\/","name":"\ud2f0DB","description":"TiDB | SQL at Scale","publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pingcap.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.pingcap.com\/#organization","name":"PingCAP","url":"https:\/\/www.pingcap.com\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/","url":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","contentUrl":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","width":811,"height":232,"caption":"PingCAP"},"image":{"@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/pingcap2015","https:\/\/x.com\/PingCAP","https:\/\/linkedin.com\/company\/pingcap","https:\/\/youtube.com\/channel\/UCuq4puT32DzHKT5rU1IZpIA"]}]}},"card_markup":"        <a class=\"card-article\" href=\"https:\/\/www.pingcap.com\/ko\/article\/scaling-microservices-efficiently-with-tidb\/\">            <h3>Scaling Microservices Efficiently with TiDB<\/h3>            <p>Discover how TiDB's scalability and reliability make it ideal for microservices architecture.<\/p>        <\/a>","_links":{"self":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/article\/21041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/users\/8"}],"wp:attachment":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media?parent=21041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}