Created
October 16, 2024 09:05
-
-
Save NikiforovAll/3b1106eeab470277302d5195388ecd8a to your computer and use it in GitHub Desktop.
enterprise-search-architecture
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@startuml Case Study | |
!pragma revision 1 | |
' the folowwing diagram describes the system that has web api and workers (jobs) to to a background processing, jobs puts content in postgres, elastic and azure blob storage and web api uses elastic for search | |
' left to right direction | |
' https://github.com/plantuml-stdlib/Azure-PlantUML | |
!define AzurePuml https://raw.githubusercontent.com/plantuml-stdlib/Azure-PlantUML/release/2-2/dist | |
!includeurl AzurePuml/AzureCommon.puml | |
!includeurl AzurePuml/Databases/AzureDatabaseForPostgreSQL.puml | |
!includeurl AzurePuml/Storage/AzureBlobStorage.puml | |
!includeurl AzurePuml/Compute/AzureAppService.puml | |
!includeurl AzurePuml/Identity/AzureActiveDirectoryUser.puml | |
!include <C4/C4_Container> | |
' https://github.com/plantuml-stdlib/Azure-PlantUML | |
!include <elastic/common> | |
!include <elastic/elasticsearch/elasticsearch> | |
AzureActiveDirectoryUser(user, "User", "User") | |
System_Boundary(c1, "System") { | |
AzureAppService(web, "Web App", "Web App") | |
AzureDatabaseForPostgreSQL(pg, "PostgreSQL", "Primary Data Store") | |
ELASTICSEARCH(elastic, "Search and Analyze",database) | |
AzureBlobStorage(blob, "Blob Storage", "Binary Data") | |
package Workers { | |
AzureAppService(jobs1, "Worker", "Jobs") | |
AzureAppService(jobs2, "Worker", "Jobs") | |
} | |
} | |
user -right--> web: Search | |
web -down-> elastic: Reads from | |
jobs1 -down-> elastic: Writes to | |
jobs1 -down-> blob: Writes to | |
jobs1 -down-> pg: Writes to | |
@enduml |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment