51

Re: Microservices routing

Hello, itslave, you wrote: the C>> But here happens  - in VPC the free addresses and machines came to an end die right after start. Or in ASG at Amazaona something broke. Well also can be and simply there is no the free capacity and ASG throws out Insufficient Capacity Error. I> Aha. And the atomic bomb fell to a data-center. And it is necessary to do all decisions taking into account these improbable events. So. Here recently such bomb fell to a data-center of one large company - at floor cleaning casually pushed a breaker and disconnected a supply for all data-center. . To argue about SLA and reliable systems, it is necessary to acquire at first that ALL breaks generally. For example, if it is a question about autoscaling', it so periodically : http://status.aws.amazon.com/rss/autosc … east-1.rss Cs>> Existing machines are not capable to cope with a flow of requests, and frontend continues them to send. Lag backend' continues to rise. Clients frontend' panic, repeating operations even more often. Lag rises. Any client frontend' cannot soon receive results in time while backend processes already certainly unnecessary messages. I> Circuit breaker it is possible  on a miscellaneous. Well as? I resulted the scenario of a standard failure of system of messages when it does only worse. A C>> How to do correctly? Very simply: to have a small operative store in capacity and to do handling so that at increase of loading handling time smoothly grew. At loading excess - actively to do load shedding, producing clients frontend' errors. I> it not  the possible approach. To identify that  not  and to begin  clients it is possible  methods, the choice  depends on specific requirements. Here I already "a choice  depend on specific requirements" I hear again. HOW was specific to solve this problem with systems of messages, for example SQS? The C>> Well that is, a problem does not dare normally. I> once again. The unique criterion of normality of a solution of a problem is   specifications. All. A point. Yes-yes. And to specifications it is, of course, written:" It is possible to break and lose the data if clients do too many requests ". If at you there such specifications I can sympathize only. In the real world, normality of the decision is defined exceptional by usage practice.>> What queue can do a C throttling the sending side? It is impossible to do it in SQS or ApacheMQ. I> Instead of it is necessary to do it in the approach offered by me. Well then I ask to describe how the problem with an overload in my scenario will dare. A C>> Approximately indeed. I> questions any more I have no Main method of sale of these Tibco looks so:  comes and says that if the client buys Tibco/Oracle/whatever at it the member number of the nine of reliability magically increases. Thus brutal penal sanctions are registered in the contract for violations of it is monthly fee reset for the last month.

52

Re: Microservices routing

Hello, Cyberax, you wrote: a C> Well not manually, and on the basis of the protocol of system of messages, without a difference. That it worked as reliably as system stack TCP, to be necessary to write analog of system stack TCP. Once again re-read, at you meanwhile badly it turned out.

53

Re: Microservices routing

Hello, Cyberax, you wrote: a C> to argue about SLA and reliable systems, it is necessary to acquire at first that ALL breaks generally. For example, if it is a question about autoscaling', it so periodically : http://status.aws.amazon.com/rss/autosc … east-1.rss Breaks, about it and write in SLA. Breaks, business receives less profit, the provider compensates (anyhow). And it is excellent in a large quantity . A C> Well as? I resulted the scenario of a standard failure of system of messages when it does only worse. At level api gateway  with monitoring. The C> Here I already "a choice  depends on specific requirements" I hear again. HOW was specific to solve this problem with systems of messages, for example SQS? I already some times wrote, to read, how I already understood, you are not able. Give I will try to come on the other hand: on a miscellaneous, depending on specific requirements. A C> Yes-yes. And to specifications it is, of course, written:" It is possible to break and lose the data if clients do too many requests ". If at you there such specifications I can sympathize only. Estimate, in specifications can be quite written:" Loss to  % of the data is admissible ". An example - , we admit at you a site flightradar24 which directly in rial a time listens  planes (they can  every second) and draws it on a web . Tell, if every tenth packet of the data is lost (i.e. time in 10 seconds at us will not be plane positions), it generally is important for the given service? And if it is a specialized software for fit managers? In both cases it is necessary is identical to solve the task how you think? The C> In the real world, normality of the decision is defined exceptional by usage practice. In the real world does not happen  bullets and if it start to mold from a hammer - that turns out simply brilliant and expensive hammer which even hardly hammers in nails. The C> the Main method of sale of these Tibco looks so:  comes and says that if the client buys Tibco/Oracle/whatever at it the member number of the nine of reliability magically increases. Thus brutal penal sanctions are registered in the contract for violations of it is monthly fee reset for the last month. Here it is interesting to me, you indeed consider buyers of similar decisions as full  which sell full  on stretch almost decades,

