متن خبر

چگونه یک برنامه CRUD با Spring Boot، Neon Postgres و Azure App Service توسعه دهیم

چگونه یک برنامه CRUD با Spring Boot، Neon Postgres و Azure App Service توسعه دهیم

شناسهٔ خبر: 654945 -




در این مقاله، نحوه توسعه یک برنامه CRUD (ایجاد، خواندن، به‌روزرسانی، حذف) با استفاده از Spring Boot و Neon Postgres را تحلیل خواهیم کرد.

ما همچنین برنامه را در Azure App Service مستقر خواهیم کرد و با تنظیم ویژگی هایی مانند مقیاس خودکار و محیط های متعدد، آن را آماده تولید خواهیم کرد.

شما خواهید آموخت که چگونه Neon Postgres می تواند فرآیندهای توسعه و استقرار شما را در طول مسیر آسان تر کند.

در اینجا چیزی است که ما پوشش خواهیم داد:

راه اندازی پایگاه داده Neon Postgres و تحلیل ویژگی های آن

ساختن یک برنامه CRUD با استفاده از Spring Boot و استقرار برنامه در سرویس Azure App

چرا نئون برای زیرساخت هایی که به صورت خودکار مقیاس می شوند مناسب است

انشعاب پایگاه داده در Neon Postgres و اینکه چگونه می تواند گردش کار توسعه را تسهیل کند

پیش نیازها

آشنایی با جاوا، Maven و Spring Boot

مبانی پایگاه های داده SQL

آشنایی با سرویس های بدون سرور و ابری

آشنایی با فرآیندهای تست و استقرار

فهرست مطالب

Neon Postgres چیست؟

نحوه راه اندازی پایگاه داده

پایگاه داده را ایجاد کنید

نحوه ساخت اپلیکیشن Spring Boot CRUD

یک کلاس Entity ایجاد کنید

یک مخزن ایجاد کنید

یک کنترلر REST ایجاد کنید

پایگاه داده را پیکربندی کنید

نحوه استقرار در سرویس Azure App

یک وب اپلیکیشن جدید ایجاد کنید

برنامه را مستقر کنید

دسترسی به برنامه

نحوه تنظیم مقیاس خودکار

مقیاس خودکار در Azure

مقیاس خودکار در نئون

نحوه پیکربندی شاخه های پایگاه داده در نئون

خلاصه

Neon Postgres چیست؟

Neon یک پلت فرم پایگاه داده Postgres بدون سرور کاملاً مدیریت شده است. ویژگی هایی مانند در دسترس بودن بالا، پشتیبان گیری خودکار و گزینه های مقیاس بندی برای مدیریت سطوح مختلف ترافیک را ارائه می دهد.

نئون به گونه ای طراحی شده است که مقرون به صرفه و سازگار با توسعه دهندگان باشد و بر ارائه یک تجربه یکپارچه برای توسعه دهندگان تمرکز دارد.

علاوه بر آپشن های استاندارد Postgres، قابلیت‌هایی مانند انشعاب پایگاه داده را فراهم می‌کند که به شما امکان می‌دهد شاخه‌های Git مانند پایگاه داده را برای اهداف مختلف ایجاد کنید.

نحوه راه اندازی پایگاه داده

برای شروع، بیایید تحلیل کنیم که چگونه می توانید یک پایگاه داده نئون را برای برنامه خود راه اندازی کنید.

دیگر اخبار

مهران مدیری خودش از جشنواره فیلم فجر کنار کشید یا کنارش گذاشتند؟

ابتدا باید یک حساب کاربری در وب سایت نئون ایجاد کنید . برای ثبت‌نام نیازی به کارت اعتباری نیست و برای شروع به‌طور خودکار سطح رایگان را تنظیم می‌کنید.

در اینجا مقایسه قیمت و ویژگی های پلن های نئون آمده است:

تصویری <a href= از طرح‌های قیمت‌گذاری در نئون که آپشن های رایگان و پولی را فهرست می‌کند” width=”800″ height=”527″ loading=”lazy”>
طرح های قیمت گذاری نئون

