\ud604\ub300\uc758 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc544\ud0a4\ud14d\ucc98\ub294 \uc810\uc810 \ub354 \ubcf5\uc7a1\ud574\uc9c0\uace0 \uc788\uc73c\uba70, \uc774\ub85c \uc778\ud574 \ub300\uaddc\ubaa8 \uc2dc\uc2a4\ud15c \uac04\uc758 \ud1b5\uc2e0\uc774 \ud544\uc218\uc801\uc785\ub2c8\ub2e4. \ud2b9\ud788 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc544\ud0a4\ud14d\ucc98\uc5d0\uc11c\ub294 \uc11c\ube44\uc2a4 \uac04\uc758 \ube44\ub3d9\uae30 \ud1b5\uc2e0\uc774 \uc911\uc694\ud574\uc9c0\uba70, \uc774\ub97c \uc704\ud574 \uba54\uc2dc\uc9d5 \ud328\ud134\uc774 \ub110\ub9ac \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ubcf8 \uae00\uc5d0\uc11c\ub294 Spring Cloud\uc640 Azure Service Bus\ub97c \ud65c\uc6a9\ud558\uc5ec \ub300\uaddc\ubaa8 \uba54\uc2dc\uc9d5 \ud328\ud134\uc744 \uad6c\ud604\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc2ec\ub3c4 \uc788\uac8c \ub2e4\ub8e8\uc5b4 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n
\ub300\uaddc\ubaa8 \uc2dc\uc2a4\ud15c\uc5d0\uc11c\uc758 \uba54\uc2dc\uc9d5 \ud328\ud134\uc740 \uc5ec\ub7ec \uc11c\ube44\uc2a4 \uac04\uc758 \ub370\uc774\ud130 \uc804\uc1a1\uc744 \ud6a8\uc728\uc801\uc73c\ub85c \uad00\ub9ac\ud558\ub294 \ub370 \ud544\uc218\uc801\uc785\ub2c8\ub2e4. \ud2b9\ud788 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc544\ud0a4\ud14d\ucc98\uc5d0\uc11c\ub294 \uac01 \uc11c\ube44\uc2a4\uac00 \ub3c5\ub9bd\uc801\uc73c\ub85c \ubc30\ud3ec\ub418\uace0 \uc6b4\uc601\ub418\uae30 \ub54c\ubb38\uc5d0, \uc11c\ube44\uc2a4 \uac04\uc758 \ud1b5\uc2e0 \ubc29\uc2dd\uc774 \uc911\uc694\ud569\ub2c8\ub2e4. \uba54\uc2dc\uc9d5 \ud328\ud134\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \uc7a5\uc810\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4:<\/p>\n
\uc774\ub7ec\ud55c \uc7a5\uc810 \ub355\ubd84\uc5d0 \ub9ce\uc740 \uae30\uc5c5\ub4e4\uc774 \ub300\uaddc\ubaa8 \uba54\uc2dc\uc9d5 \ud328\ud134\uc744 \ucc44\ud0dd\ud558\uace0 \uc788\uc73c\uba70, Spring Cloud\uc640 Azure Service Bus\ub294 \uc774\ub7ec\ud55c \ud328\ud134\uc744 \uad6c\ud604\ud558\ub294 \ub370 \ub9e4\uc6b0 \uc720\uc6a9\ud55c \ub3c4\uad6c\uc785\ub2c8\ub2e4.<\/p>\n
Spring Cloud\ub294 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc544\ud0a4\ud14d\ucc98\ub97c \uad6c\ucd95\ud558\uae30 \uc704\ud55c \ub2e4\uc591\ud55c \ub3c4\uad6c\uc640 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. Spring Cloud\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uc8fc\uc694 \uae30\ub2a5\uc744 \ud3ec\ud568\ud569\ub2c8\ub2e4:<\/p>\n
Spring Cloud\ub294 \uc774\ub7ec\ud55c \uae30\ub2a5\ub4e4\uc744 \ud1b5\ud574 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc544\ud0a4\ud14d\ucc98\uc758 \ubcf5\uc7a1\uc131\uc744 \uc904\uc774\uace0, \uac1c\ubc1c\uc790\ub4e4\uc774 \ub354 \uc27d\uac8c \uc2dc\uc2a4\ud15c\uc744 \uad6c\ucd95\ud560 \uc218 \uc788\ub3c4\ub85d \ub3d5\uc2b5\ub2c8\ub2e4.<\/p>\n
Azure Service Bus\ub294 Microsoft Azure\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ud074\ub77c\uc6b0\ub4dc \uae30\ubc18 \uba54\uc2dc\uc9d5 \uc11c\ube44\uc2a4\uc785\ub2c8\ub2e4. \uc774 \uc11c\ube44\uc2a4\ub294 \ub2e4\uc591\ud55c \uba54\uc2dc\uc9d5 \ud328\ud134\uc744 \uc9c0\uc6d0\ud558\uba70, \ud2b9\ud788 \ub300\uaddc\ubaa8 \uc2dc\uc2a4\ud15c\uc5d0\uc11c\uc758 \ube44\ub3d9\uae30 \ud1b5\uc2e0\uc5d0 \uc801\ud569\ud569\ub2c8\ub2e4. Azure Service Bus\uc758 \uc8fc\uc694 \uae30\ub2a5\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:<\/p>\n
Azure Service Bus\ub294 \uc774\ub7ec\ud55c \uae30\ub2a5\uc744 \ud1b5\ud574 \ub300\uaddc\ubaa8 \uc2dc\uc2a4\ud15c\uc5d0\uc11c\uc758 \uba54\uc2dc\uc9d5 \uc694\uad6c \uc0ac\ud56d\uc744 \ucda9\uc871\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n
Spring Cloud\uc640 Azure Service Bus\ub97c \ud1b5\ud569\ud558\uba74, \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uac04\uc758 \ube44\ub3d9\uae30 \ud1b5\uc2e0\uc744 \ud6a8\uacfc\uc801\uc73c\ub85c \uad6c\ud604\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \uc704\ud574 \ub2e4\uc74c\uacfc \uac19\uc740 \ub2e8\uacc4\ub97c \ub530\ub985\ub2c8\ub2e4:<\/p>\n
dependencies {\n implementation 'org.springframework.cloud:spring-cloud-starter-azure-servicebus'\n}\n<\/code><\/pre>\n\uc704\uc758 \uc758\uc874\uc131\uc744 \ucd94\uac00\ud55c \ud6c4, Azure Service Bus\uc5d0 \uc5f0\uacb0\ud558\uae30 \uc704\ud55c \uc124\uc815\uc744 \ucd94\uac00\ud574\uc57c \ud569\ub2c8\ub2e4. application.yml \ud30c\uc77c\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc740 \uc124\uc815\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4:<\/p>\n
spring:\n cloud:\n azure:\n servicebus:\n connection-string: \"Your_Connection_String\"\n<\/code><\/pre>\n\uc774\uc81c Spring Cloud \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c Azure Service Bus\ub97c \uc0ac\uc6a9\ud560 \uc900\ube44\uac00 \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc73c\ub85c, \uba54\uc2dc\uc9c0\ub97c \ubcf4\ub0b4\uace0 \ubc1b\ub294 \ubc29\ubc95\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n
5. \uba54\uc2dc\uc9c0 \uc804\uc1a1 \ubc0f \uc218\uc2e0 \uad6c\ud604\ud558\uae30<\/h2>\n
\uba54\uc2dc\uc9c0\ub97c \uc804\uc1a1\ud558\uace0 \uc218\uc2e0\ud558\ub294 \uac83\uc740 Azure Service Bus\ub97c \uc0ac\uc6a9\ud558\ub294 \ud575\uc2ec \uae30\ub2a5\uc785\ub2c8\ub2e4. \ub2e4\uc74c\uc740 \uba54\uc2dc\uc9c0\ub97c \uc804\uc1a1\ud558\ub294 \uc608\uc81c\uc785\ub2c8\ub2e4:<\/p>\n
@Service\npublic class MessageSender {\n @Autowired\n private QueueClient queueClient;\n\n public void sendMessage(String message) {\n try {\n queueClient.sendAsync(new Message(message.getBytes()));\n } catch (Exception e) {\n e.printStackTrace();\n }\n }\n}\n<\/code><\/pre>\n\uc704\uc758 \ucf54\ub4dc\uc5d0\uc11c QueueClient\ub97c \uc0ac\uc6a9\ud558\uc5ec \uba54\uc2dc\uc9c0\ub97c \ube44\ub3d9\uae30\uc801\uc73c\ub85c \uc804\uc1a1\ud569\ub2c8\ub2e4. \uc774\uc81c \uc218\uc2e0\ud558\ub294 \ubc29\ubc95\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4:<\/p>\n
@Service\npublic class MessageReceiver {\n @Autowired\n private QueueClient queueClient;\n\n @PostConstruct\n public void receiveMessages() {\n queueClient.registerMessageHandler((message, context) -> {\n System.out.println(\"Received message: \" + new String(message.getBody()));\n return CompletableFuture.completedFuture(message.getLockToken());\n });\n }\n}\n<\/code><\/pre>\n\uc704\uc758 \ucf54\ub4dc\uc5d0\uc11c\ub294 QueueClient\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc218\uc2e0\ud55c \uba54\uc2dc\uc9c0\ub97c \ucc98\ub9ac\ud558\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. \uc774\ucc98\ub7fc Spring Cloud\uc640 Azure Service Bus\ub97c \ud1b5\ud569\ud558\uba74, \ub300\uaddc\ubaa8 \uc2dc\uc2a4\ud15c\uc5d0\uc11c\uc758 \ube44\ub3d9\uae30 \ud1b5\uc2e0\uc744 \ud6a8\uacfc\uc801\uc73c\ub85c \uad6c\ud604\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n
6. \ub300\uaddc\ubaa8 \uc2dc\uc2a4\ud15c\uc5d0\uc11c\uc758 \uba54\uc2dc\uc9d5 \ud328\ud134 \uc801\uc6a9 \uc0ac\ub840<\/h2>\n
\ub300\uaddc\ubaa8 \uc2dc\uc2a4\ud15c\uc5d0\uc11c Spring Cloud\uc640 Azure Service Bus\ub97c \ud65c\uc6a9\ud55c \uc131\uacf5\uc801\uc778 \uc0ac\ub840\ub85c\ub294 \uc5ec\ub7ec \uae30\uc5c5\ub4e4\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \ud55c \uae08\uc735 \uc11c\ube44\uc2a4 \ud68c\uc0ac\ub294 \uace0\uac1d \uc694\uccad\uc744 \ucc98\ub9ac\ud558\uae30 \uc704\ud574 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc544\ud0a4\ud14d\ucc98\ub97c \ub3c4\uc785\ud588\uc2b5\ub2c8\ub2e4. \uc774\ub4e4\uc740 Spring Cloud\uc640 Azure Service Bus\ub97c \uc0ac\uc6a9\ud558\uc5ec \uace0\uac1d \uc694\uccad\uc744 \ube44\ub3d9\uae30\uc801\uc73c\ub85c \ucc98\ub9ac\ud558\uace0, \uc2dc\uc2a4\ud15c\uc758 \ud655\uc7a5\uc131\uc744 \ub192\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n
\uc774 \ud68c\uc0ac\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \ubc29\uc2dd\uc73c\ub85c \uc2dc\uc2a4\ud15c\uc744 \uad6c\uc131\ud588\uc2b5\ub2c8\ub2e4:<\/p>\n
\n- \uace0\uac1d \uc694\uccad\uc744 \ucc98\ub9ac\ud558\ub294 \uc11c\ube44\uc2a4: \uace0\uac1d \uc694\uccad\uc744 \uc218\uc2e0\ud558\uace0, Azure Service Bus\ub97c \ud1b5\ud574 \ub2e4\ub978 \uc11c\ube44\uc2a4\uc5d0 \uc804\ub2ec\ud569\ub2c8\ub2e4.<\/li>\n
- \uacb0\uc81c \ucc98\ub9ac \uc11c\ube44\uc2a4: \uacb0\uc81c \uc694\uccad\uc744 \uc218\uc2e0\ud558\uace0, \uacb0\uc81c \uacb0\uacfc\ub97c \ub2e4\uc2dc \uace0\uac1d \uc694\uccad \ucc98\ub9ac \uc11c\ube44\uc2a4\ub85c \uc804\ub2ec\ud569\ub2c8\ub2e4.<\/li>\n
- \uc54c\ub9bc \uc11c\ube44\uc2a4: \uacb0\uc81c \uacb0\uacfc\ub97c \uc218\uc2e0\ud558\uace0, \uace0\uac1d\uc5d0\uac8c \uc54c\ub9bc\uc744 \uc804\uc1a1\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n
\uc774\ub7ec\ud55c \uad6c\uc870 \ub355\ubd84\uc5d0 \uac01 \uc11c\ube44\uc2a4\ub294 \ub3c5\ub9bd\uc801\uc73c\ub85c \uc6b4\uc601\ub420 \uc218 \uc788\uc73c\uba70, \uc2dc\uc2a4\ud15c\uc758 \ud655\uc7a5\uc131\uacfc \uc2e0\ub8b0\uc131\uc744 \ub192\uc77c \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n
7. \uc131\ub2a5 \ucd5c\uc801\ud654 \ubc0f \ubaa8\ub2c8\ud130\ub9c1<\/h2>\n
\ub300\uaddc\ubaa8 \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc131\ub2a5 \ucd5c\uc801\ud654\ub294 \ub9e4\uc6b0 \uc911\uc694\ud569\ub2c8\ub2e4. Azure Service Bus\ub97c \uc0ac\uc6a9\ud560 \ub54c \uc131\ub2a5\uc744 \ucd5c\uc801\ud654\ud558\uae30 \uc704\ud574 \uace0\ub824\ud574\uc57c \ud560 \uc0ac\ud56d\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:<\/p>\n
\n- \uba54\uc2dc\uc9c0 \ud06c\uae30: \uba54\uc2dc\uc9c0 \ud06c\uae30\ub97c \ucd5c\uc18c\ud654\ud558\uc5ec \uc804\uc1a1 \uc18d\ub3c4\ub97c \ub192\uc785\ub2c8\ub2e4.<\/li>\n
- \ubc30\uce58 \uc804\uc1a1: \uc5ec\ub7ec \uba54\uc2dc\uc9c0\ub97c \ud55c \ubc88\uc5d0 \uc804\uc1a1\ud558\uc5ec \ub124\ud2b8\uc6cc\ud06c \uc624\ubc84\ud5e4\ub4dc\ub97c \uc904\uc785\ub2c8\ub2e4.<\/li>\n
- \ubaa8\ub2c8\ud130\ub9c1: Azure Monitor\uc640 Application Insights\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2dc\uc2a4\ud15c \uc131\ub2a5\uc744 \ubaa8\ub2c8\ud130\ub9c1\ud558\uace0, \ubb38\uc81c\ub97c \uc870\uae30\uc5d0 \ubc1c\uacac\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n
\uc774\ub7ec\ud55c \ucd5c\uc801\ud654 \uae30\ubc95\uc744 \ud1b5\ud574 \uc2dc\uc2a4\ud15c\uc758 \uc131\ub2a5\uc744 \ud5a5\uc0c1\uc2dc\ud0ac \uc218 \uc788\uc73c\uba70, \uc548\uc815\uc801\uc778 \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n
8. \uacb0\ub860 \ubc0f \ud5a5\ud6c4 \uc804\ub9dd<\/h2>\n
Spring Cloud\uacfc Azure Service Bus\ub97c \ud65c\uc6a9\ud55c \ub300\uaddc\ubaa8 \uba54\uc2dc\uc9d5 \ud328\ud134\uc740 \ud604\ub300 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc544\ud0a4\ud14d\ucc98\uc5d0\uc11c \ud544\uc218\uc801\uc778 \uc694\uc18c\uc785\ub2c8\ub2e4. \uc774 \ub450 \uac00\uc9c0 \ub3c4\uad6c\ub97c \ud1b5\ud574 \ube44\ub3d9\uae30 \ud1b5\uc2e0\uc744 \ud6a8\uacfc\uc801\uc73c\ub85c \uad6c\ud604\ud558\uace0, \uc2dc\uc2a4\ud15c\uc758 \ud655\uc7a5\uc131\uacfc \uc2e0\ub8b0\uc131\uc744 \ub192\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc55e\uc73c\ub85c\ub3c4 \uc774\ub7ec\ud55c \uae30\uc220\ub4e4\uc740 \ub354\uc6b1 \ubc1c\uc804\ud560 \uac83\uc774\uba70, \uae30\uc5c5\ub4e4\uc740 \uc774\ub97c \ud1b5\ud574 \ub354 \ub098\uc740 \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5\ud560 \uc218 \uc788\uc744 \uac83\uc785\ub2c8\ub2e4.<\/p>\n
\uacb0\ub860\uc801\uc73c\ub85c, \ub300\uaddc\ubaa8 \uc2dc\uc2a4\ud15c\uc5d0\uc11c\uc758 \uba54\uc2dc\uc9d5 \ud328\ud134\uc740 \ub2e8\uc21c\ud55c \uae30\uc220\uc801 \uc120\ud0dd\uc774 \uc544\ub2c8\ub77c, \ube44\uc988\ub2c8\uc2a4 \uc131\uacf5\uc744 \uc704\ud55c \uc804\ub7b5\uc801 \uacb0\uc815\uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c \uae30\uc5c5\ub4e4\uc740 \uc774\ub7ec\ud55c \uae30\uc220\uc744 \uc801\uadf9\uc801\uc73c\ub85c \ub3c4\uc785\ud558\uace0 \ud65c\uc6a9\ud574\uc57c \ud560 \uac83\uc785\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"
\ubaa9\ucc28 Spring Cloud\uacfc Azure Service Bus\ub97c \uc774\uc6a9\ud55c \ub300\uaddc\ubaa8 \uba54\uc2dc\uc9d5 \ud328\ud134 1. \ub300\uaddc\ubaa8 \uba54\uc2dc\uc9d5 \ud328\ud134\uc758 \ud544\uc694\uc131 […]<\/p>\n","protected":false},"author":1,"featured_media":33704,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1957],"tags":[2119,2058,2082],"class_list":["post-51533","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","tag-api","tag-application","tag-cloud"],"acf":[],"_links":{"self":[{"href":"https:\/\/8gfg.shop\/blog\/wp-json\/wp\/v2\/posts\/51533","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/8gfg.shop\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/8gfg.shop\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/8gfg.shop\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/8gfg.shop\/blog\/wp-json\/wp\/v2\/comments?post=51533"}],"version-history":[{"count":0,"href":"https:\/\/8gfg.shop\/blog\/wp-json\/wp\/v2\/posts\/51533\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/8gfg.shop\/blog\/wp-json\/wp\/v2\/media\/33704"}],"wp:attachment":[{"href":"https:\/\/8gfg.shop\/blog\/wp-json\/wp\/v2\/media?parent=51533"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/8gfg.shop\/blog\/wp-json\/wp\/v2\/categories?post=51533"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/8gfg.shop\/blog\/wp-json\/wp\/v2\/tags?post=51533"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}