{"id":23494,"date":"2024-11-04T06:27:35","date_gmt":"2024-11-03T23:27:35","guid":{"rendered":"https:\/\/huongdanjava.com\/?p=23494"},"modified":"2024-11-28T06:14:44","modified_gmt":"2024-11-27T23:14:44","slug":"cai-dat-dapr-distributed-application-runtime","status":"publish","type":"post","link":"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html","title":{"rendered":"C\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime)"},"content":{"rendered":"<p><a href=\"https:\/\/dapr.io\/\" target=\"_blank\" rel=\"noopener\">Dapr<\/a> (Distributed Application Runtime) l\u00e0 m\u1ed9t b\u1ed9 c\u00e1c integrated APIs d\u00e0nh cho vi\u1ec7c communication, state v\u00e0 workflow \u0111\u01b0\u1ee3c hi\u1ec7n th\u1ef1c s\u1eed d\u1ee5ng c\u00e1c best practices v\u1ec1 security, resiliency, v\u00e0 observability, gi\u00fap ch\u00fang ta c\u00f3 th\u1ec3 d\u1ec5 d\u00e0ng x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng microservices, linh ho\u1ea1t, stateless v\u00e0 stateful, h\u1ed7 tr\u1ee3 cho nhi\u1ec1u ng\u00f4n ng\u1eef kh\u00e1c nhau. Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh s\u1ebd h\u01b0\u1edbng d\u1eabn c\u00e1c b\u1ea1n c\u00e1ch c\u00e0i \u0111\u1eb7t Dapr c\u00f9ng v\u1edbi c\u00f4ng c\u1ee5 CLI c\u1ee7a Dapr \u0111\u1ec3 c\u00f3 th\u1ec3 d\u1ec5 d\u00e0ng l\u00e0m vi\u1ec7c v\u1edbi n\u00f3 c\u00e1c b\u1ea1n nh\u00e9!<\/p>\n<h3>C\u00e0i \u0111\u1eb7t Dapr CLI<\/h3>\n<p>Dapr cung c\u1ea5p cho ch\u00fang ta m\u1ed9t script \u0111\u1ec3 d\u1ec5 d\u00e0ng install CLI c\u1ee7a n\u00f3 \u1edf \u0111\u1ecba ch\u1ec9 <a href=\"https:\/\/raw.githubusercontent.com\/dapr\/cli\/master\/install\/install.sh\" target=\"_blank\" rel=\"noopener\">https:\/\/raw.githubusercontent.com\/dapr\/cli\/master\/install\/install.sh<\/a>. \u0110\u1ec3 c\u00e0i \u0111\u1eb7t, c\u00e1c b\u1ea1n ch\u1ec9 c\u1ea7n ch\u1ea1y curl command v\u1edbi c\u00fa ph\u00e1p nh\u01b0 sau:<\/p>\n<pre class=\"lang:java decode:true \">curl -fsSL https:\/\/raw.githubusercontent.com\/dapr\/cli\/master\/install\/install.sh | \/bin\/bash\r\n<\/pre>\n<p>M\u1eb7c \u0111\u1ecbnh th\u00ec Dapr CLI s\u1ebd \u0111\u01b0\u1ee3c c\u00e0i \u0111\u1eb7t \u1edf \u0111\u1ecba ch\u1ec9 <strong>\/usr\/local\/bin<\/strong>, c\u00e1c b\u1ea1n c\u00f3 th\u1ec3 thay \u0111\u1ed5i th\u01b0 m\u1ee5c m\u1eb7c \u0111\u1ecbnh n\u00e0y b\u1eb1ng c\u00e1ch khai b\u00e1o bi\u1ebfn m\u00f4i tr\u01b0\u1eddng DAPR_INSTALL_DIR tr\u1ecf \u0111\u1ebfn th\u01b0 m\u1ee5c m\u00e0 c\u00e1c b\u1ea1n mu\u1ed1n n\u00f3 \u0111\u01b0\u1ee3c c\u00e0i \u0111\u1eb7t c\u00e1c b\u1ea1n nh\u00e9!<\/p>\n<p>V\u00ed d\u1ee5 c\u1ee7a m\u00ecnh nh\u01b0 sau:<\/p>\n<pre class=\"lang:java decode:true \">export DAPR_INSTALL_DIR=\"$HOME\/.dapr\"<\/pre>\n<p>B\u00e2y gi\u1edd, ch\u1ea1y command curl \u1edf tr\u00ean, c\u00e1c b\u1ea1n s\u1ebd th\u1ea5y k\u1ebft qu\u1ea3 t\u01b0\u01a1ng t\u1ef1 nh\u01b0 m\u00ecnh, nh\u01b0 sau:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-23498 size-full aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2024\/11\/cai-dat-dapr-distributed-application-runtime-cli-1.png\" alt=\"\" width=\"700\" height=\"262\" \/><\/p>\n<p>\u0110\u1ec3 c\u00f3 th\u1ec3 ch\u1ea1y Dapr CLI \u1edf b\u1ea5t k\u1ef3 \u0111\u00e2u tr\u00ean m\u00e1y c\u1ee7a m\u00ecnh, c\u00e1c b\u1ea1n h\u00e3y edit bi\u1ebfn m\u00f4i tr\u01b0\u1eddng $PATH c\u1ee7a h\u1ec7 \u0111i\u1ec1u h\u00e0nh m\u00e0 c\u00e1c b\u1ea1n \u0111ang s\u1eed d\u1ee5ng \u0111\u1ec3 th\u00eam \u0111\u01b0\u1eddng d\u1eabn t\u1edbi t\u1eadp tin c\u00e0i \u0111\u1eb7t c\u1ee7a Dapr c\u00e1c b\u1ea1n nh\u00e9!<\/p>\n<p>M\u00ecnh \u0111ang s\u1eed d\u1ee5ng macOS, do \u0111\u00f3 m\u00ecnh s\u1ebd m\u1edf t\u1eadp tin .bash_profile \u1edf th\u01b0 m\u1ee5c ng\u01b0\u1eddi d\u00f9ng v\u00e0 th\u00eam \u0111\u01b0\u1eddng d\u1eabn t\u1edbi t\u1eadp tin c\u00e0i \u0111\u1eb7t c\u1ee7a Dapr v\u00e0o bi\u1ebfn m\u00f4i tr\u01b0\u1eddng $PATH nh\u01b0 sau:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-23500 size-full aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2024\/11\/cai-dat-dapr-distributed-application-runtime-cli-2.png\" alt=\"\" width=\"700\" height=\"419\" \/><\/p>\n<p>Gi\u1edd th\u00ec ki\u1ec3m tra version c\u1ee7a Dapr m\u00e0 ch\u00fang ta v\u1eeba c\u00e0i \u0111\u1eb7t, c\u00e1c b\u1ea1n s\u1ebd th\u1ea5y k\u1ebft qu\u1ea3 nh\u01b0 sau:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-23501 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2024\/11\/cai-dat-dapr-distributed-application-runtime-cli-3.png\" alt=\"\" width=\"700\" height=\"67\" \/><\/p>\n<p>Nh\u01b0 v\u1eady l\u00e0 ch\u00fang ta \u0111\u00e3 c\u00e0i \u0111\u1eb7t th\u00e0nh c\u00f4ng Dapr CLI r\u1ed3i \u0111\u00f3 c\u00e1c b\u1ea1n! Ph\u1ea7n Runtime version c\u00f3 gi\u00e1 tr\u1ecb l\u00e0 n\/a l\u00e0 v\u00ec ch\u00fang ta ch\u01b0a c\u00e0i \u0111\u1eb7t Dapr.<\/p>\n<h3>C\u00e0i \u0111\u1eb7t Dapr<\/h3>\n<p>Sau khi c\u00e0i \u0111\u1eb7t c\u00f4ng c\u1ee5 CLI, c\u00e1c b\u1ea1n h\u00e3y ch\u1ea1y command sau:<\/p>\n<pre class=\"lang:java decode:true \">dapr init<\/pre>\n<p>\u0111\u1ec3 c\u00e0i \u0111\u1eb7t c\u00e1c service c\u00f3 s\u1eb5n c\u1ee7a Dapr d\u00e0nh cho m\u00f4i tr\u01b0\u1eddng development. \u1ede m\u00f4i tr\u01b0\u1eddng production th\u00ec Dapr s\u1ebd ch\u1ea1y nh\u01b0 m\u1ed9t sidecar c\u00f9ng v\u1edbi service nha c\u00e1c b\u1ea1n!<\/p>\n<p>K\u1ebft qu\u1ea3 khi m\u00ecnh ch\u1ea1y command tr\u00ean, tr\u00ean m\u00e1y m\u00ecnh nh\u01b0 sau:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-23556 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2024\/11\/cai-dat-dapr-distributed-application-runtime-4.png\" alt=\"\" width=\"700\" height=\"350\" \/><\/p>\n<p>Nh\u01b0 c\u00e1c b\u1ea1n th\u1ea5y, dapr \u0111\u00e3 up v\u00e0 running c\u00e1c containers nh\u01b0:<\/p>\n<ul>\n<li>dapr_placement: d\u00e0nh cho local actor<\/li>\n<li>dapr_redis: d\u00e0nh cho local state store v\u00e0 message broker<\/li>\n<li>dapr_zipkin: d\u00e0nh cho observability<\/li>\n<li>v\u00e0 dapr_scheduler: d\u00e0nh cho job scheduling.<\/li>\n<\/ul>\n<p>\u0110\u1ebfn \u0111\u00e2y th\u00ec ch\u1ea1y command ki\u1ec3m tra version, c\u00e1c b\u1ea1n s\u1ebd th\u1ea5y ph\u1ea7n Runtime version c\u00f3 gi\u00e1 tr\u1ecb, nh\u01b0 m\u00ecnh nh\u01b0 sau:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-23557 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2024\/11\/cai-dat-dapr-distributed-application-runtime-5.png\" alt=\"\" width=\"700\" height=\"53\" \/><\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-right kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;right&quot;,&quot;id&quot;:&quot;23494&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;4&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;0\\\/5 - (0 votes)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;C\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime)&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            <span class=\"kksr-muted\"><\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Dapr (Distributed Application Runtime) l\u00e0 m\u1ed9t b\u1ed9 c\u00e1c integrated APIs d\u00e0nh cho vi\u1ec7c communication, state v\u00e0 workflow \u0111\u01b0\u1ee3c hi\u1ec7n th\u1ef1c s\u1eed d\u1ee5ng c\u00e1c best practices v\u1ec1 security, resiliency, v\u00e0 observability, gi\u00fap ch\u00fang ta c\u00f3 th\u1ec3 d\u1ec5 d\u00e0ng x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng microservices, linh ho\u1ea1t,&hellip; <a href=\"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":23502,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2431],"tags":[],"class_list":["post-23494","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dapr","clearfix"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>C\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime) - Huong Dan Java<\/title>\n<meta name=\"description\" content=\"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh h\u01b0\u1edbng d\u1eabn c\u00e1c b\u1ea1n c\u00e1ch c\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime) CLI.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime) - Huong Dan Java\" \/>\n<meta property=\"og:description\" content=\"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh h\u01b0\u1edbng d\u1eabn c\u00e1c b\u1ea1n c\u00e1ch c\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime) CLI.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html\" \/>\n<meta property=\"og:site_name\" content=\"Huong Dan Java\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/nhkhanh2406\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/nhkhanh2406\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-03T23:27:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-27T23:14:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2024\/11\/dapr.png\" \/>\n\t<meta property=\"og:image:width\" content=\"651\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Khanh Nguyen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/KhanhNguyenJ\" \/>\n<meta name=\"twitter:site\" content=\"@KhanhNguyenJ\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Khanh Nguyen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/cai-dat-dapr-distributed-application-runtime.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/cai-dat-dapr-distributed-application-runtime.html\"},\"author\":{\"name\":\"Khanh Nguyen\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"headline\":\"C\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime)\",\"datePublished\":\"2024-11-03T23:27:35+00:00\",\"dateModified\":\"2024-11-27T23:14:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/cai-dat-dapr-distributed-application-runtime.html\"},\"wordCount\":652,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"image\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/cai-dat-dapr-distributed-application-runtime.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/dapr.png\",\"articleSection\":[\"Dapr\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/cai-dat-dapr-distributed-application-runtime.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/cai-dat-dapr-distributed-application-runtime.html\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/cai-dat-dapr-distributed-application-runtime.html\",\"name\":\"C\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime) - Huong Dan Java\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/cai-dat-dapr-distributed-application-runtime.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/cai-dat-dapr-distributed-application-runtime.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/dapr.png\",\"datePublished\":\"2024-11-03T23:27:35+00:00\",\"dateModified\":\"2024-11-27T23:14:44+00:00\",\"description\":\"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh h\u01b0\u1edbng d\u1eabn c\u00e1c b\u1ea1n c\u00e1ch c\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime) CLI.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/cai-dat-dapr-distributed-application-runtime.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/cai-dat-dapr-distributed-application-runtime.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/cai-dat-dapr-distributed-application-runtime.html#primaryimage\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/dapr.png\",\"contentUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/dapr.png\",\"width\":651,\"height\":400},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/cai-dat-dapr-distributed-application-runtime.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/huongdanjava.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#website\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/\",\"name\":\"Huong Dan Java\",\"description\":\"Java development tutorials\",\"publisher\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/huongdanjava.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\",\"name\":\"Khanh Nguyen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"contentUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"width\":1267,\"height\":1517,\"caption\":\"Khanh Nguyen\"},\"logo\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\"},\"description\":\"I love Java and everything related to Java.\",\"sameAs\":[\"https:\\\/\\\/huongdanjava.com\",\"https:\\\/\\\/www.facebook.com\\\/nhkhanh2406\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/KhanhNguyenJ\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime) - Huong Dan Java","description":"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh h\u01b0\u1edbng d\u1eabn c\u00e1c b\u1ea1n c\u00e1ch c\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime) CLI.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html","og_locale":"en_US","og_type":"article","og_title":"C\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime) - Huong Dan Java","og_description":"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh h\u01b0\u1edbng d\u1eabn c\u00e1c b\u1ea1n c\u00e1ch c\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime) CLI.","og_url":"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html","og_site_name":"Huong Dan Java","article_publisher":"https:\/\/www.facebook.com\/nhkhanh2406","article_author":"https:\/\/www.facebook.com\/nhkhanh2406","article_published_time":"2024-11-03T23:27:35+00:00","article_modified_time":"2024-11-27T23:14:44+00:00","og_image":[{"width":651,"height":400,"url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2024\/11\/dapr.png","type":"image\/png"}],"author":"Khanh Nguyen","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/KhanhNguyenJ","twitter_site":"@KhanhNguyenJ","twitter_misc":{"Written by":"Khanh Nguyen","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html#article","isPartOf":{"@id":"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html"},"author":{"name":"Khanh Nguyen","@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"headline":"C\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime)","datePublished":"2024-11-03T23:27:35+00:00","dateModified":"2024-11-27T23:14:44+00:00","mainEntityOfPage":{"@id":"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html"},"wordCount":652,"commentCount":0,"publisher":{"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"image":{"@id":"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html#primaryimage"},"thumbnailUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2024\/11\/dapr.png","articleSection":["Dapr"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html","url":"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html","name":"C\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime) - Huong Dan Java","isPartOf":{"@id":"https:\/\/huongdanjava.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html#primaryimage"},"image":{"@id":"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html#primaryimage"},"thumbnailUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2024\/11\/dapr.png","datePublished":"2024-11-03T23:27:35+00:00","dateModified":"2024-11-27T23:14:44+00:00","description":"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh h\u01b0\u1edbng d\u1eabn c\u00e1c b\u1ea1n c\u00e1ch c\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime) CLI.","breadcrumb":{"@id":"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html#primaryimage","url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2024\/11\/dapr.png","contentUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2024\/11\/dapr.png","width":651,"height":400},{"@type":"BreadcrumbList","@id":"https:\/\/huongdanjava.com\/vi\/cai-dat-dapr-distributed-application-runtime.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/huongdanjava.com\/"},{"@type":"ListItem","position":2,"name":"C\u00e0i \u0111\u1eb7t Dapr (Distributed Application Runtime)"}]},{"@type":"WebSite","@id":"https:\/\/huongdanjava.com\/#website","url":"https:\/\/huongdanjava.com\/","name":"Huong Dan Java","description":"Java development tutorials","publisher":{"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/huongdanjava.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d","name":"Khanh Nguyen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","contentUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","width":1267,"height":1517,"caption":"Khanh Nguyen"},"logo":{"@id":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg"},"description":"I love Java and everything related to Java.","sameAs":["https:\/\/huongdanjava.com","https:\/\/www.facebook.com\/nhkhanh2406","https:\/\/x.com\/https:\/\/twitter.com\/KhanhNguyenJ"]}]}},"_links":{"self":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/23494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/comments?post=23494"}],"version-history":[{"count":8,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/23494\/revisions"}],"predecessor-version":[{"id":23588,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/23494\/revisions\/23588"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/media\/23502"}],"wp:attachment":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/media?parent=23494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/categories?post=23494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/tags?post=23494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}