Skip to content

Commit e5485da

Browse files
committed
docs: service to worker, session facade, sharding diagrams
1 parent 73a5828 commit e5485da

File tree

6 files changed

+12
-0
lines changed

6 files changed

+12
-0
lines changed

Diff for: service-to-worker/README.md

+4
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ In plain words
2626

2727
> Separates the processing logic from the view in web applications to improve maintainability and scalability.
2828
29+
Sequence diagram
30+
31+
![Service to Worker sequence diagram](./etc/service-to-worker-sequence-diagram.png)
32+
2933
## Programmatic Example of Service to Worker Pattern in Java
3034

3135
The Service to Worker design pattern separates the processing logic from the view in web applications to improve maintainability and scalability. It combines the Dispatcher View and Service Locator patterns to facilitate the separation of processing, control flow, and view management in web applications.
63.9 KB
Loading

Diff for: session-facade/README.md

+4
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ In plain words
3434

3535
> The Session Facade design pattern is an excellent choice for decoupling complex components of the system that need to be interacting frequently.
3636
37+
Sequence diagram
38+
39+
![Session Facade sequence diagram](./etc/session-facade-sequence-diagram.png)
40+
3741
## Programmatic Example of Session Facade Pattern in Java
3842

3943
The Session Facade design pattern is a structural design pattern that provides a simplified interface to a set of complex subsystems, reducing the complexity for the client. This pattern is particularly useful in situations where the client needs to interact with multiple services or systems but doesn’t need to know the internal workings of each service.
63.4 KB
Loading

Diff for: sharding/README.md

+4
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ Wikipedia says
3535
>
3636
> There are numerous advantages to the horizontal partitioning approach. Since the tables are divided and distributed into multiple servers, the total number of rows in each table in each database is reduced. This reduces index size, which generally improves search performance. A database shard can be placed on separate hardware, and multiple shards can be placed on multiple machines. This enables a distribution of the database over a large number of machines, greatly improving performance. In addition, if the database shard is based on some real-world segmentation of the data (e.g., European customers v. American customers) then it may be possible to infer the appropriate shard membership easily and automatically, and query only the relevant shard.
3737
38+
Flowchart
39+
40+
![Sharding flowchart](./etc/sharding-flowchart.png)
41+
3842
## Programmatic Example of Sharding Pattern in Java
3943

4044
Sharding is a type of database partitioning that separates very large databases into smaller, faster, more easily managed parts called data shards. The word shard means a small part of a whole. In software architecture, it refers to a horizontal partition in a database or search engine. Each individual partition is referred to as a shard or database shard.

Diff for: sharding/etc/sharding-flowchart.png

68.1 KB
Loading

0 commit comments

Comments
 (0)