Click here to Skip to main content
15,843,728 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
GeneralRe: Thoughts on Internationalization Pin
trønderen26-Oct-23 8:36
trønderen26-Oct-23 8:36 
AnswerRe: Thoughts on Internationalization Pin
Gerry Schmitz24-Oct-23 8:07
mveGerry Schmitz24-Oct-23 8:07 
AnswerRe: Thoughts on Internationalization Pin
jschell24-Oct-23 8:34
jschell24-Oct-23 8:34 
QuestionVLC Media Player Replacement Requirement Pin
Kevin Marois20-Oct-23 9:44
professionalKevin Marois20-Oct-23 9:44 
QuestionThoughts On Handling Exceptions in This App Pin
Kevin Marois3-Oct-23 16:16
professionalKevin Marois3-Oct-23 16:16 
AnswerRe: Thoughts On Handling Exceptions in This App Pin
Gerry Schmitz3-Oct-23 16:51
mveGerry Schmitz3-Oct-23 16:51 
AnswerRe: Thoughts On Handling Exceptions in This App Pin
Richard Deeming3-Oct-23 22:35
mveRichard Deeming3-Oct-23 22:35 
AnswerRe: Thoughts On Handling Exceptions in This App Pin
jschell4-Oct-23 5:41
jschell4-Oct-23 5:41 
It is an external server. One should always design and code with the expectation that external calls will fail.

They can fail for the following known intermittent reasons.
1. The server is down
2. The network is having issues.

They can fail repeatedly for following reasons.
1. Something is incorrectly configured.
2. Your code is not correctly setting up the call. (Credentials, wrong message, invalid message, etc.)

There can be processing issues
1. The server never responds
2. The server takes too long (a timeout is exceeded.)
3. The server has an internal error and returns an error code.
4. The server returns an error code that suggests a retry is possible.
5. The server returns an error code that suggests a retry is not possible.

There can be other known/unknown reasons not in the lists above.

You can choose to implement a retry strategy but that can only work for some of the cases above.

The problem with retry strategies is the following
1. Are there situations where it must not be retried? For example if you just attempted to update the inventory by removing (data) 10 items do you want to keep retrying that again and again for every possible error? That could be a problem if the server is in fact succeeding (the 10 were removed) but then fails when attempting to format a correct response back to you.
2. Are there situations where it will never work so retries are pointless?

One must also evaluate what retry strategies can do to the entire enterprise. For example if simple retries are in place and there is a chain of 5 services that keep retrying (service A retries B which retries C etc) what happens to the original caller while they wait?

Even more complicated what happens with timeouts? If service B has three retries at 90 seconds each and service A also looks for timeouts then a single call to B would require a minimum timeout of 270 seconds in A. And B would need 3 of those. Presuming of course that A even knows that B is using a timeout like that.
AnswerRe: Thoughts On Handling Exceptions in This App Pin
trønderen4-Oct-23 10:21
trønderen4-Oct-23 10:21 
QuestionContainer orchestration with primary and secondary failover Pin
pkaelin18-Sep-23 10:47
pkaelin18-Sep-23 10:47 
AnswerRe: Container orchestration with primary and secondary failover Pin
Gerry Schmitz19-Sep-23 18:17
mveGerry Schmitz19-Sep-23 18:17 
QuestionNot Sure How To Make This Change Pin
Kevin Marois11-Sep-23 12:04
professionalKevin Marois11-Sep-23 12:04 
AnswerRe: Not Sure How To Make This Change Pin
Mycroft Holmes11-Sep-23 13:01
professionalMycroft Holmes11-Sep-23 13:01 
GeneralRe: Not Sure How To Make This Change Pin
Kevin Marois11-Sep-23 14:07
professionalKevin Marois11-Sep-23 14:07 
AnswerRe: Not Sure How To Make This Change Pin
Richard Deeming11-Sep-23 22:49
mveRichard Deeming11-Sep-23 22:49 
AnswerRe: Not Sure How To Make This Change Pin
jschell12-Sep-23 5:51
jschell12-Sep-23 5:51 
AnswerRe: Not Sure How To Make This Change Pin
Gerry Schmitz12-Sep-23 6:06
mveGerry Schmitz12-Sep-23 6:06 
QuestionWhere To Store Configuration File for This App Pin
Kevin Marois6-Sep-23 13:45
professionalKevin Marois6-Sep-23 13:45 
AnswerRe: Where To Store Configuration File for This App Pin
Gerry Schmitz6-Sep-23 20:33
mveGerry Schmitz6-Sep-23 20:33 
GeneralRe: Where To Store Configuration File for This App Pin
Kevin Marois7-Sep-23 6:26
professionalKevin Marois7-Sep-23 6:26 
GeneralRe: Where To Store Configuration File for This App Pin
Gerry Schmitz7-Sep-23 7:04
mveGerry Schmitz7-Sep-23 7:04 
AnswerRe: Where To Store Configuration File for This App Pin
Richard MacCutchan6-Sep-23 22:45
mveRichard MacCutchan6-Sep-23 22:45 
GeneralRe: Where To Store Configuration File for This App Pin
Kevin Marois7-Sep-23 6:28
professionalKevin Marois7-Sep-23 6:28 
GeneralRe: Where To Store Configuration File for This App Pin
Richard MacCutchan7-Sep-23 6:53
mveRichard MacCutchan7-Sep-23 6:53 
GeneralRe: Where To Store Configuration File for This App Pin
Kevin Marois8-Sep-23 6:51
professionalKevin Marois8-Sep-23 6:51 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.