Questions tagged [distributed-computing]

Distributed computing refers to architectures where software components of a same system run on several processes distributed across a network of computers and somehow coordinated.

Distributed computing refers to architectures where software components of a same system run on several processes distributed across a network of computers and somehow coordinated.

158 questions
30
votes
4 answers

How does a company like Amazon avoid bottlenecks accessing the database layer?

If you imagine a company like Amazon (or any other large e-commerce web application), that is operating an online store at massive scale and only has limited quantity of physical items in its warehouses, how can they optimize this such that there is…
23
votes
1 answer

What are the solutions to the Distributed Queue problem?

I am trying to learn more about the various ways that the problem of a Distributed Queue may be solved. So I would like know what products, services, implementations and research papers that are already out there. An implementation will face many…
Chris Vest
  • 381
  • 1
  • 2
  • 7
18
votes
3 answers

What does a load balancer return?

When a user hits the load balancer and the load balancer determines which web server to forward to, what happens next? Does the load balancer forward the request and all its data to the webserver, receive the webserver's response and return that…
smaili
  • 291
  • 2
  • 5
16
votes
8 answers

What exactly is distributed computing?

What exactly constitutes distributed computing, and how does it differ from parallelized / concurrent computing? Does the use of mutexes and semaphores in multiple parallel threads trying to synchronize for access to a resource constitute a problem…
rdasxy
  • 3,323
  • 7
  • 29
  • 41
12
votes
2 answers

Patterns for maintaining consistency in a distributed, event sourced system?

I've been reading on event sourcing lately and really like the ideas behind it but am stuck with the following problem. Let's say you have N concurrent processes which receive commands (e.g. web servers), generate events as a result and store them…
10
votes
3 answers

How to handle side effects in CRQS when replaying events?

It is said that in CQRS it is easy to fix a bug, you just redeploy and then replay the events. But, what if one of the events should cause an external system not in your control to "ship an item" to the customer if you just replay the events the…
Jas
  • 507
  • 3
  • 13
10
votes
1 answer

Single source of truth within an enterprise distributed system

Within an enterprise distributed system I have many services - an E-commerce service, a CRM, support desk, finance, billing. Many of these services share common data, such as Customer data. These services communicate with each other using an…
10
votes
1 answer

Best practice for handling asynchronous inter communication?

Recently completed a project for handling credit card processing. One of the difficulties I faced was handling the delay / possible failure of notification messages. The most complex example was: an external system sending the request for…
user86928
  • 101
  • 3
9
votes
3 answers

have we come full circle with microservices, back to very old school approaches?

In terms of software architecture and design, how do microservices "stack up" (pun intended) against middleware? I'm coming from Java, and it seems like as you move away from straight REST as an API, and abstract away different layers and…
8
votes
2 answers

Error handling in distributed system

This is the common sequence of two distributed components in our Java application: 1 A sends request to B 2 B starts some job J in parallel thread 3 B returns response to A 4 A accepts response 5 Job finishes after some time 6 …
igor
  • 393
  • 1
  • 13
8
votes
2 answers

How does Elastic Search approach the problem of distributed membership and consensus?

I already understand that Elastic Search is supposed to be deployed in a distributed topology, in that you can have multiple nodes for a cluster of ES instances. I like the API, and it looks promising. But I wonder how Elastic Search solves some…
8
votes
3 answers

Distributed Issue Tracking

Distributed issue tracking seems like a belting idea to me, but it has never really taken off in a big way. Is there a good reason for that? I am aware of: bugz everywhere too complex to set up too many requirements reasonably successful, used by…
Billy Moon
  • 329
  • 2
  • 5
  • 14
7
votes
1 answer

How to prevent concurrency problems when using the repository pattern?

Considering that: when using the repository pattern you deal with entities - those are the atomic units you persist (regardless of Hibernate or "manually") when changing an entity you save it as a whole (there's no set or increment field) multiple…
7
votes
1 answer

What logic is used to control Lock and Update actions in P2P networks? (similar to Bitcoin)

Bitcoin relies on Proof of Work (hashing) to control the writing to a central repository (the blockchain). It also relies on a set of rules for these updates, and defines what happens if a conflict is found (longest chain wins) Using that as an…
makerofthings7
  • 6,038
  • 4
  • 39
  • 77
7
votes
1 answer

Open Grid Engine or Akka/Something more fault tolerant?

My use case is that I have a pipeline of independent, stand alone programs, that I want to execute in a certain order on specific pieces of data that are output from previous pipeline stages. The pipeline is entirely linear and doesn't do anything…
1
2 3
10 11