{"id":472,"date":"2024-12-01T23:39:13","date_gmt":"2024-12-01T22:39:13","guid":{"rendered":"https:\/\/www.systemdeveloper.nl\/tech\/?p=472"},"modified":"2024-12-01T23:48:35","modified_gmt":"2024-12-01T22:48:35","slug":"behind-the-scenes-delivering-real-time-news-to-apps","status":"publish","type":"post","link":"https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/","title":{"rendered":"Behind the Scenes: Delivering Real-Time News to Apps"},"content":{"rendered":"<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">In today&rsquo;s fast-paced digital world, delivering news in real-time has become a fundamental expectation for users. This is especially true in the context of sports apps, where up-to-the-minute updates can make or break the user experience. But what does it take to build and maintain a system capable of delivering seamless news updates, push notifications, and personalized experiences to both iPhone and Android apps?<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">This blog takes you behind the scenes of a recent project where we tackled this challenge head-on. From implementing AI-powered tagging to managing a distributed API capable of handling 100K+ requests per hour, here&rsquo;s how we approached the complexities of delivering real-time news at scale.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h4 class=\"wp-block-heading\" id=\"step-1-enhancing-the-editorial-process-with-ner\"><strong>Step 1: Enhancing the Editorial Process with NER<\/strong><\/h4>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Before news even reaches the database, the editorial process ensures that every article is enriched with metadata and tags. To achieve this, we developed a&nbsp;<strong>NER (Named Entity Recognition) API<\/strong>&nbsp;that scans articles in real-time as editors work on them. The API identifies:<\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Player and team names.<\/li>\n\n\n\n<li>Locations and places.<\/li>\n\n\n\n<li>Relevant entities like competitions or clubs.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">With a simple click, editors can select accurate tags, often better than they might choose manually. This system not only accelerates the tagging process but also ensures uniformity. Additionally, tags can automatically link players, teams, or competitions to detailed pages in the apps, creating a richer user experience.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h4 class=\"wp-block-heading\" id=\"step-2-from-publication-to-website\"><strong>Step 2: From Publication to Website<\/strong><\/h4>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Once an article is ready, it enters the&nbsp;<strong>Galera database cluster<\/strong>. Galera&rsquo;s high availability ensures that articles are redundantly stored and immediately accessible. A cluster of web servers behind load balancers retrieves these articles and displays them on the website.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">However, the story doesn&rsquo;t stop at the website. The same information must also be prepared for distribution to iPhone and Android apps, requiring a separate, high-performance API.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h4 class=\"wp-block-heading\" id=\"step-3-building-a-high-performance-api\"><strong>Step 3: Building a High-Performance API<\/strong><\/h4>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Developing an API to handle news delivery and push notifications comes with its own set of challenges:<\/p>\n\n\n<ol class=\"wp-block-list wp-block-list\">\n<li>\n<strong>High Request Volume<\/strong>: <br>With apps supporting push notifications for many teams and many thousands users consuming news in real-time, the API had to handle&nbsp;<strong>100K+ requests per hour<\/strong>.<\/li>\n\n\n\n<li>\n<strong>Efficient Query Design<\/strong>: <br>Every SQL query needed careful thought. A single inefficient query could multiply into millions of extra requests, significantly impacting performance and costs.<\/li>\n\n\n\n<li>\n<strong>Caching for Scalability<\/strong>: <br>To balance speed and efficiency, we implemented a&nbsp;<strong>Redis cache<\/strong>, where each web server is part of a Redis cluster. This ensures scalability, redundancy, and local access to cached data. Cache times are fine-tuned based on the freshness requirements of different data types.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h4 class=\"wp-block-heading\" id=\"step-4-monitoring-and-fine-tuning\"><strong>Step 4: Monitoring and Fine-Tuning<\/strong><\/h4>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Building a scalable API isn&rsquo;t just about coding&mdash;it&rsquo;s about anticipating and mitigating issues during live operations. This is where monitoring played a crucial role:<\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>\n<strong>Error Tracking<\/strong>: <br>Using tools like Grafana and our monitoring system, we tracked critical metrics such as&nbsp;<code>404<\/code>&nbsp;and&nbsp;<code>503<\/code>&nbsp;HTTP error rates and monitored for full message queues.<\/li>\n\n\n\n<li>\n<strong>Queue Monitoring<\/strong>: <br>Our monitoring system counted records in queues every minute, providing insights into potential bottlenecks before they became critical.<\/li>\n\n\n\n<li>\n<strong>Load Testing<\/strong>: <br>Extensive testing ensured the system could handle peak traffic without failures. This included tuning Galera&rsquo;s optimistic locking to minimize deadlocks under high concurrency and experimenting with techniques like splitting counters into 100 buckets to avoid bottlenecks.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h4 class=\"wp-block-heading\" id=\"step-5-real-time-push-notifications\"><strong>Step 5: Real-Time Push Notifications<\/strong><\/h4>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">With the API in place, the next challenge was delivering push notifications. We integrated&nbsp;<strong>Firebase Cloud Messaging (FCM)<\/strong>&nbsp;to manage push subscriptions for teams and ensure notifications reached users instantly. This system:<\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Processed&nbsp;<strong>800-2000 registrations and subscriptions per minute<\/strong>&nbsp;without any errors post-deployment.<\/li>\n\n\n\n<li>Allowed users to subscribe to specific team notifications, ensuring personalized updates.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h4 class=\"wp-block-heading\" id=\"step-6-deployment-and-results\"><strong>Step 6: Deployment and Results<\/strong><\/h4>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Deploying such a complex system always comes with risks. Despite the potential for errors, the system went live with only one minor hiccup&mdash;a few images failed to load initially. Other than that, the launch was flawless. The system now seamlessly delivers real-time news to apps, handles push notifications efficiently, and scales effortlessly to meet growing demand.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h4 class=\"wp-block-heading\" id=\"lessons-learned\"><strong>Lessons Learned<\/strong><\/h4>\n\n\n<ol class=\"wp-block-list wp-block-list\">\n<li>\n<strong>Efficiency is Everything<\/strong>: <br>Building an API for high traffic requires meticulous query design, caching strategies, and concurrency handling.<\/li>\n\n\n\n<li>\n<strong>Monitoring Saves the Day<\/strong>: <br>Real-time monitoring and visualization through Grafana provided critical insights during deployment and beyond.<\/li>\n\n\n\n<li>\n<strong>Iterate and Experiment<\/strong>: <br>Solutions like splitting counters into buckets or fine-tuning cache times only emerged after extensive testing and experimentation.<\/li>\n\n\n\n<li>\n<strong>AI Can Simplify the Complex<\/strong>: <br>The NER API demonstrated how AI tools can make editorial processes faster, more accurate, and more uniform.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h4 class=\"wp-block-heading\" id=\"looking-ahead\"><strong>Looking Ahead<\/strong><\/h4>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">This project was a prime example of how back-end infrastructure, APIs, and front-end interfaces must work in harmony to deliver exceptional user experiences. Moving forward, we plan to:<\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Explore more advanced caching strategies.<\/li>\n\n\n\n<li>Enhance push notifications with real-time analytics.<\/li>\n\n\n\n<li>Integrate more AI-driven features to personalize content delivery further.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Delivering real-time news to apps might seem simple to the end user, but as this story shows, it&rsquo;s a symphony of carefully orchestrated systems and processes.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In today&rsquo;s fast-paced digital world, delivering news in real-time has become a fundamental expectation for users. This is especially true in the context of sports apps, where up-to-the-minute updates can make or break the user experience. But what does it take to build and maintain a system capable of delivering seamless news updates, push notifications, &hellip;<\/p>\n","protected":false},"author":1,"featured_media":473,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43,16],"tags":[25,17,37,27],"class_list":["post-472","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chit-chat","category-tech-innovation","tag-high-available","tag-machine-learning","tag-monitoring","tag-redundancy"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Behind the Scenes: Delivering Real-Time News to Apps - SystemDeveloper.NL<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Behind the Scenes: Delivering Real-Time News to Apps - SystemDeveloper.NL\" \/>\n<meta property=\"og:description\" content=\"In today&rsquo;s fast-paced digital world, delivering news in real-time has become a fundamental expectation for users. This is especially true in the context of sports apps, where up-to-the-minute updates can make or break the user experience. But what does it take to build and maintain a system capable of delivering seamless news updates, push notifications, &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/\" \/>\n<meta property=\"og:site_name\" content=\"SystemDeveloper.NL\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/quan.tora.16\" \/>\n<meta property=\"article:published_time\" content=\"2024-12-01T22:39:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-01T22:48:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/12\/07b2c427-3ee3-45ba-915c-ae282bd118ce-e1733092742777.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"John Timmer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"John Timmer\" \/>\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:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/behind-the-scenes-delivering-real-time-news-to-apps\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/behind-the-scenes-delivering-real-time-news-to-apps\\\/\"},\"author\":{\"name\":\"John Timmer\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#\\\/schema\\\/person\\\/5760c2ed5300c56d8ef01dfb00a9763b\"},\"headline\":\"Behind the Scenes: Delivering Real-Time News to Apps\",\"datePublished\":\"2024-12-01T22:39:13+00:00\",\"dateModified\":\"2024-12-01T22:48:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/behind-the-scenes-delivering-real-time-news-to-apps\\\/\"},\"wordCount\":826,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/behind-the-scenes-delivering-real-time-news-to-apps\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/07b2c427-3ee3-45ba-915c-ae282bd118ce-e1733092742777.webp\",\"keywords\":[\"High Available\",\"Machine Learning\",\"Monitoring\",\"Redundancy\"],\"articleSection\":[\"Chit Chat\",\"Tech Innovation\"],\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/behind-the-scenes-delivering-real-time-news-to-apps\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/behind-the-scenes-delivering-real-time-news-to-apps\\\/\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/behind-the-scenes-delivering-real-time-news-to-apps\\\/\",\"name\":\"Behind the Scenes: Delivering Real-Time News to Apps - SystemDeveloper.NL\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/behind-the-scenes-delivering-real-time-news-to-apps\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/behind-the-scenes-delivering-real-time-news-to-apps\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/07b2c427-3ee3-45ba-915c-ae282bd118ce-e1733092742777.webp\",\"datePublished\":\"2024-12-01T22:39:13+00:00\",\"dateModified\":\"2024-12-01T22:48:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/behind-the-scenes-delivering-real-time-news-to-apps\\\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/behind-the-scenes-delivering-real-time-news-to-apps\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/behind-the-scenes-delivering-real-time-news-to-apps\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/07b2c427-3ee3-45ba-915c-ae282bd118ce-e1733092742777.webp\",\"contentUrl\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/07b2c427-3ee3-45ba-915c-ae282bd118ce-e1733092742777.webp\",\"width\":1024,\"height\":768},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/behind-the-scenes-delivering-real-time-news-to-apps\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Behind the Scenes: Delivering Real-Time News to Apps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#website\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/\",\"name\":\"www.systemdeveloper.nl\",\"description\":\"NextGen IT\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#organization\",\"name\":\"www.systemdeveloper.nl\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/qt-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/qt-logo.png\",\"width\":1346,\"height\":1230,\"caption\":\"www.systemdeveloper.nl\"},\"image\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/quan.tora.16\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#\\\/schema\\\/person\\\/5760c2ed5300c56d8ef01dfb00a9763b\",\"name\":\"John Timmer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg\",\"caption\":\"John Timmer\"},\"sameAs\":[\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\"],\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Behind the Scenes: Delivering Real-Time News to Apps - SystemDeveloper.NL","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:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/","og_locale":"en_US","og_type":"article","og_title":"Behind the Scenes: Delivering Real-Time News to Apps - SystemDeveloper.NL","og_description":"In today&rsquo;s fast-paced digital world, delivering news in real-time has become a fundamental expectation for users. This is especially true in the context of sports apps, where up-to-the-minute updates can make or break the user experience. But what does it take to build and maintain a system capable of delivering seamless news updates, push notifications, &hellip;","og_url":"https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/","og_site_name":"SystemDeveloper.NL","article_publisher":"https:\/\/www.facebook.com\/quan.tora.16","article_published_time":"2024-12-01T22:39:13+00:00","article_modified_time":"2024-12-01T22:48:35+00:00","og_image":[{"width":1024,"height":768,"url":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/12\/07b2c427-3ee3-45ba-915c-ae282bd118ce-e1733092742777.webp","type":"image\/webp"}],"author":"John Timmer","twitter_card":"summary_large_image","twitter_misc":{"Written by":"John Timmer","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/#article","isPartOf":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/"},"author":{"name":"John Timmer","@id":"https:\/\/www.systemdeveloper.nl\/tech\/#\/schema\/person\/5760c2ed5300c56d8ef01dfb00a9763b"},"headline":"Behind the Scenes: Delivering Real-Time News to Apps","datePublished":"2024-12-01T22:39:13+00:00","dateModified":"2024-12-01T22:48:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/"},"wordCount":826,"commentCount":0,"publisher":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/#organization"},"image":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/#primaryimage"},"thumbnailUrl":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/12\/07b2c427-3ee3-45ba-915c-ae282bd118ce-e1733092742777.webp","keywords":["High Available","Machine Learning","Monitoring","Redundancy"],"articleSection":["Chit Chat","Tech Innovation"],"inLanguage":"en","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/","url":"https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/","name":"Behind the Scenes: Delivering Real-Time News to Apps - SystemDeveloper.NL","isPartOf":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/#primaryimage"},"image":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/#primaryimage"},"thumbnailUrl":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/12\/07b2c427-3ee3-45ba-915c-ae282bd118ce-e1733092742777.webp","datePublished":"2024-12-01T22:39:13+00:00","dateModified":"2024-12-01T22:48:35+00:00","breadcrumb":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/"]}]},{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/#primaryimage","url":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/12\/07b2c427-3ee3-45ba-915c-ae282bd118ce-e1733092742777.webp","contentUrl":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/12\/07b2c427-3ee3-45ba-915c-ae282bd118ce-e1733092742777.webp","width":1024,"height":768},{"@type":"BreadcrumbList","@id":"https:\/\/www.systemdeveloper.nl\/tech\/behind-the-scenes-delivering-real-time-news-to-apps\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.systemdeveloper.nl\/tech\/"},{"@type":"ListItem","position":2,"name":"Behind the Scenes: Delivering Real-Time News to Apps"}]},{"@type":"WebSite","@id":"https:\/\/www.systemdeveloper.nl\/tech\/#website","url":"https:\/\/www.systemdeveloper.nl\/tech\/","name":"www.systemdeveloper.nl","description":"NextGen IT","publisher":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.systemdeveloper.nl\/tech\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Organization","@id":"https:\/\/www.systemdeveloper.nl\/tech\/#organization","name":"www.systemdeveloper.nl","url":"https:\/\/www.systemdeveloper.nl\/tech\/","logo":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/www.systemdeveloper.nl\/tech\/#\/schema\/logo\/image\/","url":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/11\/qt-logo.png","contentUrl":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/11\/qt-logo.png","width":1346,"height":1230,"caption":"www.systemdeveloper.nl"},"image":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/quan.tora.16"]},{"@type":"Person","@id":"https:\/\/www.systemdeveloper.nl\/tech\/#\/schema\/person\/5760c2ed5300c56d8ef01dfb00a9763b","name":"John Timmer","image":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/11\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg","url":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/11\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg","contentUrl":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/11\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg","caption":"John Timmer"},"sameAs":["https:\/\/www.systemdeveloper.nl\/tech"],"url":"https:\/\/www.systemdeveloper.nl\/tech\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/posts\/472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/comments?post=472"}],"version-history":[{"count":2,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/posts\/472\/revisions"}],"predecessor-version":[{"id":477,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/posts\/472\/revisions\/477"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/media\/473"}],"wp:attachment":[{"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/media?parent=472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/categories?post=472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/tags?post=472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}