در سطح رایگان، ما 0.5 گیگابایت فضای ذخیره سازی با محاسبات اولیه دریافت می کنیم که برای بازی با پایگاه داده و ساخت برنامه های کوچک کافی است.

پایگاه داده را ایجاد کنید

پس از ثبت نام، می توانید به داشبورد دسترسی داشته باشید و یک پروژه جدید ایجاد کنید.

با پر کردن نام پروژه، منطقه و گزینه های نسخه Postgres ستاره دار شوید. علاوه بر این، ما می توانیم دو گزینه اضافی را انتخاب کنیم:

اندازه محاسبه – شما می توانید اندازه محاسبه حداقل و حداکثر را برای پایگاه داده انتخاب کنید. این برای مقیاس خودکار پایگاه داده بر اساس بار مفید است.

زمان تعلیق – می توانید زمانی را تعیین کنید که پس از آن پایگاه داده در صورت عدم استفاده به حالت تعلیق در می آید. این برای صرفه جویی در هزینه زمانی که پایگاه داده استفاده نمی شود مفید است.

فرم با مشخصات مورد نیاز هنگام ایجاد پایگاه داده
ایجاد پروژه پایگاه داده در نئون

هنگامی که فرم را ارسال کردید، Neon پایگاه داده را ایجاد می کند و جزئیات اتصال را ارائه می دهد.

داشبورد نئونی <a href= که پروژه را نشان می دهد آماده است. همچنین جزئیات اتصال را نشان می دهد.” width=”800″ height=”527″ loading=”lazy”>
داشبورد نئون

همانطور که می بینید، پایگاه داده در 3.3 ثانیه راه اندازی شد (در مقایسه با ساعت ها نصب و راه اندازی زیرساخت خود). شما می توانید چندین راه را برای اتصال به پایگاه داده انتخاب کنید. برای این آموزش، جاوا را به عنوان زبان برنامه نویسی خود انتخاب کنید و رشته اتصال JDBC را دریافت کنید.

نحوه ساخت اپلیکیشن Spring Boot CRUD

بعد، بیایید برنامه CRUD خود را راه اندازی کنیم. ما از Spring Boot استفاده خواهیم کرد، زیرا بوت استرپ و پیکربندی آسان برای ساخت برنامه های وب را فراهم می کند.

ما می توانیم از Spring Initializr برای ایجاد یک پروژه Spring Boot جدید با وابستگی های لازم استفاده کنیم:

Spring Web – برای ساخت برنامه های کاربردی وب

Spring Data JPA – برای کار با پایگاه های داده با استفاده از JPA

درایور PostGres – برای اتصال به پایگاه داده Postgres

فرم وب سایت Spring Initializer برای انتخاب مشخصات و وابستگی های پروژه بوت فنری
ایجاد پروژه Spring Boot با استفاده از Spring Initializer

می توانید پروژه را تولید، دانلود و به IDE مورد علاقه خود وارد کنید.

یک کلاس Entity ایجاد کنید

