Skip to content

Dosya Yapısı

  • Directorydeployments/
    • Directorydb/
      • Directorydispatchservice/
        • configmap.yaml
        • pvc.yaml
        • service.yaml
        • statefulset.yaml
      • Directoryorderservice/
        • configmap.yaml
        • pvc.yaml
        • service.yaml
        • statefulset.yaml
      • Directoryproductservice/
        • configmap.yaml
        • pvc.yaml
        • service.yaml
        • statefulset.yaml
      • Directoryuserservice/
        • configmap.yaml
        • pvc.yaml
        • service.yaml
        • statefulset.yaml
    • dispatchservice-deployment.yaml
    • dispatchservice-service.yaml
    • orderservice-deployment.yaml
    • orderservice-service.yaml
    • productservice-deployment.yaml
    • productservice-service.yaml
    • rabbitmqservice-deployment.yaml
    • rabbitmqservice-service.yaml
    • userservice-deployment.yaml
    • userservice-service.yaml
  • Directorydisptach-service/
    • Dockerfile
    • Directorygo.mod/
      • go.sum
    • main.go
  • Directoryorder-service/
    • Dockerfile
    • Directorygo.mod/
      • go.sum
    • main.go
  • Directoryproduct-service/
    • Dockerfile
    • Directorygo.mod/
      • go.sum
    • main.go
  • Directoryorder-service/
    • Dockerfile
    • Directorygo.mod/
      • go.sum
    • main.go
  • ingress.yaml
  • metallb.config.yaml
  • README.md
  • setup.sh
  • 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.