54

Re: Microservices routing

Hello, itslave, you wrote: I> Well I still will throw with a couple: I> -  peak loading I> - integration of heterogeneous systems I> - support high availability + guaranteed delivery Can our case and atypical but we used queues too in the core for guaranteed delivery, and counting on  with rise , yes. A malonagruzhennaja business system on microservices in AWS. For postmortem and monitoring dlq, throttling gRPC. Being returned to an original post, horeography at some instant began to strain and decided to do pub-sub service https://en.wikipedia.org/wiki/Publish%E … be_pattern (combining pull semantics SQS and push with  in SNS) as a result it turns out that all services are fastened on one that like as to Orchestration approaches

55

Re: Microservices routing

Hello, andmed, you wrote: A> our case and atypical Can but we used queues too in the core for guaranteed delivery, and counting on  with rise , yes. So  also there is normal usage of queues. At  it is simple a little bit other case: if  broke, users press '  ' many times, goes  messages to queue, the part of messages becomes outdated and further a collapse. Here he also invented (more precisely to it invented, it put a hand to implementation probably)  on sending of messages and bicycle circuit breaker. Can and is correct for was specific its case, without requirements not clearly.

56

Re: Microservices routing

Hello, itslave, you wrote: I> Breaks, about it and write in SLA. Breaks, business receives less profit, the provider compensates (anyhow). And it is excellent in a large quantity . Esteem SLA on services of Amazona or similar. Anybody will not compensate anything. A C>> Well as? I resulted the scenario of a standard failure of system of messages when it does only worse. I> at level api gateway  with monitoring. Once again, monitoring allows to find out (maximum) an alert condition. He does not allow to correct it. Well and generally, how it is possible to project systems which on design will demand a manual drive??? The C>> Here I already "a choice  depends on specific requirements" I hear again. HOW was specific to solve this problem with systems of messages, for example SQS? I> I already some times wrote, to read, how I already understood, you are not able. Give I will try to come on the other hand: On a miscellaneous, depending on specific requirements. Well here explain. I resulted requirements. I> estimate, in specifications can be quite written:" Loss to  % of the data is admissible ". An example - , we admit at you a site flightradar24 which directly in rial a time listens  planes (they can  every second) and draws it on a web . Well here I also speak - messages are suitable for fire-and-forget best effort things. The C>> In the real world, normality of the decision is defined exceptional by usage practice. I> in the real world does not happen  bullets and if it start to mold from a hammer - that turns out simply brilliant and expensive hammer which even hardly hammers in nails. Well here messages are not suitable even for a hammer. I> here it is interesting to me, you indeed consider buyers of similar decisions as full  which sell full  on stretch almost decades, Yes so I and consider. And how many time already in practice checked up.

57

Re: Microservices routing

Hello, Cyberax, you wrote: a C> Esteem SLA on services of Amazona or similar. Anybody will not compensate anything. I - read. At you with problem reading as we clarified in adjacent . Yes, ready cash do not give, it is simple resources  that directly it is transformed to money. The C> Once again, monitoring allows to find out (maximum) an alert condition. He does not allow to correct it. A C> Well and generally how it is possible to project systems which on design will demand a manual drive??? You do not understand the task and monitoring possibility. Generally. A C> Well here explain. I resulted requirements. If that you resulted that are requirements not you it is a pity. Here so  and without reading real requirements, I would start to struggle with counterparts and sharp growth of loading for client-side and stupidly would not send these counterparts (there just them to calculate - trifling matter). In the same place would imitate circute breaker/increase timeouts in cases if something went not so. Well here so , I repeat, proceeding from that minimum that I know.> Well here I also tell a C - messages are suitable for fire-and-forget best effort things. No. Queues are suitable fire-ensure in delivery-and forget things. Service basses are suitable for wider applications. Cs> Well here messages are not suitable even for a hammer. You now say that the asynchronous programming model in distributed system is not suitable on what. This very courageous announcement. Not, I understand at you it with the button ' checkout shopping bag ' did not fly up for any reasons, but it is impossible to stretch all tasks of programming on the button checkout? A C> Yes so I also consider. And how many time already in practice checked up. Allow to ask your leaking . Simply interesting, how much adequate resource  in .

58

Re: Microservices routing

