title: How to apply seperation in one service for multiple tasks?
body: <p>I have a service method that does so many things.</p>
  <pre><code>public Result DoSomething(){
      var queryResult = service.GetResult();
      
      SaveResultToRedis(queryResult);
      logger.Log($&quot;this data saved in redis successfully {queryResult.Id}&quot;);
      
      AddSomethingToKafka(queryResult);
      logger.Log($&quot;this data saved in kafka successfully {queryResult.Id}&quot;);
      
      logger.Log($&quot;this data response is success {queryResult.Id}&quot;);
  }
  </code></pre>
  <p>In this stuation,</p>
  <ul>
  <li>if redis or kafka fails, the request response will fail.</li>
  <li>if logger service fails, the request response will fail.</li>
  <li>if I put all logics in try catch blocks, code will appear so bad.</li>
  </ul>
  <p>Which way may apply in this stuations? Is there any design pattern approaches or else?</p>