|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/adim-adim-spring-boot-ile-microservices-ve-cloud-deployment/
课程评论:没有评论
课程名称:Spring Boot与微服务及云发布 概述:大家好,本课程将介绍我们将要使用的项目架构以及相关技术。简而言之,我们将讲述我们的路线图以及如何推进。本课程将创建一个产品-订单-应用程序项目,我们可以将其想象为一个书籍清单、餐饮清单或服装清单等。用户或客户将能够查看这些产品列表并购买其中的产品,最终这些操作将被记录下来,比如记录“某用户购买了某产品”。 在这个应用中,我们将通过不同的微服务来实现这些过程。我们将使用三个微服务:API网关、产品服务和交易服务。API网关将管理API,并作为所有应用程序的入口。我们将在此处理用户管理,给予用户权限,并确保有权限的用户可以访问其他服务。 产品服务将管理产品的CRUD操作,负责产品的添加、删除和列出。交易服务将负责交易相关的CRUD操作,存储来自产品购买的记录,例如“用户X购买了产品X在日期X”。 微服务之间的依赖过程将首先由客户端访问API网关,访问API网关需要用户登录,然后通过API网关访问其他服务。Spring Security将是我们应用中的一个核心主题,我们将使用JWT来确保安全,并在微服务之间使用安全的连接,确保使用安全密钥令牌。 我们将使用PostgreSQL和H2数据库,也可以使用其他数据库,但最终我们的代码将部署到Heroku,这些数据库在Heroku上可以自由使用。因此,我们选择了这些数据库。我们将使用Retrofit库来实现微服务之间的连接,并通过Heroku创建云部署。Heroku是一个很棒的免费平台,使得我们能够通过一些配置轻松在GitHub上部署Spring Boot项目。因此,在课程结束时,我们将有一个生产级的应用程序,并且会有供大家访问的GitHub代码。 除了这些库,我们的项目中还将使用Spring Boot、Spring Security、Hibernate、PostgreSQL、Gradle、Lombok、Heroku等多种技术。Spring Boot将是我们的主要库,它将帮助我们更简单、更快速地配置数据库和数据提供。每个微服务结束时,我们将使用Postman对我们的应用进行测试,这是一个很好的网络调试工具。
Merhaba arkadaşlar,Burada, bu kurs kapsamında kullanacağımız projenin mimarisinden bahsedeceğiz. Bunun yanında elbetteki kullanacağımız teknolojilerden de ister istemez bahsetmiş olacaz. Yani kısaca road-mapimizden yani nasıl ilerleyeceğimizden konuşacaz.Bu derste ürün-sipariş-uygulama gibi bir proje oluşturacağız.Ürün-sipariş-uygulama dediğimizde kitap listesi, yemek listesi veya kıyafet listesi gibi bir ürün listesi sayfamız olacakmış gibi düşünebiliriz. Bir şekilde kullanıcılar veya müşteriler bu ürün listelerini görecek ve ürünlerden birini satın alabilecekler. Tabii ki günün sonunda bu işlem loglanacak. Loglanma derken, işte şu kullanıcı şu ürünü aldı gibi bir kayıt oluşturulacak.Aslında uygulamamızda bu süreçleri farklı mikro hizmetler ile uygulamaya çalışacağız.Bu uygulamayı hayata geçirmek için üç farklı mikro servis kullanacağız.Mikro servislerimiz api-gatewayi, product-servis ve transaction servis olacak.Api-gateway'de API'leri yöneteceğiz. Apiların iletişim noktası burası olacak. Bu mikro servis, tüm uygulama için bir ağ geçiş olacak.Diğer hizmetlere erişmek için bu mikro servisi kullanacağız. Bu mikro serviste, kullanıcı yönetimini de ele alacağız. Kullanıcılara yetki vereceğiz ve kullanıcılar yetkili ise, diğer hizmetler de mevcut olabilecek.Product-servis'te, product CRUD işlemlerini yöneteceğiz. Bu hizmet bir ürün yönetimi hizmeti olacak. Yani ürünlerin eklenmesi, silinmesi listelenmesi vs. buradan gerçekleşecek.Transaction serviste, transaction ile ilgili CRUD işlemlerini yöneteceğiz. Bu hizmet, ürün satın alımlarından gelen günlükleri saklayacaktır. Örneğin, UserX, ProductX'i DateX vb.Mikro servis bağımlılık sürecimiz nasıl olacak dersek?Her şeyden önce, istemci api-gatewaye erişecek.API ağ geçidine erişmek için, istemcinin oturum açma gerekecek elbetteki.Daha sonra diğer hizmetlere api-gateway üzerinden erişilebilecek.Spring-security uygulamamızdaki ana konulardan biri olacak.Ayrıca, güvenliği sağlamak için JWT kullanacağız.Burada önemli olan nokta, mikro servisler arasında da güvenli bağlantılar kullanacağız. Bunu sağlamak için güvenli anahtar tokenları kullanacağız.Veritabanı olarak PostgreSQL ve H2Database kullanacağız.Diğer veritabanlarını da kullanabiliriz, ancak sonunda kodlarımızı Heroku'ya yerleştireceğiz. Bu veritabanları Heroku'da serbestçe kullanılabilir, bu yüzden bu veritabanlarını seçtik.Retrofit librarisi ile mikro servisler arasında bağlantı sağlayacağız.Retrofit bizim tüm mikro servis iletişim sorunlarımızı halledecek.Tüm hizmetlerimiz için Heroku ile bulut dağıtımı oluşturacağız. Heroku harika bir ücretsiz çerçevedir. Spring-boot projelerimizi bazı konfigürasyonlarla github üzerinden kolayca dağıtabiliriz. Bu yüzden kursun sonunda üretim üzerine bir uygulamamız olacak ve github'da herkesin erişebileceği bir koda sahip olacağız.Bu kütüphanelere ek olarak, projemizde Spring Boot, Spring Security, Hibernate, PostgreSQL, Gradle, Lombok, Heroku vb. Birçok teknolojiyi kullanacağız.Elbette buradaki ana kütüphanemiz Spring-boot olacak. Veri sağlamak için kurulum, yapılandırma ve veri tabanı oluşturmanın daha basit ve daha hızlı bir yolunu sağlayacaktır.Her mikro hizmetin sonunda uygulamalarımızı Postman ile test edeceğiz. Postman, ağda hata ayıklamak için başka bir harika araçtır.