Hello, itslave, you wrote: a C>> Esteem SLA on services of Amazona or similar. Anybody will not compensate anything. I> I - read. At you with problem reading as we clarified in adjacent . Yes, ready cash do not give, it is simple resources  that directly it is transformed to money. Aha. Well here we look SQS SLA. . And it is not present. Well it is fine, we look EC2: https://aws.amazon.com/ru/ec2/sla/- already 30 % of a discount for the whole MONTH (!!!) In case of availability less than in 99 % (idle time at 7 o'clock). Brutal, rather brutal, sanctions. I saw agreements with everyones Tibco and Oracle, and there all is approximately similar. In case the system of messages on which all business of the organization hangs falls, they give to buyers a candy and a balloon for compensating of probably mullions-strong losses. A C>> Well and generally how it is possible to project systems which on design will demand a manual drive??? I> you do not understand the task and monitoring possibility. Generally. I in perplexity looked back on system of monitoring which I wrote also which tracks more thousand indexes in each of 19 regions which we support. Than monitoring should help? A C>> Well here explain. I resulted requirements. I> if that you resulted that are requirements not you it is a pity. Here so  and without reading real requirements, I would start to struggle with counterparts and sharp growth of loading for client-side and stupidly would not send these counterparts (there just them to calculate - trifling matter). You understand such concept - "message queue"? There messages are pushed. The client does not read queue, he there writes. A queue maximum can  messages on unique ID. But in this case it does not help, as at deceleration of the output agent, it will not cope with a normal flow of messages which to itself are quite unique. I> in the same place would imitate circute breaker/increase timeouts in cases if something went not so. Well here so , I repeat, proceeding from that minimum that I know. That is? I do not understand that it means in the given context. Message queue to any  it is not privy, messages there are regularly put with a normal time delay.>> Well here I also tell a C - messages are suitable for fire-and-forget best effort things. I> Is not present. Queues are suitable fire-ensure in delivery-and forget things. Service basses are suitable for wider applications. If the guaranteed delivery I can tell almost on 100 % is necessary that messages are used incorrectly. Cs>> Well here messages are not suitable even for a hammer. I> you now say that the asynchronous programming model in distributed system is not suitable on what. No. I say that the distributed model in which the part of the fortune is stored in a type of messages completely flew by (i.e. therefore the guaranteed delivery is required). In itself asynchronous systems quite to themselves normally live. But even there they are better for applying only to noncritical things on time. A C>> Yes so I also consider. And how many time already in practice checked up. I> allow to ask your leaking . Simply interesting, how much adequate resource  in . Principal engineer.

59

Re: Microservices routing

Hello, Cyberax, you wrote: I>> I - read. At you with problem reading as we clarified in adjacent . Yes, ready cash do not give, it is simple resources  that directly it is transformed to money. A C> Aha. Well here we look SQS SLA. . And it is not present. And it is, though   they do not guarantee. But guarantee delivery of the accepted message: Q: Does Amazon SQS guarantee delivery of messages? Standard queues provide at-least-once delivery, which means that each message is delivered at least once. FIFO queues provide exactly-once processing, which means that each message is delivered once and remains available until a consumer processes it and deletes it. Duplicates are not introduced into the queue. And here  gives high-grade sla on the azure service bus. A C> Well it is fine, we look EC2: https://aws.amazon.com/ru/ec2/sla/- already 30 % of a discount for the whole MONTH (!!!) In case of availability less than in 99 % (idle time at 7 o'clock). Brutal, rather brutal, sanctions. It only says that all suits all. It is business and anything more. As soon as in  begins regularly  sla and it starts to lead to essential losses of clients - business migrates in  or where there still. As soon as it becomes a trend, actions  go downwards (or will not show predicted growth), shareholders interpose percussion cap CEO, it starts to correct a situation that or otherwise (to refine quality to reduce the price to increase penal sanctions for ...) As that so it also works. A C> I saw agreements with everyones Tibco and Oracle, and there all is approximately similar. In case the system of messages on which all business of the organization hangs falls, they give to buyers a candy and a balloon for compensating of probably mullions-strong losses. And from what you took that losses will be mullions-strong? How considered? Under what loading / what business? The C> I in perplexity looked back on system of monitoring which I wrote also which tracks more thousand indexes in each of 19 regions which we support. The C> Than monitoring should help? If your monitoring for your super loaded/always accessible decision is not able to launch automatically disaster recovery procedure at detection of that that all fell, I in perplexity. A C> You understand such concept - "message queue"? There messages are pushed. The client does not read queue, he there writes. Queue maximum can  messages on unique ID.  at you certain problems with reading. There will be no counterparts - queue will not swell, existing messages will "not go bad". Further, who hinders the client on the timer to read from special  current loading of system and to change value of the response (time of show of a window please wait) to the client that that not so strongly twitched and at the full ass to show a window "try in 10 minutes". The C> But in this case it does not help, as at deceleration of the output agent, it will not cope with a normal flow of messages which to itself are quite unique. Still as helps, rakes on the sly if an input flow to restrict as I described above. A C> If the guaranteed delivery I can tell almost on 100 % is necessary that messages are used incorrectly. I to you once again repeat, all depends on a context. 99.99 %  services are written to tens (if also hundreds) time less stable, accessible, reliable than the same sqs. To rewrite them anew with the necessary level of reliability it is banal  expensively and  it is not necessary to anybody. But to guarantee delivery of messages about probability in 99.9 +  - dream of business. Here queue/service basses solve. I>> you now say that the asynchronous programming model in distributed system is not suitable on what. The C> Is not present. I say that the distributed model in which the part of the fortune is stored in a type of messages completely flew by (i.e. therefore the guaranteed delivery is required). Asynchronous network  (those not demanding the answer about operation end) - as a matter of fact the distributed model, which part of the fortune is stored by any in a type of messages (. Cs> In itself asynchronous systems quite to themselves normally live. But even there they are better for applying only to noncritical things on time. At last that though what that understanding gleams that "and at people can be and not such tasks as me" I>> Allow to ask your leaking . Simply interesting, how much adequate resource  in . A C> Principal engineer.  "the pumped over seigneur". Adequately, in the specialization you were pumped over, but on the sides to look for the present not so learned, and it can to you and it is not strongly necessary.

