jeudi 28 avril 2022

How to apply seperation in one service for multiple tasks?

I have a service method that does so many things.

public Result DoSomething(){
    var queryResult = service.GetResult();
    
    SaveResultToRedis(queryResult);
    logger.Log($"this data saved in redis successfully {queryResult.Id}");
    
    AddSomethingToKafka(queryResult);
    logger.Log($"this data saved in kafka successfully {queryResult.Id}");
    
    logger.Log($"this data response is success {queryResult.Id}");
}

In this stuation,

  • if redis or kafka fails, the request response will fail.
  • if logger service fails, the request response will fail.
  • if I put all logics in try catch blocks, code will appear so bad.

Which way may apply in this stuations? Is there any design pattern approaches or else?

Aucun commentaire:

Enregistrer un commentaire