Distributed Applications with GO: Difference between revisions

From bibbleWiki
Jump to navigation Jump to search
Created page with "=Elements of a Distributed System= ==Characteristic== Four aspects might be *Service Discovery *Load Balancing *Distributed tracing and logging *Service Monitoring ==Type of D..."
 
Line 18: Line 18:
*Hybrid system (none of the above)
*Hybrid system (none of the above)
**This might will have advantages and disadvantage of both
**This might will have advantages and disadvantage of both
=Architectural Element=
These are the aspect you may want to consider
*Languages
*Frameworks
*Transports
*Protocol

Revision as of 05:53, 23 August 2021

Elements of a Distributed System

Characteristic

Four aspects might be

  • Service Discovery
  • Load Balancing
  • Distributed tracing and logging
  • Service Monitoring

Type of Distributed System

  • Hub and Spoke (Satélite approach)
    • Advantages Good for load balancing and logging
    • Disadvantages Bad to single point of failure. Hub is complex due to responsibilities
  • Peer to Peer where each communicate directly
    • Advantages No Single point of failure. Highly decoupled
    • Disadvantages Service discovery and Load Balancing hard
  • Message Queue System where services get work from the queue
    • Advantages Easy to scale, Persistence for disaster
    • Disadvantages Single Point of failure (message queue), hard to configure
  • Hybrid system (none of the above)
    • This might will have advantages and disadvantage of both

Architectural Element

These are the aspect you may want to consider

  • Languages
  • Frameworks
  • Transports
  • Protocol