60

Re: Microservices routing

Hello, itslave, you wrote: a C>> Aha. Well here we look SQS SLA. . And it is not present. I> And it is, though   they do not guarantee. But guarantee delivery of the accepted message: do not guarantee. In case of falling SQS of the message still as are lost, though they were corrected recently and to fall almost ceased. I> and here  gives high-grade sla on the azure service bus. Already 25 % of a discount for the last month. Directly as sanctions against the North Korea on the cruelty. A C>> Well it is fine, we look EC2: https://aws.amazon.com/ru/ec2/sla/- already 30 % of a discount for the whole MONTH (!!!) In case of availability less than in 99 % (idle time at 7 o'clock). Brutal, rather brutal, sanctions. I> it only says that all suits all. It is business and anything more. So. And any Tibco do not give essentially best SLA therefore there is nothing to nod on it. A C>> I saw agreements with everyones Tibco and Oracle, and there all is approximately similar. In case the system of messages on which all business of the organization hangs falls, they give to buyers a candy and a balloon for compensating of probably mullions-strong losses. I> and from what you took that losses will be mullions-strong? How considered? Under what loading / what business? I have data from several very large falling of Oracle, with mullions-strong losses. In all cases of Oracle did not pay directly anything. About Tibco similarly heard first-hand, but itself was not present. The C>> Than monitoring should help? I> If your monitoring for your super loaded/always accessible decision is not able to launch automatically disaster recovery procedure at detection of that that all fell, I in perplexity. What will it gives, if critical components do not work? Where will be disaster recovery, if a system state indefinite what message queue ? A C>> You understand such concept - "message queue"? There messages are pushed. The client does not read queue, he there writes. A queue maximum can  messages on unique ID. I> Taki at you certain problems with reading. There will be no counterparts - queue will not swell, existing messages will "not go bad". In my example queue swells not because of counterparts, and that unique calls cease to be processed. I> Further who hinders the client on the timer to read from special  current loading of system and to change value of the response (time of show of a window please wait) to the client that that not so strongly twitched and at the full ass to show a window "try in 10 minutes". How it will look at level API for clients? The C>> But in this case it does not help, as at deceleration of the output agent, it will not cope with a normal flow of messages which to itself are quite unique. I> still as helps, rakes on the sly if an input flow to restrict as I described above. And  it then is necessary? Whether to use the synchronous calls is easier? I> them anew with the necessary level of reliability it is banal  expensively and  it is not necessary to anybody. But to guarantee delivery of messages about probability in 99.9 +  - dream of business. Here queue/service basses solve. And  it should be all the same reliable, as differently no 100500 nine in SLA help. The C>> Is not present. I say that the distributed model in which the part of the fortune is stored in a type of messages completely flew by (i.e. therefore the guaranteed delivery is required). I> asynchronous network  (those not demanding the answer about operation end) - as a matter of fact the distributed model, which part of the fortune is stored by Any in a type of messages (. In a case with the synchronous call the system state is not stored in network connection, except as for the status of the last request. I> Toest "the pumped over seigneur". Adequately, in the specialization you were pumped over, but on the sides to look for the present not so learned, and it can to you and it is not strongly necessary. He/she is very pumped over seigneur. And just I saw enough of systems of clients and internal systems Amazon' much.

