﻿
{"id":13830,"date":"2020-03-01T19:56:43","date_gmt":"2020-03-01T19:56:43","guid":{"rendered":"https:\/\/www.gencayyildiz.com\/blog\/?p=13830"},"modified":"2020-03-01T21:43:48","modified_gmt":"2020-03-01T21:43:48","slug":"rabbitmq-topic-exchange","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/rabbitmq-topic-exchange\/","title":{"rendered":"RabbitMQ &#8211; Topic Exchange"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>Bu i\u00e7eri\u011fimizde RabbitMQ&#8217;da \u00e7al\u0131\u015fma mant\u0131\u011f\u0131 belirli bir formata dayal\u0131 sistem \u00fczerine oturtulmu\u015f Topic Exchange&#8217;i inceleyece\u011fiz.<\/p>\n<h3>Topic Exchange \u0130\u015fleyi\u015fi Nas\u0131ld\u0131r?<\/h3>\n<p><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13834\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange.png\" alt=\"RabbitMQ - Topic Exchange\" width=\"549\" height=\"295\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange.png 549w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-300x161.png 300w\" sizes=\"auto, (max-width: 549px) 100vw, 549px\" \/><\/a><br \/>\nTopic Exchange&#8217;de at\u0131lan mesajlar\u0131n routing key de\u011feri .(nokta) operat\u00f6r\u00fc kullan\u0131larak formatland\u0131r\u0131lmakta ve bu formattaki isimlerde yap\u0131lan filtrelemelere g\u00f6re uygun d\u00fc\u015fen kuyruklara mesajlar g\u00f6nderilmektedir. Yukar\u0131daki \u015femaya g\u00f6z atarsak e\u011fer;<\/p>\n<table>\n<thead>\n<tr>\n<th>Message Routing Key<\/th>\n<th><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>&#8216;<span style=\"color: red;\">usa<\/span>.news&#8217;<br \/>\n&#8216;<span style=\"color: red;\">usa<\/span>.weather&#8217;<br \/>\n&#8216;<span style=\"color: blue;\">europe<\/span>.news&#8217;<br \/>\n&#8216;<span style=\"color: blue;\">europe<\/span>.weather&#8217;<\/strong><\/td>\n<td style=\"width: 25%;\">Yandaki routing key de\u011ferlerine sahip olan mesajlar\u0131 hedef kuyru\u011fa g\u00f6nderebilmek i\u00e7in olu\u015fturdu\u011fumuz kuyruklarda a\u015fa\u011f\u0131dakine benzer bir filtreleme yap\u0131lmas\u0131 yeterlidir.<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\">\n<h3>Topic Filtrelemesi<\/h3>\n<table>\n<tbody>\n<tr>\n<td><strong>&#8216;<span style=\"color: red;\">usa<\/span>.news&#8217;<\/strong><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-size: 11px;\">Routing key de\u011feri <em>&#8216;usa.news&#8217;<\/em> olan mesajlar bu kuyru\u011fa girecektir.<\/span><\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13858\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"87\" height=\"42\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td colspan=\"2\"><strong>&#8216;<span style=\"color: red;\">*<\/span>.weather&#8217;<\/strong><\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><span style=\"font-size: 11px;\"><em>&#8216;<span style=\"color: red;\">*<\/span>&lt;\u00f6nemli de\u011fil&gt;.weather&#8217;<\/em> olan mesajlar bu kuyru\u011fa girecektir.<\/span><\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13867\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-3.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"103\" height=\"43\" \/><\/a><\/td>\n<td><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-5.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13866\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-5.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"129\" height=\"43\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td colspan=\"2\"><strong>&#8216;<span style=\"color: blue;\">#<\/span>.news&#8217;<\/strong><\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><span style=\"font-size: 11px;\">&#8216;<span style=\"color: red;\">#<\/span>&lt; ba\u015f\u0131 \u00f6nemli de\u011fil&gt;.news&#8217; olan mesajlar bu kuyru\u011fa girecektir.<\/span><\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13858\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"87\" height=\"42\" \/><\/a><\/td>\n<td><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13877\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-4.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"107\" height=\"43\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td colspan=\"2\"><strong>&#8216;<span style=\"color: blue;\">*<\/span>.weather&#8217;<\/strong><\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><span style=\"font-size: 11px;\">&#8216;<span style=\"color: red;\">*<\/span>&lt;\u00f6nemli de\u011fil&gt;.weather&#8217; olan mesajlar bu kuyru\u011fa girecektir.<\/span><\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13867\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-3.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"103\" height=\"43\" \/><\/a><\/td>\n<td><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-5.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13866\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-5.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"129\" height=\"43\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td colspan=\"2\"><strong>&#8216;<span style=\"color: red;\">usa<\/span>.#&#8217;<\/strong><\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><span style=\"font-size: 11px;\">&#8216;usa.<span style=\"color: red;\">#<\/span>&lt; sonu \u00f6nemli de\u011fil&gt;&#8217; olan mesajlar bu kuyru\u011fa girecektir.<\/span><\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13867\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-3.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"103\" height=\"43\" \/><\/a><\/td>\n<td><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13858\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"87\" height=\"42\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td colspan=\"2\"><strong>&#8216;<span style=\"color: blue;\">europe<\/span>.*&#8217;<\/strong><\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><span style=\"font-size: 11px;\">&#8216;europe.<span style=\"color: red;\">*<\/span>&lt;\u00f6nemli de\u011fil&gt;&#8217; olan mesajlar bu kuyru\u011fa girecektir.<\/span><\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13877\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-4.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"107\" height=\"43\" \/><\/a><\/td>\n<td><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-5.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13866\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-5.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"129\" height=\"43\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr>\n<td colspan=\"4\"><strong>&#8216;#&#8217;<\/strong><\/td>\n<\/tr>\n<tr>\n<td colspan=\"4\"><span style=\"font-size: 11px;\">&#8216;<span style=\"color: red;\">#<\/span>&lt; hi\u00e7biri \u00f6nemli de\u011fil&gt;&#8217; olan mesajlar bu kuyru\u011fa girecektir.<\/span><\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13877\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-4.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"107\" height=\"43\" \/><\/a><\/td>\n<td><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13867\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-3.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"103\" height=\"43\" \/><\/a><\/td>\n<td><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-5.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13866\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-5.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"129\" height=\"43\" \/><\/a><\/td>\n<td><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13858\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"87\" height=\"42\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Kullan\u0131m\u0131<\/h3>\n<p>Bizler \u00f6rnek olarak silahl\u0131 kuvvetler hiyerar\u015fisine uygun bir \u015fekilde g\u00f6revlendirme senaryosu benimseyip mesajlar\u0131m\u0131z\u0131 ilgili r\u00fctbelere \u00f6zel g\u00f6rev bar\u0131nd\u0131ran kuyruklara iletece\u011fiz.<\/p>\n<h4>Publisher<\/h4>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n        static void Main(string&#x5B;] args)\r\n        {\r\n            ConnectionFactory factory = new ConnectionFactory();\r\n            factory.Uri = new Uri(&quot;amqp:\/\/hkhjerrt:hcqiavAqll6-co4abXnSqUBh_hHifz-Z@hornet.rmq.cloudamqp.com\/hkhjerrt&quot;);\r\n\r\n            using (IConnection connection = factory.CreateConnection())\r\n            using (IModel channel = connection.CreateModel())\r\n            {\r\n                channel.ExchangeDeclare(&quot;topicexchange&quot;, type: ExchangeType.Topic);\r\n                for (int i = 1; i &lt;= 100; i++)\r\n                {\r\n                    byte&#x5B;] bytemessage = Encoding.UTF8.GetBytes($&quot;{i}. g\u00f6rev verildi.&quot;);\r\n\r\n                    IBasicProperties properties = channel.CreateBasicProperties();\r\n                    properties.Persistent = true;\r\n                    channel.BasicPublish(exchange: &quot;topicexchange&quot;, routingKey: $&quot;Asker.Subay.{(i % 2 == 0 ? &quot;Yuzbasi&quot; : (i % 11 == 0 ? &quot;Binbasi&quot; : &quot;Tegmen&quot;))}&quot;, basicProperties: properties, body: bytemessage);\r\n                }\r\n            }\r\n        }\r\n<\/pre>\n<p>Yukar\u0131daki \u00f6rnek publisher kod blo\u011funu incelerseniz e\u011fer <strong><em>16.<\/em><\/strong> sat\u0131rda Topic exchange&#8217;e uygun formatta &#8220;Asker.Subay.[Tegmen &#8211; Yuzbasi &#8211; Binbasi]&#8221; routing keyi olu\u015fturulmaktad\u0131r. Burada senaryo gere\u011fi olu\u015fturulan 100 adet g\u00f6revin her birini &#8216;Te\u011fmen&#8217;, yar\u0131s\u0131n\u0131 &#8216;Y\u00fczba\u015f\u0131&#8217; ve hatr\u0131 say\u0131l\u0131r az\u0131nl\u0131ktaki kadar\u0131n\u0131 &#8216;Binba\u015f\u0131&#8217; r\u00fctbeli askerlerin \u00fcstlenece\u011fi \u015fekilde bir algoritma olu\u015fturulmu\u015f bulunmaktad\u0131r ve her bir g\u00f6rev mesaj olarak ilgili r\u00fctbeyi temsil eden formattaki routing key de\u011ferine sahip kuyru\u011fa g\u00f6nderilmektedir. \u015eimdi s\u0131ra kendi r\u00fctbesine uygun g\u00f6revleri bar\u0131nd\u0131ran kuyru\u011fa subscribe olan consumerlar\u0131 tan\u0131mlayama gelmi\u015f bulunmaktad\u0131r.<\/p>\n<h4>Consumer<\/h4>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n        static void Main(string&#x5B;] args)\r\n        {\r\n            ConnectionFactory factory = new ConnectionFactory();\r\n            factory.Uri = new Uri(&quot;amqp:\/\/hkhjerrt:hcqiavAqll6-co4abXnSqUBh_hHifz-Z@hornet.rmq.cloudamqp.com\/hkhjerrt&quot;);\r\n\r\n            using (IConnection connection = factory.CreateConnection())\r\n            using (IModel channel = connection.CreateModel())\r\n            {\r\n                channel.ExchangeDeclare(&quot;topicexchange&quot;, type: ExchangeType.Topic);\r\n\r\n                string queueName = channel.QueueDeclare().QueueName;\r\n                string routingKey = &quot;&quot;;\r\n\r\n                routingKey = args&#x5B;0] switch\r\n                {\r\n                    &quot;1&quot; =&gt; $&quot;*.*.Tegmen&quot;,\r\n                    &quot;2&quot; =&gt; $&quot;*.#.Yuzbasi&quot;,\r\n                    &quot;3&quot; =&gt; $&quot;#.Binbasi.#&quot;,\r\n                    &quot;4&quot; =&gt; $&quot;Asker.Subay.Tegmen&quot;,\r\n                };\r\n\r\n                channel.QueueBind(queue: queueName, exchange: &quot;topicexchange&quot;, routingKey: routingKey);\r\n\r\n                channel.BasicQos(prefetchSize: 0, prefetchCount: 1, global: false);\r\n\r\n                EventingBasicConsumer consumer = new EventingBasicConsumer(channel);\r\n                channel.BasicConsume(queueName, false, consumer);\r\n                consumer.Received += (sender, e) =&gt;\r\n                {\r\n                    Console.WriteLine($&quot;{routingKey} {Encoding.UTF8.GetString(e.Body)} g\u00f6revi ald\u0131.&quot;);\r\n                    channel.BasicAck(e.DeliveryTag, false);\r\n                };\r\n                Console.Read();\r\n            }\r\n        }\r\n<\/pre>\n<p>Yukar\u0131daki consumer \u00f6rnek kodlar\u0131n\u0131 incelerseniz e\u011fer <strong><em>14.<\/em><\/strong> sat\u0131rda console uygulamas\u0131na verilen arg\u00fcman de\u011ferine g\u00f6re Topic format\u0131na uygun bir nitelendirme yap\u0131lmakta ve buradan elde edilen routing key <strong><em>22.<\/em><\/strong> sat\u0131rda olu\u015fturulacak kuyru\u011fa verilmektedir. B\u00f6ylece belirtilen formatta uyan her bir kuyru\u011fa uygun mesajlar\u0131 consumer elde ederek t\u00fcketmektedir.<\/p>\n<h3>Test Edelim<\/h3>\n<p>Uygulamay\u0131 derleyip \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131zda <a href=\"https:\/\/hornet.rmq.cloudamqp.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">hornet.rmq.cloudamqp.com<\/a> cloud adresine gider ve g\u00f6z atarsak e\u011fer Topic exchange&#8217;in olu\u015fturuldu\u011funu g\u00f6rm\u00fc\u015f olaca\u011f\u0131z.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13901\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-1.jpg\" alt=\"RabbitMQ - Topic Exchange\" width=\"288\" height=\"585\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-1.jpg 288w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange-1-148x300.jpg 148w\" sizes=\"auto, (max-width: 288px) 100vw, 288px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13904\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQ-Topic-Exchange.gif\" alt=\"RabbitMQ - Topic Exchange\" width=\"800\" height=\"425\" \/><\/a><\/p>\n<p>G\u00f6r\u00fcld\u00fc\u011f\u00fc \u00fczere Topic exchange ile belli bir formatta girdi\u011fimiz routing key de\u011ferlerine g\u00f6re mesajlar\u0131m\u0131z kuyruklara yerle\u015ftiriliyor ve ard\u0131ndan &#8216;#&#8217; yahut &#8216;*&#8217; operat\u00f6r\u00fcleri ile yap\u0131lan filtreleme neticesinde uygun kuyru\u011fa ba\u011flanan consumerlar taraf\u0131ndan t\u00fcketiliyor. Gayet g\u00fczel \ud83d\ude42<\/p>\n<p>\u0130lgilenenlerin faydalanmas\u0131 dile\u011fiyle&#8230;<br \/>\nSonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<p>Not : \u00d6rnek uygulamay\u0131 indirmek i\u00e7in <a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/03\/RabbitMQTopicExchangeExample.zip\">buraya<\/a> t\u0131klay\u0131n\u0131z.<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, Bu i\u00e7eri\u011fimizde RabbitMQ&#8217;da \u00e7al\u0131\u015fma mant\u0131\u011f\u0131 belirli bir formata dayal\u0131 sistem \u00fczerine oturtulmu\u015f Topic Exchange&#8217;i inceleyece\u011fiz. Topic Exchange \u0130\u015fleyi\u015fi Nas\u0131ld\u0131r? Topic Exchange&#8217;de at\u0131lan mesajlar\u0131n routing key de\u011feri .(nokta) operat\u00f6r\u00fc kullan\u0131larak formatland\u0131r\u0131lmakta ve bu formattaki&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":13834,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3156],"tags":[3158,3228,3229],"class_list":["post-13830","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rabbitmq","tag-rabbitmq","tag-rabbitmq-topic-exchange","tag-topic-exchange"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/13830","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=13830"}],"version-history":[{"count":69,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/13830\/revisions"}],"predecessor-version":[{"id":13910,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/13830\/revisions\/13910"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/13834"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=13830"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=13830"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=13830"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}