{"id":3805,"date":"2024-11-13T15:30:15","date_gmt":"2024-11-13T12:30:15","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/"},"modified":"2024-11-13T15:30:15","modified_gmt":"2024-11-13T12:30:15","slug":"typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/","title":{"rendered":"TypeScript&#8217;te Pub\/Sub, Cron \u0130\u015fleri ve PostgreSQL ile Tip G\u00fcvenli Olay Odakl\u0131 Uygulamalar Geli\u015ftirme"},"content":{"rendered":"<p>TypeScript&#8217;te Pub\/Sub, Cron \u0130\u015fleri ve PostgreSQL ile Tip G\u00fcvenli Olay Odakl\u0131 Uygulamalar Geli\u015ftirme<\/p>\n<p>G\u00fcn\u00fcm\u00fcz yaz\u0131l\u0131m d\u00fcnyas\u0131nda, uygulamalar\u0131n esnek, \u00f6l\u00e7eklenebilir ve bak\u0131m\u0131 kolay olmas\u0131 giderek daha \u00f6nemli hale geliyor. Olay odakl\u0131 mimari (EDA), bu gereksinimleri kar\u015f\u0131lamak i\u00e7in m\u00fckemmel bir \u00e7\u00f6z\u00fcm sunmaktad\u0131r. EDA, uygulaman\u0131n farkl\u0131 bile\u015fenlerinin birbirleriyle do\u011frudan etkile\u015fime girmek yerine, olaylar\u0131 yay\u0131mlayarak ve abone olarak ileti\u015fim kurmas\u0131n\u0131 sa\u011flar. Bu yakla\u015f\u0131m, uygulamalar\u0131 daha ba\u011f\u0131ms\u0131z, paralel hale getirerek geli\u015ftirilmesini ve s\u00fcrd\u00fcr\u00fclmesini kolayla\u015ft\u0131r\u0131r.<\/p>\n<p>TypeScript, g\u00fc\u00e7l\u00fc tip sistemi ve geni\u015f ekosistemiyle, olay odakl\u0131 uygulamalar geli\u015ftirmek i\u00e7in m\u00fckemmel bir se\u00e7imdir. Bu makalede, TypeScript&#8217;te Pub\/Sub, Cron i\u015fleri ve PostgreSQL kullanarak tip g\u00fcvenli olay odakl\u0131 uygulamalar olu\u015fturma s\u00fcrecini ele alaca\u011f\u0131z.<\/p>\n<h2>Olay Odakl\u0131 Mimari Nedir?<\/h2>\n<p>Olay odakl\u0131 mimari, uygulaman\u0131n farkl\u0131 bile\u015fenlerinin birbirleriyle do\u011frudan etkile\u015fim kurmak yerine, olaylar\u0131 yay\u0131mlayarak ve abone olarak ileti\u015fim kurmas\u0131n\u0131 sa\u011flayan bir mimari modeldir. Bir bile\u015fen bir olay yay\u0131mlar, di\u011fer bile\u015fenler ise bu olaylara abone olur ve bu olaylar \u00fczerine hareket eder.<\/p>\n<p>\u00d6rne\u011fin, bir e-ticaret uygulamas\u0131nda, bir \u00fcr\u00fcn\u00fcn sipari\u015f edilmesi bir olayd\u0131r. Bu olay, stok y\u00f6netimi sistemine, faturalama sistemine ve g\u00f6nderim sistemine yay\u0131mlanabilir. Bu sistemler, olaylar\u0131 abone olarak dinleyerek ilgili i\u015flemleri ger\u00e7ekle\u015ftirir.<\/p>\n<p>EDA&#8217;n\u0131n baz\u0131 avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Esneklik:<\/strong> Uygulaman\u0131n farkl\u0131 bile\u015fenleri ba\u011f\u0131ms\u0131z olarak geli\u015ftirilebilir ve da\u011f\u0131t\u0131labilir.<\/li>\n<li><strong>\u00d6l\u00e7eklenebilirlik:<\/strong> Olaylar, mesaj kuyruklar\u0131 arac\u0131l\u0131\u011f\u0131yla i\u015flenerek y\u00fck da\u011f\u0131l\u0131m\u0131n\u0131 sa\u011flamak i\u00e7in kullan\u0131labilmektedir.<\/li>\n<li><strong>Bak\u0131m Kolayl\u0131\u011f\u0131:<\/strong> Yeni bile\u015fenler, var olan sistemleri etkilemeden eklenebilir.<\/li>\n<li><strong>Geli\u015fmi\u015f G\u00fcvenilirlik:<\/strong> Bir bile\u015fenin ba\u015far\u0131s\u0131z olmas\u0131, di\u011fer bile\u015fenlerin \u00e7al\u0131\u015fmas\u0131n\u0131 etkilemez.<\/li>\n<\/ul>\n<h2>Pub\/Sub Nedir?<\/h2>\n<p>Pub\/Sub (Yay\u0131nla\/Abone ol), olaylar\u0131n yay\u0131nlanmas\u0131n\u0131 ve abone edilmesini sa\u011flayan bir mesajla\u015fma modelidir. Bir yay\u0131mc\u0131, olaylar\u0131 bir mesaj kuyru\u011funa yay\u0131nlar ve abone olanlar, mesajlar\u0131 dinleyerek ilgili i\u015flemleri ger\u00e7ekle\u015ftirir.<\/p>\n<p>Pub\/Sub&#8217;\u0131n baz\u0131 avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Y\u00fcksek Kapasite:<\/strong> B\u00fcy\u00fck miktarda veriyi i\u015fleyebilir.<\/li>\n<li><strong>Kolay Ba\u011flant\u0131:<\/strong> Farkl\u0131 uygulamalar ve platformlar aras\u0131nda ileti\u015fim kurmak i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><strong>Asenkron \u0130leti\u015fim:<\/strong> Yay\u0131mc\u0131 ve abone, ayn\u0131 anda \u00e7al\u0131\u015fmak zorunda de\u011fildir.<\/li>\n<\/ul>\n<h2>Cron \u0130\u015fleri<\/h2>\n<p>Cron i\u015fleri, belirli zamanlarda belirli g\u00f6revleri otomatikle\u015ftirmek i\u00e7in kullan\u0131lan programlard\u0131r. \u00d6rne\u011fin, bir cron i\u015fi, her g\u00fcn gece yar\u0131s\u0131 yedekleri \u00e7al\u0131\u015ft\u0131rmak veya g\u00fcnl\u00fck raporlar olu\u015fturmak i\u00e7in kullan\u0131labilir.<\/p>\n<p>Cron i\u015fleri, olay odakl\u0131 uygulamalar olu\u015fturmak i\u00e7in yararl\u0131d\u0131r. \u00d6rne\u011fin, bir cron i\u015fi, belirli bir zaman aral\u0131\u011f\u0131nda belirli bir olay\u0131n tetiklenmesini sa\u011flayabilir.<\/p>\n<h2>PostgreSQL<\/h2>\n<p>PostgreSQL, g\u00fc\u00e7l\u00fc \u00f6zellikler ve g\u00fcvenilirlikle bilinen bir a\u00e7\u0131k kaynak ili\u015fkisel veritaban\u0131 y\u00f6netim sistemidir (RDBMS) dir. Olay odakl\u0131 uygulamalarda, verileri depolamak ve sorgulamak i\u00e7in kullan\u0131labilmektedir.<\/p>\n<h2>TypeScript&#8217;te Tip G\u00fcvenli Olay Odakl\u0131 Uygulamalar<\/h2>\n<p>TypeScript, g\u00fc\u00e7l\u00fc tip sistemiyle, olay odakl\u0131 uygulamalar\u0131 daha g\u00fcvenli ve bak\u0131m\u0131 kolay hale getirir. TypeScript&#8217;te olaylar, aray\u00fczler ve s\u0131n\u0131flar kullan\u0131larak tan\u0131mlanabilir ve olay i\u015fleyicileri, tip g\u00fcvenli bir \u015fekilde yaz\u0131labilmektedir.<\/p>\n<p>\u00d6rne\u011fin, bir sipari\u015f olu\u015fturma olay\u0131, a\u015fa\u011f\u0131daki gibi TypeScript&#8217;te tan\u0131mlanabilir:<\/p>\n<p>&#8220;`typescript<br \/>\ninterface OrderCreatedEvent {<br \/>\n  orderId: string;<br \/>\n  productId: string;<br \/>\n  quantity: number;<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>Bir olay i\u015fleyicisi, a\u015fa\u011f\u0131daki gibi yaz\u0131labilmektedir:<\/p>\n<p>&#8220;`typescript<br \/>\nfunction handleOrderCreatedEvent(event: OrderCreatedEvent) {<br \/>\n  console.log(`Order ${event.orderId} created for product ${event.productId} with quantity ${event.quantity}`);<br \/>\n}<br \/>\n&#8220;`<\/p>\n<h2>\u00d6rnek Uygulama: Bir E-ticaret Uygulamas\u0131<\/h2>\n<p>Bir e-ticaret uygulamas\u0131n\u0131n nas\u0131l olay odakl\u0131 mimariye g\u00f6re tasarlanabilece\u011fini g\u00f6relim.<\/p>\n<p>Uygulama, a\u015fa\u011f\u0131daki bile\u015fenlerden olu\u015fabilir:<\/p>\n<ul>\n<li><strong>Web Sunucusu:<\/strong> Kullan\u0131c\u0131 aray\u00fcz\u00fcn\u00fc sa\u011flar ve sipari\u015fleri i\u015fler.<\/li>\n<li><strong>Sipari\u015f \u0130\u015fleme Sistemi:<\/strong> Sipari\u015fleri i\u015fler, stoklar\u0131 g\u00fcnceller ve \u00f6demeleri i\u015fler.<\/li>\n<li><strong>G\u00f6nderim Sistemi:<\/strong> Sipari\u015fleri i\u015fler ve takip numaralar\u0131 olu\u015fturur.<\/li>\n<li><strong>E-posta Sistemi:<\/strong> Sipari\u015f onay\u0131 ve g\u00f6nderim bilgisi gibi e-postalar\u0131 g\u00f6nderir.<\/li>\n<\/ul>\n<p>Bu bile\u015fenler, Pub\/Sub kullanarak birbirleriyle ileti\u015fim kurabilir. \u00d6rne\u011fin, bir sipari\u015f olu\u015fturuldu\u011funda, web sunucusu, sipari\u015f olu\u015fturma olay\u0131n\u0131 Pub\/Sub&#8217;a yay\u0131nlayabilir.<\/p>\n<p>Di\u011fer bile\u015fenler, bu olaya abone olabilir ve ilgili i\u015flemleri ger\u00e7ekle\u015ftirebilir. Sipari\u015f i\u015fleme sistemi, stoklar\u0131 g\u00fcnceller ve \u00f6demeleri i\u015fler. G\u00f6nderim sistemi, g\u00f6nderim bilgisi olu\u015fturur ve e-posta sistemi, sipari\u015f onay\u0131 e-postas\u0131 g\u00f6nderir.<\/p>\n<p>Cron i\u015fleri, belirli g\u00f6revleri otomatikle\u015ftirmek i\u00e7in kullan\u0131labilir. \u00d6rne\u011fin, her gece bir cron i\u015fi \u00e7al\u0131\u015ft\u0131r\u0131larak, o g\u00fcn\u00fcn sipari\u015flerinin \u00f6zet raporu olu\u015fturulabilir.<\/p>\n<p>PostgreSQL, uygulaman\u0131n verilerini depolamak ve sorgulamak i\u00e7in kullan\u0131labilir. \u00d6rne\u011fin, sipari\u015fler, \u00fcr\u00fcnler ve m\u00fc\u015fteriler gibi veriler, PostgreSQL veritaban\u0131nda depolanabilir.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>TypeScript, Pub\/Sub, Cron i\u015fleri ve PostgreSQL kullanarak, tip g\u00fcvenli olay odakl\u0131 uygulamalar olu\u015fturabilirsiniz. EDA, uygulamalar\u0131 daha esnek, \u00f6l\u00e7eklenebilir ve bak\u0131m\u0131 kolay hale getirerek, daha h\u0131zl\u0131 ve g\u00fcvenilir yaz\u0131l\u0131m geli\u015ftirmenize yard\u0131mc\u0131 olabilir.<\/p>\n<p>Bu makalenin, TypeScript&#8217;te olay odakl\u0131 uygulamalar geli\u015ftirmeye ba\u015flaman\u0131z i\u00e7in size yard\u0131mc\u0131 olaca\u011f\u0131n\u0131 umuyorum.<\/p>\n<h2>Faydal\u0131 Kaynaklar<\/h2>\n<ul>\n<li><a href=\"https:\/\/dev.to\/encore\/building-type-safe-event-driven-applications-in-typescript-using-pubsub-cron-jobs-and-postgresql-50jc\">Building Type-Safe Event-Driven Applications in TypeScript using Pub\/Sub, Cron Jobs, and PostgreSQL<\/a><\/li>\n<li><a href=\"https:\/\/www.typescriptlang.org\/\">TypeScript<\/a><\/li>\n<li><a href=\"https:\/\/cloud.google.com\/pubsub\">Google Cloud Pub\/Sub<\/a><\/li>\n<li><a href=\"https:\/\/www.postgresql.org\/\">PostgreSQL<\/a><\/li>\n<li><a href=\"https:\/\/fatihsoysal.com\">Fatih Soysal&#8217;\u0131n Web Sitesi<\/a><\/li>\n<\/ul>\n<p>#Etiketler<br \/>\nTypeScript, Olay Odakl\u0131 Mimari, Pub\/Sub, Cron \u0130\u015fleri, PostgreSQL, Tip G\u00fcvenli\u011fi, E-ticaret Uygulamas\u0131, Yaz\u0131l\u0131m Geli\u015ftirme, Mimari, Esneklik, \u00d6l\u00e7eklenebilirlik, Bak\u0131m Kolayl\u0131\u011f\u0131<\/p>\n","protected":false},"excerpt":{"rendered":"TypeScript&#8217;te Pub\/Sub, Cron \u0130\u015fleri ve PostgreSQL ile Tip G\u00fcvenli Olay Odakl\u0131 Uygulamalar Geli\u015ftirme G\u00fcn\u00fcm\u00fcz yaz\u0131l\u0131m d\u00fcnyas\u0131nda, uygulamalar\u0131n esnek,&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-3805","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>TypeScript&#039;te Pub\/Sub, Cron \u0130\u015fleri ve PostgreSQL ile Tip G\u00fcvenli Olay Odakl\u0131 Uygulamalar Geli\u015ftirme<\/title>\n<meta name=\"description\" content=\"G\u00fcn\u00fcm\u00fcz yaz\u0131l\u0131m d\u00fcnyas\u0131nda, uygulamalar\u0131n esnek, \u00f6l\u00e7eklenebilir ve bak\u0131m\u0131 kolay olmas\u0131 giderek daha \u00f6nemli hale geliyor. Olay odakl\u0131 mimari (EDA), bu gereksinimleri kar\u015f\u0131lamak i\u00e7in m\u00fckemmel bir \u00e7\u00f6z\u00fcm sunmaktad\u0131r. EDA, uygulaman\u0131n farkl\u0131 bile\u015fenlerinin birbirleriyle do\u011frudan etkile\u015fime girmek yerine, olaylar\u0131 yay\u0131mlayarak ve abone olarak ileti\u015fim kurmas\u0131n\u0131 sa\u011flar. Bu yakla\u015f\u0131m, uygulamalar\u0131 daha ba\u011f\u0131ms\u0131z, paralel hale getirerek geli\u015ftirilmesini ve s\u00fcrd\u00fcr\u00fclmesini kolayla\u015ft\u0131r\u0131r.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TypeScript&#039;te Pub\/Sub, Cron \u0130\u015fleri ve PostgreSQL ile Tip G\u00fcvenli Olay Odakl\u0131 Uygulamalar Geli\u015ftirme\" \/>\n<meta property=\"og:description\" content=\"G\u00fcn\u00fcm\u00fcz yaz\u0131l\u0131m d\u00fcnyas\u0131nda, uygulamalar\u0131n esnek, \u00f6l\u00e7eklenebilir ve bak\u0131m\u0131 kolay olmas\u0131 giderek daha \u00f6nemli hale geliyor. Olay odakl\u0131 mimari (EDA), bu gereksinimleri kar\u015f\u0131lamak i\u00e7in m\u00fckemmel bir \u00e7\u00f6z\u00fcm sunmaktad\u0131r. EDA, uygulaman\u0131n farkl\u0131 bile\u015fenlerinin birbirleriyle do\u011frudan etkile\u015fime girmek yerine, olaylar\u0131 yay\u0131mlayarak ve abone olarak ileti\u015fim kurmas\u0131n\u0131 sa\u011flar. Bu yakla\u015f\u0131m, uygulamalar\u0131 daha ba\u011f\u0131ms\u0131z, paralel hale getirerek geli\u015ftirilmesini ve s\u00fcrd\u00fcr\u00fclmesini kolayla\u015ft\u0131r\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-13T12:30:15+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"TypeScript&#8217;te Pub\/Sub, Cron \u0130\u015fleri ve PostgreSQL ile Tip G\u00fcvenli Olay Odakl\u0131 Uygulamalar Geli\u015ftirme\",\"datePublished\":\"2024-11-13T12:30:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/\"},\"wordCount\":973,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/#respond\"]}],\"copyrightYear\":\"2024\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/\",\"name\":\"TypeScript'te Pub\/Sub, Cron \u0130\u015fleri ve PostgreSQL ile Tip G\u00fcvenli Olay Odakl\u0131 Uygulamalar Geli\u015ftirme\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2024-11-13T12:30:15+00:00\",\"description\":\"G\u00fcn\u00fcm\u00fcz yaz\u0131l\u0131m d\u00fcnyas\u0131nda, uygulamalar\u0131n esnek, \u00f6l\u00e7eklenebilir ve bak\u0131m\u0131 kolay olmas\u0131 giderek daha \u00f6nemli hale geliyor. Olay odakl\u0131 mimari (EDA), bu gereksinimleri kar\u015f\u0131lamak i\u00e7in m\u00fckemmel bir \u00e7\u00f6z\u00fcm sunmaktad\u0131r. EDA, uygulaman\u0131n farkl\u0131 bile\u015fenlerinin birbirleriyle do\u011frudan etkile\u015fime girmek yerine, olaylar\u0131 yay\u0131mlayarak ve abone olarak ileti\u015fim kurmas\u0131n\u0131 sa\u011flar. Bu yakla\u015f\u0131m, uygulamalar\u0131 daha ba\u011f\u0131ms\u0131z, paralel hale getirerek geli\u015ftirilmesini ve s\u00fcrd\u00fcr\u00fclmesini kolayla\u015ft\u0131r\u0131r.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TypeScript&#8217;te Pub\/Sub, Cron \u0130\u015fleri ve PostgreSQL ile Tip G\u00fcvenli Olay Odakl\u0131 Uygulamalar Geli\u015ftirme\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"TypeScript'te Pub\/Sub, Cron \u0130\u015fleri ve PostgreSQL ile Tip G\u00fcvenli Olay Odakl\u0131 Uygulamalar Geli\u015ftirme","description":"G\u00fcn\u00fcm\u00fcz yaz\u0131l\u0131m d\u00fcnyas\u0131nda, uygulamalar\u0131n esnek, \u00f6l\u00e7eklenebilir ve bak\u0131m\u0131 kolay olmas\u0131 giderek daha \u00f6nemli hale geliyor. Olay odakl\u0131 mimari (EDA), bu gereksinimleri kar\u015f\u0131lamak i\u00e7in m\u00fckemmel bir \u00e7\u00f6z\u00fcm sunmaktad\u0131r. EDA, uygulaman\u0131n farkl\u0131 bile\u015fenlerinin birbirleriyle do\u011frudan etkile\u015fime girmek yerine, olaylar\u0131 yay\u0131mlayarak ve abone olarak ileti\u015fim kurmas\u0131n\u0131 sa\u011flar. Bu yakla\u015f\u0131m, uygulamalar\u0131 daha ba\u011f\u0131ms\u0131z, paralel hale getirerek geli\u015ftirilmesini ve s\u00fcrd\u00fcr\u00fclmesini kolayla\u015ft\u0131r\u0131r.","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:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/","og_locale":"tr_TR","og_type":"article","og_title":"TypeScript'te Pub\/Sub, Cron \u0130\u015fleri ve PostgreSQL ile Tip G\u00fcvenli Olay Odakl\u0131 Uygulamalar Geli\u015ftirme","og_description":"G\u00fcn\u00fcm\u00fcz yaz\u0131l\u0131m d\u00fcnyas\u0131nda, uygulamalar\u0131n esnek, \u00f6l\u00e7eklenebilir ve bak\u0131m\u0131 kolay olmas\u0131 giderek daha \u00f6nemli hale geliyor. Olay odakl\u0131 mimari (EDA), bu gereksinimleri kar\u015f\u0131lamak i\u00e7in m\u00fckemmel bir \u00e7\u00f6z\u00fcm sunmaktad\u0131r. EDA, uygulaman\u0131n farkl\u0131 bile\u015fenlerinin birbirleriyle do\u011frudan etkile\u015fime girmek yerine, olaylar\u0131 yay\u0131mlayarak ve abone olarak ileti\u015fim kurmas\u0131n\u0131 sa\u011flar. Bu yakla\u015f\u0131m, uygulamalar\u0131 daha ba\u011f\u0131ms\u0131z, paralel hale getirerek geli\u015ftirilmesini ve s\u00fcrd\u00fcr\u00fclmesini kolayla\u015ft\u0131r\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2024-11-13T12:30:15+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"5 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"TypeScript&#8217;te Pub\/Sub, Cron \u0130\u015fleri ve PostgreSQL ile Tip G\u00fcvenli Olay Odakl\u0131 Uygulamalar Geli\u015ftirme","datePublished":"2024-11-13T12:30:15+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/"},"wordCount":973,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/#respond"]}],"copyrightYear":"2024","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/","url":"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/","name":"TypeScript'te Pub\/Sub, Cron \u0130\u015fleri ve PostgreSQL ile Tip G\u00fcvenli Olay Odakl\u0131 Uygulamalar Geli\u015ftirme","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2024-11-13T12:30:15+00:00","description":"G\u00fcn\u00fcm\u00fcz yaz\u0131l\u0131m d\u00fcnyas\u0131nda, uygulamalar\u0131n esnek, \u00f6l\u00e7eklenebilir ve bak\u0131m\u0131 kolay olmas\u0131 giderek daha \u00f6nemli hale geliyor. Olay odakl\u0131 mimari (EDA), bu gereksinimleri kar\u015f\u0131lamak i\u00e7in m\u00fckemmel bir \u00e7\u00f6z\u00fcm sunmaktad\u0131r. EDA, uygulaman\u0131n farkl\u0131 bile\u015fenlerinin birbirleriyle do\u011frudan etkile\u015fime girmek yerine, olaylar\u0131 yay\u0131mlayarak ve abone olarak ileti\u015fim kurmas\u0131n\u0131 sa\u011flar. Bu yakla\u015f\u0131m, uygulamalar\u0131 daha ba\u011f\u0131ms\u0131z, paralel hale getirerek geli\u015ftirilmesini ve s\u00fcrd\u00fcr\u00fclmesini kolayla\u015ft\u0131r\u0131r.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/typescriptte-pub-sub-cron-isleri-ve-postgresql-ile-tip-guvenli-olay-odakli-uygulamalar-gelistirme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"TypeScript&#8217;te Pub\/Sub, Cron \u0130\u015fleri ve PostgreSQL ile Tip G\u00fcvenli Olay Odakl\u0131 Uygulamalar Geli\u015ftirme"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/3805","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=3805"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/3805\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=3805"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=3805"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=3805"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}