Spring Boot ve Spring Cloud Kullanan Mikro Hizmetler
Yayınlanan: 2020-09-04İçindekiler
Mikro Hizmetlere Giriş
Mikro hizmetler, karmaşık bir iş hedefine ulaşmak için birbirleriyle çalışan küçük, kendine güvenen hizmetlerdir. Bu hizmetler, farklı programlama dilleri ve veri depoları kullanılarak çeşitli geliştirme ekipleri tarafından oluşturulabilecek şekilde bağımsız ve eksiksizdir. Mikro hizmetler ayrı ayrı ölçeklenebilir ve otomatik olarak dağıtılabilir. Bakımları kolaydır ve monolitik hizmetlere kıyasla daha fazla hata toleransı sağlarlar. Yine de, gevşek bir şekilde bağlıdırlar ve daha büyük bir uygulamanın hedeflerine ulaşmak için birbirleriyle etkileşime girme yeteneğine sahiptirler.
Bir mikro hizmet mimarisi kullanarak yazılım oluşturabilmeniz için piyasada çeşitli araçlar mevcuttur. Spring Cloud ve Spring Boot, popüler Java mikro hizmet çerçeveleridir.
Spring Boot, Java web uygulamaları geliştirmek için kullanılan Spring çerçevesi kullanılarak oluşturulmuş, üzerinde düşünülmüş bir uygulama geliştirme platformudur. Aynı zamanda özelleştirilebilir ve gereksinimlerinize göre yapılandırabilirsiniz. Bahar bulutu öğreticisinin temel yönleri bu blogda tartışılacaktır.
Spring Boot ve Spring Cloud Kullanan Mikro Hizmetler
Bu Spring Cloud öğreticisi , Spring Boot ve Spring Cloud kullanarak basit bir mikro hizmet uygulaması oluşturmaya ilişkin temel bir genel bakış sağlar. Ayrıca öğretici, öğrenme hedeflerinize ulaşmanıza yardımcı olacak ilgili belgelere bağlantılar sağlar. Aşağıdakileri yapmanız gerekecek:
1. Spring Başlatıcıyı Kullanarak Spring Boot Kullanarak Yeni Bir Hizmet Oluşturun
Spring Cloud öğreticisine göre , ilk adım Spring Initializer kullanarak bir proje yapısı oluşturmaktır. Başlatıcı, projeniz için ihtiyaç duyduğunuz tüm bağımlılıkları eklemenin hızlı bir yolunu sağlar. Örneğin, Maven projesini, Java'yı ve Spring Boot sürüm 2.0.0'ı seçebilirsiniz. Maven projeleri, Java'daki paket ve sınıfa benzer bir grup kimliği ve Artefakt Kimliği gerektirir.
Ayrıca, örneğin Web (web uygulamaları geliştirmeye başlamak için), DevTools (uygulama geliştirmeyi kolaylaştırır), Aktüatör (uygulamayı izlemek için) ve Config Client ( uygulamayı Spring Config'e bağlamak için) gibi bağımlılıkları da seçmeniz gerekecektir. sunucu). Tüm seçenekleri seçtikten sonra projeyi oluşturacaksınız. Daha fazla bilgi edinmek için, RESTful Web Hizmeti Oluşturma kaynağında Spring Initializer ile Başlatma bölümüne bakın. Veritabanına nasıl bağlanılacağını öğrenmek için Spring Data JPA'ya bakın .

2. Hizmet Adlandırma ve Keşfini Sağlayın
Mimarideki başka bir hizmetin onları aradığını keşfetmek için tüm mikro hizmetlerin kaydedilmesi gerekir. Örneğin, belirli bir hizmet, belirli bir ortamda yeniden çalışan başka bir hizmetin tüm örneklerini bulmak isteyebilir. Bu bahar bulut eğitiminde , adlandırma sunucusunun tüm hizmetler ve örnekleriyle ilgili bilgileri depoladığını ve bu bilgileri arayanlara sağladığını öğreneceksiniz. Böylece hizmet keşfi sürecinde yardımcı olur. Hizmet kaydı ve keşfi hakkında daha fazla bilgi için Spring Cloud ve Netflix'in Eureka'sı ile Mikro Hizmet Kaydı ve Keşfi'ne bakın .

Okuyun: Spring Boot Projeleri ve Konuları
3. Diğer Mikro Hizmetleri Çağırın
Spring Cloud ile diğer bileşenlere ve hizmetlere birden fazla çağrı yapılması gerekir. Bu, web hizmeti istemcilerini daha kolay yazmanızı sağlayarak sürecin karmaşıklığını ortadan kaldıran Feign kullanılarak elde edilir. Daha fazla bilgi edinmek için Spring Cloud Open Feign'a bakın .
4. Yük Dengelemeyi Sağlayın
Bu bahar bulut öğreticisine göre, Feign ayrıca istemci tarafı yük dengeleme çerçevesi olan Ribbon ile entegrasyon sağlar. Şerit, çağrıları dağıtmak ve başka bir hizmetin bağlanmak istediği bir hizmetin tüm örnekleri arasında dengelemek için Feign yapılandırmasının kullanılmasına yardımcı olur. Daha fazla bilgi için Şerit ve Yay Bulutu ile İstemci Tarafı Yük Dengeleme bölümüne bakın .
5. Spring Cloud Config Sunucusunu Kullanarak Mikro Hizmetler Yapılandırmasını Merkezi Olarak Yönetin
Bu bahar bulut öğreticisine göre, bir uygulama birden çok mikro hizmeti, bu mikro hizmetler için birden çok ortamı ve ayrıca bu hizmetlerin ortamlarda çalışan çeşitli örneklerini kullanır. Spring Configuration Server, bu tür tüm mikro hizmet örnekleriyle ilgili yapılandırma bilgilerini depolamak için merkezi bir konum sağlar.
Sonuç olarak, bu yapılandırma tek bir yerde bulunur ve mimarideki herhangi bir hizmet tarafından kullanılması gerekir. Yapılandırmayı merkezi olarak yönetmek için, yeni bir hizmetle ilgili özellikleri tanımlayacak ve ardından Git'i kod deposu olarak kullanarak ilişkili Spring Config sunucusuna bağlanacaksınız. Daha fazla bilgi edinmek için Spring Config'e Genel Bakış belgelerine bakın . Spring Config'i Git'e nasıl bağlayacağınızı öğrenmek için Spring Cloud Config'e bakın .
Ayrıca Okuyun: Hindistan'da Bahar Geliştirici Maaşı
6. Spring Cloud ile Güvenliği Sağlayın
Yüzlerce mikro hizmetin birlikte çalıştığı bir mikro hizmet mimarisinde, kimlik doğrulama ve yetkilendirme kontrollerinin olması çok önemlidir. Güvenlik dışında metrikler, limitler vb. hususlar da vardır. Bir API Ağ Geçidi, tüm hizmetlerde ortak olan özelliklerin uygulanmasını mümkün kılar.

Örneğin, Zuul Server, istekleri işleyen ve mikro hizmet uygulamalarının dinamik yönlendirmesini gerçekleştiren bir API Ağ Geçidi uygulamasıdır. Bu bahar bulut eğitiminde daha fazla bilgi edinmek için Spring Cloud Gateway'e bakın .
7. Hata Toleransını Etkinleştir
Mikro hizmetleri uygularken dikkate alınması gereken önemli bir nokta, bir bileşenin çalışmayı durdurması durumunda tüm uygulamanın durabilmesidir. Hystrix çerçevesi, bir yöntem çağrısı başarısız olduğunda işlevselliği zarif bir şekilde yükseltebileceğiniz, hataya dayanıklı mikro hizmetler oluşturmaya yardımcı olur. Bu, ilgili bir hizmet başarısız olduğunda bir mikro hizmetin çalışmaya devam etmesini sağlayarak, hatanın basamaklanmasını önler ve başarısız olan hizmete kurtarması için zaman tanır.
Kontrol edin: Spring Bean Yaşam Döngüsü Açıklandı
Çözüm
Umarım, bu Bahar Bulutu öğreticisi , başlamanız için önemli bir başlangıç noktası görevi görecektir.
Spring Cloud hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik zorlu eğitim, 9+ proje ve ödev, IIIT sunan Full-stack Yazılım Geliştirmede PG Diplomasına göz atın -B Mezunu statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.