61

Re: Microservices routing

Hello, Cyberax, you wrote: Cs> do not guarantee. In case of falling SQS of the message still as are lost, though they were corrected recently and to fall almost ceased. At me the first project with sqs started about 4 years ago. Already more 2 years in . Through sqs go hundred thousand (if not millions) messages in a month. A uniform censure on sqs for all this time. What I not so did? A C> Already 25 % of a discount for the last month. Directly as sanctions against the North Korea on the cruelty. Once again I will repeat. You persistently show inability to read. Simply   with it , all suits it also they perfectly understand that bicycles will cost much more expensive. A C> so. And any Tibco do not give essentially best SLA therefore there is nothing to nod on it. I so did not generalize, well is fine. The C> At me is the data from several very large falling of Oracle, with mullions-strong losses. In all cases of Oracle did not pay directly anything. About Tibco similarly heard first-hand, but itself was not present. Even lowering selected, it .> That it gives a C, if critical components do not work? Where will be disaster recovery, if a system state indefinite what message queue ? It is obvious that tears critical components in other region () and begins  messages from reserve queue record in which goes synchronously with record to the main (or with a small log, ). The C> In my example queue swells   because of counterparts, and that unique calls cease to be processed. Give I will quote the Author: Cyberax Date: 16.08 20:55, in same : Lag backend' continues to rise. Clients frontend' panic, repeating operations even more often. Lag rises. You itself define, we consider what scenarios and then sound them it is consistent, ? The C> As it will look at level API for clients? I am assured you and itself can perfectly design REST API endpoint. Also can be even to implement I>> Still as helps, rakes on the sly if an input flow to restrict as I described above. The C> And  it then is necessary? Whether to use the synchronous calls is easier? Sometimes easier, sometimes - is not present. The typical scenario - peak loadings.  that this such and than they differ from stable. One more scenario long-playing operations, for example  video. To overtake 2 an hour porno a series of game of thrones in a format for  synchronously - probably not the best idea. If you did not face similar cases - that it at all does not mean that they do not happen. The C> And  should be all the same reliable, as differently no 100500 nine in SLA help. To whom should, also the main thing who what for should all it will pay? I>> asynchronous network  (those not demanding the answer about operation end) - as a matter of fact the distributed model, which part of the fortune is stored by Any in a type of messages (). The C> In a case with the synchronous call a system state is not stored in network connection, except as for the status of the last request. Once again I will repeat: You now say that the asynchronous programming model in distributed system is not suitable on what. This very courageous announcement. Not, I understand at you it with the button ' checkout shopping bag ' did not fly up for any reasons, but it is impossible to stretch all tasks of programming on the button checkout?

62

Re: Microservices routing

Hello, itslave, you wrote: I>... I was interested very much by this branch of arguing, it is a pity that to  did not reach. While adding lacks sounded above I see the following - if still there was a desire correct me: * Systems on messages will have smaller availability because of losses of messages, it is possible  for systems where availability most message queue system it is quite sufficient for business. * from the point of view of attending recovery of a state of system at an error will be more difficult - how much I see correlation id / request id partially solves a question, but in case of losses of messages it becomes difficult. * difficult handling of cases of type multicast storm. It is necessary to put in architecture mode of work with the scenario when the system allows to save up more messages, than can process. * the general recipe cirquit breaker'a for scenarios Is not clear when the component accepting the message falls off with an error and collect retries (for a row business of cases by setting visibility timeouts in great value or retry == 0 partially dares when it is possible to consider that the client simply somehow understands initiates retry) or restriction on the maximum depth of queue (as then to process client requests? Something turns out ugly when cliques by the button at once leads to an error because of impossibility to initiate handling). Setting retry == 0 allows to guarantee only best effort handling, big visibility timeout creates threat of supersaturation by messages (sm point above). Yes, and answering a question above about alternatives to asynchronous messages of critical services use workflow / orchestration engines type Amazon SWF or Uber Cadence - last  constructed already having internal "durable and scalable" message queue system - cherami. While like message queue-based systems inapplicability is obvious to creation of systems demanding the maximum reliability of type of handling of orders from the user which often build on similarity orchestration engines and it seems to me here at you a consensus - Cyberax: While I for myself found two normal applications of queues: 1) Raskidyvanie of calculations or long asynchronous tasks on a computing cluster. 2) simple best effort fire-and-forget  for external systems with notification messages about changes. itslave: in specifications can be quite written:" Loss to  % of the data is admissible ". An example - , we admit at you a site flightradar24 which directly in rial a time listens  planes (they can  every second) and draws it on a web . Probably, nevertheless from the point of view of applicability it is a question of the same scenarios - plus can be such where unlike Amazona 99.99 % availability are not required> and 99 % suffices even - total inaccessibility of a site <4 days in a year can be quite comprehensible to tasks of many small companies if not to take into account type area medicine and digital commerce. And by the way, it would be interesting to learn - what business the scenario has been solved on queues?

