Java ile Mikroservis Mimarisi Kurulumuna Başlangıç
Mikroservis mimarisi, büyük ve karmaşık yazılım projelerinde her bir bileşeni bağımsız olarak geliştirme, dağıtma ve ölçeklendirme imkânı sunar. Bu yazıda, Java ile mikroservis mimarisinin temellerinden başlayarak, adım adım nasıl kurulum yapabileceğinizi göstereceğiz.
Adım 1: Java Geliştirme Ortamını Hazırlama
İlk adımda, Java geliştirme ortamınızı hazırlamanız gerekiyor. Eğer bilgisayarınızda Java yoksa, Java JDK'yı indirip kurabilirsiniz. Ayrıca, Spring Boot gibi mikroservis geliştirmek için en popüler framework'lerden birini kullanacağız, bu yüzden Spring Tool Suite veya IntelliJ IDEA gibi bir IDE'yi tercih etmeniz işleri kolaylaştıracaktır.
Adım 2: Spring Boot ile Proje Oluşturma
Spring Boot, mikroservis geliştirmeye başlamak için mükemmel bir araçtır. Şimdi, Spring Initializr'ı (https://start.spring.io/) kullanarak yeni bir Spring Boot projesi oluşturacağız. Burada, gerekli bağımlılıkları seçip, projenizin yapılandırmasını yapabilirsiniz. Biz "Web", "JPA" ve "H2 Database" gibi temel bağımlılıkları seçiyoruz.
Adım 3: Mikroservis Bileşenlerini Tanımlama
Her mikroservis, belirli bir işlevi yerine getirir. Örneğin, bir e-ticaret uygulamasında ürün servisi, kullanıcı servisi ve ödeme servisi gibi bağımsız servisler olabilir. Bizim örneğimizde basit bir ürün yönetimi mikroservisi kuracağız.
Öncelikle, ürünleri temsil edecek bir Product sınıfı oluşturalım:
```java
@Entity
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private double price;
// Getter ve Setter metodları
}
```
Ardından, ürünler üzerinde işlem yapabilmek için bir ProductController sınıfı oluşturuyoruz:
```java
@RestController
@RequestMapping("/products")
public class ProductController {
@Autowired
private ProductService productService;
@GetMapping
public List
return productService.getAllProducts();
}
@PostMapping
public Product addProduct(@RequestBody Product product) {
return productService.addProduct(product);
}
}
```
Adım 4: Veri Tabanı ve Bağlantı Yapılandırması
Microservices mimarisinde, her servis kendi veri tabanına sahip olabilir. Bu yazıda, basit bir H2 veritabanı kullanacağız. Uygulamanın application.properties dosyasına şu ayarları ekliyoruz:
```properties
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
```
Bu sayede mikroservisimizin veritabanı bağlantısı tamamlanmış oluyor.
Adım 5: Servisler Arası İletişim
Mikroservisler birbirleriyle iletişim kurarken, genellikle REST API'leri üzerinden veri alışverişi yaparlar. Bu yazıda, "Feign Client" kullanarak, diğer servislerle HTTP üzerinden veri çekmek için basit bir yapı kuracağız.
```java
@FeignClient(name = "product-service", url = "http://localhost:8081")
public interface ProductServiceClient {
@GetMapping("/products")
List
}
```
Adım 6: Test ve Dağıtım
Artık mikroservisimiz hazır. Uygulamanızda eksik olan bir şey yoksa, uygulamayı test edebilir ve dağıtıma çıkabilirsiniz. Dağıtım işlemini Docker kullanarak yapabilirsiniz.
```bash
docker build -t java-microservice .
docker run -p 8080:8080 java-microservice
```
Bu kadar basit! Artık, Java ile mikroservis mimarisi kurulumuna dair temel adımları tamamladınız.