From 35663f12b0ca52f7ffc5e8f07b831764332b0798 Mon Sep 17 00:00:00 2001 From: John Ewart Date: Wed, 14 Dec 2022 11:43:26 -0800 Subject: [PATCH] Split servicebus component into three separate components and add a fourth 'glacial' topic that gets used once every 12 hours (#157) Signed-off-by: John Ewart Signed-off-by: John Ewart --- longhaul-test/azure-service-bus-pubsub.yml | 56 ++++++++++++++++++- .../Controllers/PubsubController.cs | 16 +++++- pubsub-workflow/Program.cs | 14 +++-- 3 files changed, 77 insertions(+), 9 deletions(-) diff --git a/longhaul-test/azure-service-bus-pubsub.yml b/longhaul-test/azure-service-bus-pubsub.yml index b4114563..1b583792 100644 --- a/longhaul-test/azure-service-bus-pubsub.yml +++ b/longhaul-test/azure-service-bus-pubsub.yml @@ -6,7 +6,7 @@ apiVersion: dapr.io/v1alpha1 kind: Component metadata: - name: longhaul-sb + name: longhaul-sb-rapid namespace: longhaul-test spec: type: pubsub.azure.servicebus @@ -17,4 +17,56 @@ spec: name: sb-conn key: sb-conn auth: - secretStore: longhaul-kv \ No newline at end of file + secretStore: longhaul-kv + +--- +apiVersion: dapr.io/v1alpha1 +kind: Component +metadata: + name: longhaul-sb-medium + namespace: longhaul-test +spec: + type: pubsub.azure.servicebus + version: v1 + metadata: + - name: connectionString + secretKeyRef: + name: sb-conn + key: sb-conn +auth: + secretStore: longhaul-kv + +--- +apiVersion: dapr.io/v1alpha1 +kind: Component +metadata: + name: longhaul-sb-slow + namespace: longhaul-test +spec: + type: pubsub.azure.servicebus + version: v1 + metadata: + - name: connectionString + secretKeyRef: + name: sb-conn + key: sb-conn +auth: + secretStore: longhaul-kv + +--- +apiVersion: dapr.io/v1alpha1 +kind: Component +metadata: + name: longhaul-sb-glacial + namespace: longhaul-test +spec: + type: pubsub.azure.servicebus + version: v1 + metadata: + - name: connectionString + secretKeyRef: + name: sb-conn + key: sb-conn +auth: + secretStore: longhaul-kv + diff --git a/pubsub-workflow/Controllers/PubsubController.cs b/pubsub-workflow/Controllers/PubsubController.cs index 8974eea2..980e530d 100644 --- a/pubsub-workflow/Controllers/PubsubController.cs +++ b/pubsub-workflow/Controllers/PubsubController.cs @@ -17,8 +17,9 @@ public class PubsubController : ControllerBase internal static DateTime lastRapidCall = DateTime.Now; internal static DateTime lastMediumCall = DateTime.Now; internal static DateTime lastSlowCall = DateTime.Now; + internal static DateTime lastGlacialCall = DateTime.Now; - [Topic("longhaul-sb", "rapidtopic")] + [Topic("longhaul-sb-rapid", "rapidtopic")] [HttpPost("rapidMessage")] public IActionResult RapidMessageHandler() { var lastHit = lastRapidCall; @@ -27,7 +28,7 @@ public IActionResult RapidMessageHandler() { return Ok(); } - [Topic("longhaul-sb", "mediumtopic")] + [Topic("longhaul-sb-medium", "mediumtopic")] [HttpPost("mediumMessage")] public IActionResult MediumMessageHandler() { var lastHit = lastMediumCall; @@ -36,7 +37,7 @@ public IActionResult MediumMessageHandler() { return Ok(); } - [Topic("longhaul-sb", "slowtopic")] + [Topic("longhaul-sb-slow", "slowtopic")] [HttpPost("slowMessage")] public IActionResult SlowMessageHandler() { var lastHit = lastSlowCall; @@ -44,5 +45,14 @@ public IActionResult SlowMessageHandler() { Console.WriteLine($"Slow subscription hit at {lastSlowCall}, previous hit at {lastHit}"); return Ok(); } + + [Topic("longhaul-sb-glacial", "glacialtopic")] + [HttpPost("glacialMessage")] + public IActionResult GlacialMessageHandler() { + var lastHit = lastGlacialCall; + lastGlacialCall = DateTime.Now; + Console.WriteLine($"Glacial subscription hit at {lastGlacialCall}, previous hit at {lastHit}"); + return Ok(); + } } } \ No newline at end of file diff --git a/pubsub-workflow/Program.cs b/pubsub-workflow/Program.cs index 40f82b59..8a432f4a 100644 --- a/pubsub-workflow/Program.cs +++ b/pubsub-workflow/Program.cs @@ -16,9 +16,13 @@ namespace PubsubWorkflow { + class PubsubWorkflow { - private static string pubsubName = "longhaul-sb"; + private static string rapidPubsubName = "longhaul-sb-rapid"; + private static string mediumPubsubName = "longhaul-sb-medium"; + private static string slowPubsubName = "longhaul-sb-slow"; + private static string glacialPubsubName = "longhaul-sb-glacial"; static void Main(string[] args) { @@ -29,9 +33,10 @@ static void Main(string[] args) var host = CreateHostBuilder(args).Build(); - var rapidTimer = StartPublishingMessages(10, pubsubName, "rapidtopic"); - var mediumTimer = StartPublishingMessages(300, pubsubName, "mediumtopic"); - var slowTimer = StartPublishingMessages(3600, pubsubName, "slowtopic"); + var rapidTimer = StartPublishingMessages(10, rapidPubsubName, "rapidtopic"); + var mediumTimer = StartPublishingMessages(300, mediumPubsubName, "mediumtopic"); + var slowTimer = StartPublishingMessages(3600, slowPubsubName, "slowtopic"); + var glacialTimer = StartPublishingMessages(3600*12, glacialPubsubName, "glacialtopic"); host.Run(); @@ -40,6 +45,7 @@ static void Main(string[] args) rapidTimer.Dispose(); mediumTimer.Dispose(); slowTimer.Dispose(); + glacialTimer.Dispose(); } public static IHostBuilder CreateHostBuilder(string[] args) =>