63

Re: Microservices routing

Hello, A13x, you wrote: A> Hello, itslave, you wrote: I>>... A> I was interested very much by this branch of arguing, it is a pity that to  did not reach. A> * systems on messages will have smaller availability because of losses of messages, it is possible  for systems where availability most message queue system it is quite sufficient for business. Here , selected very strongly depends on used components, scenarios, qualification of a command, the budget on development and many other factors. From my experience, reliability and availability industrial queues in times above any bicycles (including direct calls),  an average command in (normal) deadlines. On the other hand, at loadings in million operations per second as at , it is natural that 90 % of industrial queues stupidly do not consult also bicycles it is necessary to build. But here for certain both budgets others, and qualification of a command and so on. From the third party, similar loadings - well  are rare, though are interesting. A> * from the point of view of attending recovery of a state of system at an error will be more difficult - how much I see correlation id / request id partially solves a question, but in case of losses of messages it becomes difficult. Building any distributed system of processing/preservation , it is necessary to remember that that eventual consistency is a board for distributed system. It should be considered from the very beginning and from time to time it beats very painfully. Therefore I in every possible way do not recommend distributed systems when without them it is possible to manage. One more method of struggle with eventual consistency systems - event log/event sourcing. That in turn introduces new complexities which should be solved heroically. A> * difficult handling of cases of type multicast storm. It is necessary to put in architecture mode of work with the scenario when the system allows to save up more messages, than can process. Yes, it should be considered from the very beginning. A> * the general recipe cirquit breaker'a for scenarios is not clear when the component accepting the message falls off with an error and collect retries (for a row business of cases by setting visibility timeouts in great value or retry == 0 partially dares when it is possible to consider that the client simply somehow understands initiates retry) or restriction on the maximum depth of queue (as then to process client requests? Something turns out ugly when cliques by the button at once leads to an error because of impossibility to initiate handling). Setting retry == 0 allows to guarantee only best effort handling, big visibility timeout creates threat of supersaturation by messages (sm point above). As that so, is not present the general-purpose scenarios. Each time it is necessary to look at requirements and to work with them. Still it is possible to tear additional capacities dynamic, to reduce throughput  (as a matter of fact to transfer queue on a server web), eventually fairly to die. All depends exceptional on business, the budget and so on. A> Yes, and answering a question above about alternatives to asynchronous messages of critical services use workflow / orchestration engines type Amazon SWF or Uber Cadence - last  constructed already having internal "durable and scalable" message queue system - cherami. Yes, as a matter of fact - actor model in different forms. Still it is possible to do  on ESB. A> While like message queue-based systems inapplicability is obvious to creation of systems demanding the maximum reliability of type of handling of orders from the user which often build on similarity orchestration engines and it seems to me here at you a consensus - Here again, all depends on requirements, loading and so on.  simply it is impossible to compare decisions for  a site a web of shop of aquarian small fishes in  and for the same . I will agree with  that in the latter case any superfluous link introduces additional risks and it is necessary to simplify all so, as far as possible. A> it is visible, nevertheless from the point of view of applicability it is a question of the same scenarios - plus can be such where unlike Amazona 99.99 % availability are not required> and 99 % suffices even - total inaccessibility of a site <4 days in a year can be quite comprehensible to tasks of many small companies if not to take into account type area medicine and digital commerce. From my experience, now normally business demands 99.95 % availability for client-oriented a web of sites. And this number is easily reached by queues. Moreover, queues allow to increase availability systems in comparison with direct calls in variety of scenarios - it is possible to do  consumer queues (almost imperceptibly for the user with the guaranteed safety of the data. A> and by the way, it would be interesting to learn - what business the scenario has been solved on queues? Already pieces a little, the largest perhaps - analog coursera for "real" American universities, like as the leader in the branch.

64

Re: Microservices routing