بیایید یک کلاس entity برای نمایش داده ها در برنامه ایجاد کنیم. ابتدا یک کلاس User ایجاد کنید:

 @Entity(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String email; // Constructors, Getters and Setters }

Enity name users نام جدولی است که می خواهید در پایگاه داده خود استفاده کنید.

یک مخزن ایجاد کنید

در مرحله بعد، یک رابط مخزن برای تعامل با پایگاه داده ایجاد کنید. رابط JpaRepository ارائه شده توسط Spring Data JPA را گسترش خواهید داد:

 @Repository public interface UserRepository extends JpaRepository<User, Long> { }

باید رابط را با @Repository حاشیه نویسی کنید تا آن را به عنوان Spring bean علامت گذاری کنید. رابط JpaRepository متدهایی را برای عملیات CRUD مانند save ، findAll ، findById ، delete و غیره ارائه می دهد، پس نیازی به نوشتن پرس و جوها به صورت دستی نیست.

شما کلاس موجودیت User و نوع کلید اصلی Long به عنوان آرگومان نوع را در رابط JpaRepository ارائه خواهید کرد.

یک کنترلر REST ایجاد کنید

در نهایت، یک کنترلر REST برای مدیریت عملیات CRUD ایجاد کنید. UserRepository به کنترلر تزریق می کنید و نقاط پایانی لازم را پیاده سازی می کنید:

 @RestController @RequestMapping("/users") public class UserController { private final UserRepository userRepository; public UserController(UserRepository userRepository) { this.userRepository = userRepository; } @GetMapping public List<User> getUsers() { return userRepository.findAll(); } @PostMapping public User createUser(@RequestBody User user) { return userRepository.save(user); } @PutMapping("/{id}") public User updateUser(@PathVariable Long id, @RequestBody User user) { user.setId(id); return userRepository.save(user); } @DeleteMapping("/{id}") public void deleteUser(@PathVariable Long id) { userRepository.deleteById(id); } }

در اینجا چند نکته قابل توجه است:

شما از حاشیه نویسی @RestController برای علامت گذاری کلاس به عنوان کنترل کننده ای استفاده می کنید که درخواست های REST را مدیریت می کند.

حاشیه نویسی @RequestMapping نشانی وب پایه را برای نقاط پایانی مشخص می کند.

شما در حال تزریق UserRepository به کنترلر با استفاده از تزریق سازنده هستید.

در نهایت، شما در حال پیاده‌سازی نقاط انتهایی API خود برای عملیات CRUD با استفاده از حاشیه‌نویسی‌های @GetMapping ، @PostMapping ، @PutMapping و @DeleteMapping هستید.

پایگاه داده را پیکربندی کنید

برای اتصال برنامه Spring Boot خود به پایگاه داده Neon Postgres، باید URL پایگاه داده، نام کاربری و رمز عبور را در فایل application.properties پیکربندی کنید:

 spring.datasource.url=jdbc:postgresql://<db-url>/<db-name>?sslmode=require spring.datasource.username=<username> spring.datasource.password=<password> spring.jpa.hibernate.ddl-auto=update

در اینجا، URL پایگاه داده، نام کاربری و رمز عبور ارائه شده توسط Neon هنگام ایجاد پایگاه داده را پیکربندی کردید. ویژگی spring.jpa.hibernate.ddl-auto=update به Spring Boot می گوید که به طور خودکار جداول یا ستون های لازم را بر اساس کلاس های موجودیت هنگام شروع برنامه ایجاد کند.

نحوه استقرار در سرویس Azure App

اکنون که برنامه Spring Boot شما آماده است، وقت آن است که آن را در سرویس Azure App استفاده کنید.

یک وب اپلیکیشن جدید ایجاد کنید

برای استقرار برنامه Spring Boot خود در Azure App Service، ابتدا یک Web App جدید ایجاد می کنید. با دنبال کردن مراحل زیر می توانید این کار را از طریق پورتال Azure انجام دهید:

وارد پورتال Azure شوید.

روی دکمه Create a resource کلیک کنید.

Web App را جستجو کرده و گزینه Create را انتخاب کنید.

جزئیات لازم مانند گروه منبع، نام برنامه، پشته زمان اجرا و منطقه را پر کنید.

روی دکمه Review + create کلیک کنید.

فرم ایجاد یک برنامه وب در Azure
ایجاد یک برنامه وب در Azure

برنامه را مستقر کنید

ایجاد برنامه وب چند دقیقه طول می کشد. پس از اتمام، می توانید برنامه Spring Boot خود را در سرویس Azure App مستقر کنید.

یکی از ساده ترین راه ها برای استقرار این است که برنامه Spring Boot خود را به عنوان یک فایل JAR بسته بندی کنید و آن را با استفاده از Azure CLI در سرویس Azure App استفاده کنید.

برای این کار دستورات زیر را اجرا کنید:

 mvn package az webapp deploy --src-path neon-demo-0.0.1-SNAPSHOT.jar --resource-group learn-ba1a439c-71ca-4cab-9bb1-f5b1331bab04 --name neon-app

در اینجا، شما برنامه Spring Boot خود را با استفاده از Maven بسته بندی می کنید و فایل JAR را با استفاده از Azure CLI در سرویس Azure App Service مستقر می کنید. شما مسیر فایل JAR، گروه منابع و نام برنامه را که قبلاً پیکربندی کرده‌اید، ارائه کرده‌اید.

دسترسی به برنامه

پس از تکمیل استقرار، می‌توانید با رفتن به URL برنامه وب، به برنامه Spring Boot خود در سرویس Azure App Service دسترسی پیدا کنید. برنامه شما در neon-app.azurewebsites.net موجود است

بیایید از _curl _ برای تست نقاط پایانی استفاده کنیم.

یک کاربر ایجاد کنید

 curl -X POST -d '{"name":"John Doe","email":"john@gmail.com"}' https://neon-app.azurewebsites.net/users

در اینجا شما داده های کاربر را با فرمت JSON برای ایجاد یک کاربر جدید ارائه می دهید.

دریافت کاربران

همچنین می توانید آزمایش کنید که کاربر با واکشی همه کاربران ایجاد شده است:

 curl -X GET https://neon-app.azurewebsites.net/users

نحوه تنظیم مقیاس خودکار

یک برنامه تولید ممکن است سطوح مختلفی از ترافیک را تجربه کند، و مهم است که برنامه را به صورت پویا بر اساس بار مقیاس بندی کنید.

بیایید تحلیل کنیم که چگونه می توانید در صورت نیاز مقیاس خودکار برنامه خود را تغییر دهید.

مقیاس خودکار در Azure

Azure App Service گزینه های مقیاس خودکار را ارائه می دهد که به شما امکان می دهد تعداد نمونه ها را در صورت نیاز به طور خودکار تنظیم کنید.

با دنبال کردن مراحل زیر می توانید قوانین مقیاس خودکار را در پورتال Azure پیکربندی کنید:

به برنامه وب در پورتال Azure بروید.

از منوی سمت چپ روی گزینه Scale out (App Service Plan) کلیک کنید.

قوانین مقیاس خودکار را پیکربندی کنید – می توانید قوانین از پیش تعریف شده مانند ترافیک را انتخاب کنید یا قوانین سفارشی را بر اساس معیارهایی مانند استفاده از CPU، استفاده از حافظه یا معیارهای سفارشی ایجاد کنید.

صرفه جویی.

Azure به طور خودکار برنامه را بر اساس قوانین پیکربندی شده مقیاس می دهد.

مقیاس خودکار در نئون

از آنجایی که برنامه شما به طور خودکار بر اساس بار مقیاس بندی می شود، باید اطمینان حاصل کنید که پایگاه داده می تواند ترافیک افزایش یافته را مدیریت کند.

نئون گزینه های مقیاس خودکار را برای مقیاس بندی پویا پایگاه داده بر اساس بار ارائه می دهد. می‌توانید قوانین مقیاس‌بندی خودکار را در داشبورد نئون پیکربندی کنید تا مطمئن شوید پایگاه داده می‌تواند بار افزایش‌یافته را مدیریت کند.

مراحل زیر را برای پیکربندی مقیاس خودکار در نئون دنبال کنید:

    به داشبورد نئون بروید و پایگاه داده را انتخاب کنید. سپس شاخه را برای پیکربندی خودکار مقیاس انتخاب کنید.

داشبورد پروژه نئون با بخش شاخه ها برجسته شده است
انتخاب شعبه از داشبورد پروژه نئون

۲- روی دکمه Edit در کنار قسمت Compute کلیک کنید. قوانین مقیاس خودکار را بر اساس معیارهایی مانند استفاده از CPU، استفاده از حافظه یا معیارهای سفارشی پیکربندی کنید.

مشاهده جزئیات شاخه در نئون با دکمه ویرایش در بخش محاسبات برجسته شده است
نمای جزییات شعبه در نئون

3. حداقل اندازه محاسبه و ذخیره را پیکربندی کنید. Neon به طور خودکار پایگاه داده را بر اساس قوانین پیکربندی شده در صورت نیاز مقیاس می کند.

فرم <a href= را برای فعال کردن مقیاس خودکار و انتخاب حداقل و حداکثر اندازه محاسبه” width=”678″ height=”803″ loading=”lazy”>
تنظیم مقیاس خودکار برای محاسبه

اطمینان از اینکه برنامه و پایگاه داده می توانند به صورت پویا بر اساس بار مقیاس شوند، به شما کمک می کند تا سطوح مختلف ترافیک را به طور موثر مدیریت کنید.

نحوه پیکربندی شاخه های پایگاه داده در نئون

در یک گردش کار توسعه معمولی، چندین پایگاه داده ممکن است برای اهداف مختلف مانند توسعه، آزمایش و تولید استفاده شود.

Neon Postgres انشعاب پایگاه داده را برای ایجاد چندین شاخه برای اهداف مختلف فراهم می کند. هر شاخه نمونه ای از پایگاه داده است که می توانید به طور مستقل از آن استفاده کنید.

این ویژگی Git مانند به تنظیم یک کپی از پایگاه داده برای محیط های مختلف مانند توسعه، مرحله بندی و تولید کمک می کند. همچنین به حفظ داده ها برای نسخه های مختلف برنامه کمک می کند.

بیایید نحوه ایجاد و مدیریت شعب در Neon Postgres را تحلیل کنیم:

به داشبورد نئون بروید و پایگاه داده را انتخاب کنید.

در قسمت Branches بر روی دکمه View All کلیک کنید.

با کلیک بر روی دکمه Create Branch می توانید یک شعبه جدید از شعبه موجود ایجاد کنید. باید نام شعبه و اینکه چه داده هایی را از شعبه والد کپی کنید، ارائه دهید.

نمای شاخه ها با گزینه ایجاد شعبه قابل مشاهده است
گزینه ایجاد شعبه

می‌توانید همه داده‌ها را کپی کنید یا تا یک نقطه زمانی یا یک رکورد خاص کپی کنید. این برای اهداف متعدد مانند بازیابی داده ها، ایجاد یک محیط جدید یا آزمایش ویژگی های جدید مفید است.

ایجاد یک شاخه جدید <a href= از یک شاخه موجود” width=”561″ height=”737″ loading=”lazy”>
ایجاد شعبه جدید

نئون شاخه جدیدی از پایگاه داده ایجاد می کند که می تواند به طور مستقل استفاده شود. می‌توانید URL، نام کاربری و رمز عبور شعبه جدید را در داشبورد پیدا کنید. و این در زمان واقعی و بدون هیچ گونه خرابی و تاخیر اتفاق می افتد.

جزئیات اتصال ویژه شعبه
جزئیات اتصال ویژه شعبه

اکنون می توانید از شاخه dev خود برای توسعه و آزمایش محلی و از شاخه main برای تولید استفاده کنید. این به جدا نگه داشتن داده ها کمک می کند و تضمین می کند که تغییرات در یک شاخه بر شاخه های دیگر تأثیر نمی گذارد.

خلاصه

در این مقاله، ما یک برنامه CRUD با استفاده از Spring Boot، Neon Postgres و Azure App Service ساختیم.

نحوه راه‌اندازی پایگاه داده Neon Postgres، ساخت یک برنامه CRUD اولیه با استفاده از Spring Boot، استقرار برنامه در Azure App Service و پیکربندی مقیاس خودکار برای برنامه و پایگاه داده را تحلیل کردیم.

ما همچنین یاد گرفتیم که چگونه ویژگی انشعاب پایگاه داده در Neon Postgres به شما کمک می کند تا شاخه هایی از پایگاه داده را برای محیط ها و اهداف مختلف ایجاد کنید.

خبرکاو

برچسب‌ها

ارسال نظر

دیدگاه‌ها بسته شده‌اند.


تبليغات ايهنا تبليغات ايهنا

تمامی حقوق مادی و معنوی این سایت متعلق به خبرکاو است و استفاده از مطالب با ذکر منبع بلامانع است