-
deployments/: Bu klasör, Kubernetes üzerinde microservice’lerin dağıtımı için gerekli olan yaml dosyalarını içerir.
-
db/: Bu alt klasör, her bir microservice için veritabanı ile ilgili Kubernetes kaynaklarının yaml dosyalarını içerir.
-
dispatchservice/, orderservice/, productservice/, userservice/: Her bir microservice’in veritabanı ile ilgili yaml dosyaları bu alt klasörlerde bulunur.
-
configmap.yaml: Veritabanı yapılandırma ayarlarını içeren ConfigMap tanımıdır.
-
pvc.yaml: Veritabanı için kalıcı veri depolama (Persistent Volume Claim) tanımıdır.
-
service.yaml: Veritabanına erişim için Kubernetes Service tanımıdır.
-
statefulset.yaml: Veritabanı için Kubernetes StatefulSet tanımıdır, veritabanının çalışmasını ve replikasyonunu sağlar.
-
dispatchservice-deployment.yaml, orderservice-deployment.yaml, productservice-deployment.yaml, userservice-deployment.yaml: Her bir microservice için Kubernetes Deployment tanımlarıdır. Bu dosyalar, ilgili microservice’in Kubernetes üzerinde nasıl dağıtılacağını belirler.
-
dispatchservice-service.yaml, orderservice-service.yaml, productservice-service.yaml, userservice-service.yaml: Her bir microservice için Kubernetes Service tanımlarıdır. Bu dosyalar, ilgili microservice’lere ağ üzerinden erişimi sağlar.
-
rabbitmqservice-deployment.yaml, rabbitmqservice-service.yaml: RabbitMQ mesaj kuyruğu sistemi için Kubernetes Deployment ve Service tanımlarıdır.
-
dispatch-service/, order-service/, product-service/, user-service/: Her bir microservice’in kaynak kodlarını içeren klasörlerdir.
-
Dockerfile: İlgili microservice’in Docker imajını oluşturmak için kullanılan Dockerfile dosyasıdır.
-
go.mod, go.sum: Go programlama dili için bağımlılık yönetimi dosyalarıdır.
-
main.go: Her bir microservice’in ana Go dosyasıdır, uygulamanın giriş noktasını belirtir. Bütün mantığı ve işleyişi içerir.
-
ingress.yaml: Kubernetes Ingress tanımıdır, gelen trafiği doğru microservice’lere yönlendirmek için kullanılır.
-
metallb.config.yaml: MetalLB yük dengeleyici yapılandırma dosyasıdır. (Şu anda kullanılmıyor.)
-
README.md: Projenin genel açıklamalarını ve kurulum talimatlarını içeren README dosyasıdır.
-
setup.sh: Projenin kurulumunu otomatikleştirmek için kullanılan bir bash script dosyasıdır.