Hello, A13x, you wrote: A> * the general recipe cirquit breaker'a for scenarios Is not clear when the component accepting the message falls off with an error and collect retries (for a row business of cases by setting visibility timeouts in great value or retry == 0 partially dares when it is possible to consider that the client simply somehow understands initiates retry) or restriction on the maximum depth of queue (as then to process client requests? Something turns out ugly when cliques by the button at once leads to an error because of impossibility to initiate handling). Setting retry == 0 allows to guarantee only best effort handling, big visibility timeout creates threat of supersaturation by messages (sm point above). Judging by articles from the Internet (read on msdn), cb it is simply clever retry. I so understand that on its mind always and it is necessary to use. But in implantation it is more difficult. A> And by the way, it would be interesting to learn - what business the scenario has been solved on queues? Creation of asynchronous services. It is possible to esteem who and what for  the same rabbit mq

65

Re: Microservices routing

Hello, Sharov, you wrote: S> Hello, A13x, you wrote: A>> * the general recipe cirquit breaker'a for scenarios Is not clear when the component accepting the message falls off with an error and collect retries (for a row business of cases by setting visibility timeouts in great value or retry == 0 partially dares when it is possible to consider that the client simply somehow understands initiates retry) or restriction on the maximum depth of queue (as then to process client requests? Something turns out ugly when cliques by the button at once leads to an error because of impossibility to initiate handling). Setting retry == 0 allows to guarantee only best effort handling, big visibility timeout creates threat of supersaturation by messages (sm point above). S> Judging by articles from the Internet (read on msdn), cb it is simply clever retry. I so understand that on its mind always and it is necessary to use. But in implantation it is more difficult. Yes. Here necessity to use the combined approach and here, probably is obvious, it is possible to invent many decisions - for example if queue is used for asynchronous handling of objects which description stored in some DB it is possible to add the description of a state of asynchronous handling and to make retry possible only on proprocession  delta t from the moment of the beginning and to enter Janitor Job which    by resending of messages. Then clients do not tear down system  and on achievement of saturation of system by messages the part will be fulfilled through janitor job. A>> And by the way, it would be interesting to learn - what business the scenario has been solved on queues? S> creation of asynchronous services. It is possible to esteem who and what for  the same rabbit mq Yes it would be clear, simple to disassemble interesting dispute above on an example specific business of requirements simply to estimate alternative decisions will be applicable.

66

Re: Microservices routing

Hello, itslave, you wrote: I>... I> Here again, all depends on requirements, loading and so on.... A>> it is visible, nevertheless from the point of view of applicability it is a question of the same scenarios - plus can be such where unlike Amazona 99.99 % availability are not required> and 99 % suffices even - total inaccessibility of a site <4 days in a year can be quite comprehensible to tasks of many small companies if not to take into account type area medicine and digital commerce. I> From my experience, now normally business demands 99.95 % availability for client-oriented a web of sites. And this number is easily reached by queues. Moreover, queues allow to increase availability systems in comparison with direct calls in variety of scenarios - it is possible to do  consumer queues (almost) imperceptibly for the user with the guaranteed safety of the data. Well here at us the consensus, at me is not present explicit aversion of queues, on told above it is possible to draw an output - queues can simplify a row of tasks, but in itself not the panacea and their usage in production to system demands the registration of factors connected with fault scenarios -  specialized , storage of a state of handling and for introduction if is necessary for preventing of supersaturation by messages janitor job allowing sooner or later to finish asynchronous handling. A>> and by the way, it would be interesting to learn - what business the scenario has been solved on queues? I> already pieces a little, the largest perhaps - analog coursera for "real" American universities, like as the leader in the branch. I wanted to suggest to disassemble a specific case and alternative implementations for the same requirements - it would be interesting to compare the decision offered cyberax' against the decision on queues.

67

Re: Microservices routing

68

Re: Microservices routing

Hello, itslave, you wrote: First three scenarios - queues are used there and only there where request handling can occupy indecent (more than 1 minutes) time. The fourth scenario - problems of management and a technological stack. Microservices without uniform system  and traces simply do not fly up, ability to write and support stable network API too is mandatory. I so understood, at you  resources always suffices system where storages are never overflowed, and to process request in time. In  systems all not so - at a failure  queue can be overflowed in some minutes, the place on a disk periodically comes to an end, one of machines in a cluster can "be ill" in the unpredictable image - from shut-down to durable  over each request, resources periodically do not suffice for handling of all requests from clients. And all enumerated situations are not a work involving all hands or critical errors - the system should or not admit them generally, or be recovered automatically. In such systems of queue it is necessary to use very carefully since they transfer the data in one direction, without allowing  to notify  about potential problems in system.

69

Re: Microservices routing

Hello, scf, you wrote: scf> Hello, itslave, you wrote: scf> First three scenarios - queues are used there and only there where request handling can occupy indecent (more than 1 minutes) time. To carry out in  operations which are fulfilled ... Probably there are such cases, but generally it is not necessary , even with microservices. scf> the fourth scenario - problems of management and a technological stack. But esb  with minimum efforts. To adjust processes. It would be sick, expensive and not the fact that would turn out. scf> Microservices without uniform system  and traces simply do not fly up, ability to write and support stable network API too is mandatory. And completely automated . IaaC. scf> I so understood, at you  resources always suffices system where storages are never overflowed, and to process request in time. All in the world rather -  (in hundred peak) thousand competitive sessions the system holds also all well. cf> in  systems all not so - at a failure  queue can be overflowed in some minutes, the place on a disk periodically comes to an end, one of machines in a cluster can "be ill" in the unpredictable image - from shut-down to durable  over each request, resources periodically do not suffice for handling of all requests from clients. Again , all rather. I hardly represent that it is necessary to make to hammer  sqs. Monitoring, automatic scaling of server groups,  all  in other region (and even to another  to the provider at ass first signs solve huge kol-in scenarios. scf> in such systems of queue it is necessary to use very carefully since they transfer the data in one direction, without allowing  to notify  about potential problems in system. Again  why   about problems is a task , instead of monitoring?

70

Re: Microservices routing

Hello, itslave, you wrote: I> But esb  with minimum efforts. To adjust processes. It would be sick, expensive and not the fact that would turn out. Well, in this case ESB - that variant when taking technology instead of a commercial crop, you receive fast result with difficult consequences. I> again , all rather. I hardly represent that it is necessary to make to hammer  sqs. Monitoring, automatic scaling of server groups,  all  in other region (and even to another  to the provider at ass first signs solve huge kol-in scenarios. SQS to pay under high loading - no money suffices. Much more cheaply all the same to understand with . I> Again  why   about problems is a task , instead of monitoring? I.e. when monitoring collects statistics with  and at excess of some metrics speaks  to lower speed? , too difficult also does not fly up. To build in such logic in the network client (the different codes of errors, , ) are much easier.

71

Re: Microservices routing

Hello, scf, you wrote: scf> Well, in this case ESB - that variant when taking technology instead of a commercial crop, you receive fast result with difficult consequences." Difficult consequences "exist exceptional in your imaginations scf> SQS to pay under high loading - any money does not suffice. Much more cheaply all the same to understand with . It will be shares of percent from payment EC2, other services and business generally. At SQS not queue"is hammered"(except scales  probably), does not come to an end a place on a disk, it it is not necessary , it with ready smaller probability falls and so on. scf> I.e. when monitoring collects statistics with  and at excess of some metrics speaks  to lower speed? , too difficult also does not fly up. To build in such logic in the network client (the different codes of errors, , ) are much easier. Why?  loading all the same it is necessary. To react to that that an ass comes all the same it is necessary. Why one more step to this chain not to deliver  ? To carry out it in a separate place, than  in business the logic much easier.

72

Re: Microservices routing

Hello, scf, you wrote: scf> In such systems of queue it is necessary to use very carefully since they transfer the data in one direction, without allowing  to notify  about potential problems in system. In what a problem of 2 queues to use - one for tasks , another for  from them ?

73

Re: Microservices routing

Hello, Sharov, you wrote: S> In what a problem of 2 queues to use - one for tasks , another for  from them ? If  a little? If a problem with specific request? If response is necessary at once instead of when  receives the message from ? If receives generally -  can be overloaded or broken. Two queues every which way is a popular circuit "us force to sit on , and it is necessary for us RPC".

74

Re: Microservices routing

Hello, scf, you wrote: scf> If  a little? At everyone the queue. Though this variant is not so scaled. scf> if a problem with specific request? Here already dancings are outlined - to try to represent a time-out in asynchronous system. scf> if response is necessary at once instead of when  receives the message from ? If receives generally -  can be overloaded or broken. In this case queue does not approach. scf> two queues every which way is a popular circuit "us force to sit on , and it is necessary for us RPC". A normal asynchronous duplex.

75

Re: Microservices routing

Hello, scf, you wrote: scf> If  a little? If a problem with specific request? If response is necessary at once instead of when  receives the message from ? If receives generally -  can be overloaded or broken. Here begin  service basses which in difference from simple queues support different integration patterns. scf> two queues every which way is a popular circuit "us force to sit on , and it is necessary for us RPC".   supports request-reply, and even is able to do  in both sides.