Questions tagged [system-design]

Systems design is the process of defining the architecture, components, modules, interfaces, and data for a system to satisfy specified requirements. (wikipedia)

Systems design is the process of defining the architecture, components, modules, interfaces, and data for a system to satisfy specified requirements. Systems design could be seen as the application of systems theory to product development. ref

618 questions
74
votes
15 answers

How to increase my "advanced" knowledge of PHP further? (quickly)

I have been working with PHP for years and gotten a very good grasp of the language, created many advanced and not-so-advanced systems that are working very well. The problem I'm running into is that I only learn when I find a need for something…
Kerry Jones
  • 21,806
  • 12
  • 62
  • 89
62
votes
9 answers

Best practices for developing larger JavaScript applications

Having a strong background in Java/C++ i wonder if it is possible to develop a somewhat larger JavaScript application without having to cut back on quality. Any hints are appreciated regarding: Development Enviroment Debugging Techniques Unit…
mibollma
  • 14,959
  • 6
  • 52
  • 69
50
votes
6 answers

Load balancer and API Gateway confusion

I have always worked on mobile technologies and now I am stepping into backend systems, more specifically systems design. I keep coming across conflicting statements for the roles of api gateway and load balancer. Googling has only returned the same…
Farhan
  • 1,000
  • 1
  • 11
  • 22
44
votes
1 answer

Resources to learn solving system design interview problems

System design questions are a type of questions that tech companies tend to ask in the interviews in addition to more common algorithmic and knowledge based questions. This term covers both abstract Object Oriented Design sketch a class diagram for…
Nadbor
  • 591
  • 1
  • 5
  • 5
41
votes
1 answer

How do you write a real-time webbased collaboration tool such as google docs?

I'm really curious about How one would go about writting a collaboration tools such as google docs? The closest thing that I can think of is to write a messaging system like a chat and then send messages back and forth so that each client updates…
elviejo79
  • 4,592
  • 2
  • 32
  • 35
36
votes
4 answers

Lua vs Embedded Lisp and potential other candidates. for set based data processing

Current Choice: lua-jit. Impressive benchmarks, I am getting used to the syntax. Writing a high performance ABI will require careful consideration on how I will structure my C++. Other Questions of interest Gambit-C and Guile as embeddable…
Hassan Syed
  • 20,075
  • 11
  • 87
  • 171
30
votes
1 answer

How do websocket connections work through a load balancer?

Forgive my ignorance as my experience with load balancers and websockets are limited. I'm trying to understand how a client can connect to a cluster of servers that sits behind a load balancer through websockets. My understanding of load balancers…
bli00
  • 2,215
  • 2
  • 19
  • 46
28
votes
2 answers

System design: Strategies for dealing with heavy writes to a DB

From a systems design/scalability perspective, what are some industry-standard strategies in dealing with a system that requires heavy writes to a particular table in a DB. For simplicity sake, let's say the table is an inventory table for products,…
user1008636
  • 2,989
  • 11
  • 31
  • 45
26
votes
21 answers

Is the LAMP stack appropriate for Enterprise use?

Is the LAMP (Linux, Apache, MySQL, PHP / Ruby / Python) stack appropriate for Enterprise use? To be clear, by "Enterprise", I mean a large or very large company, where security, robustness, availability of skill sets, Total Cost of Ownership (TCO),…
Kaiser Advisor
  • 1,446
  • 2
  • 16
  • 26
21
votes
1 answer

What can we do when load balancer becomes the bottleneck?

I just started learning load balancers. Taking a server side application (http/https) load balancer as an example, I assume it listens a specific ip address, then forward the http requests to available servers based on its algorithm. So is it…
Yuxiong Zhu
  • 213
  • 2
  • 7
20
votes
2 answers

How to properly use class extensions in Swift?

In Swift, I have historically used extensions to extend closed types and provide handy, logic-less functionality, like animations, math extensions etc. However, since extensions are hard dependencies sprinkled all over your code-base, I always think…
Daniel Saidi
  • 6,079
  • 4
  • 27
  • 29
19
votes
1 answer

What is the best practice for Enterprise level application architecture using MVC5?

I was wondering what is the best practice for enterprise level architecture based on MVC5. I mean selection between multiple layer or multiple project in one solution? and or maybe more than one solution? any good example project?
Hadee
  • 1,392
  • 1
  • 14
  • 25
17
votes
6 answers

How to design a distributed job scheduler?

I want to design a job scheduler cluster, which contains several hosts to do cron job scheduling. For example, a job which needs run every 5 minutes is submitted to the cluster, the cluster should point out which host to fire next run, making…
coderz
  • 4,847
  • 11
  • 47
  • 70
16
votes
3 answers

Design a generic job scheduler

I am trying to design a generic job scheduler to expand my architectural knowledge and ability to think about system design questions in interviews. So far, what I have come up with is below. Can you point out where I should work on to be…
15
votes
2 answers

When to use service or component in spring?

When to use service or component in spring? For example, is a module responsible for sending email or common business logic a "service" or a "component"? and what's the difference? Is a service able to call the other services? Is there any…
ChiaChih wu
  • 173
  • 1
  • 2
  • 6
1
2 3
41 42