Thông tin về lớp học lập trình này
1. Trước khi bắt đầu
Ứng dụng App Engine rất dễ tạo, dễ bảo trì và dễ mở rộng khi lưu lượng truy cập và bộ nhớ dữ liệu của bạn cần thay đổi. Với App Engine, không có máy chủ nào để duy trì. Bạn chỉ cần tải ứng dụng của mình lên và ứng dụng đã sẵn sàng hoạt động.
Ứng dụng App Engine tự động mở rộng dựa trên lưu lượng truy cập đến. Cân bằng tải, dịch vụ vi mô, ủy quyền, cơ sở dữ liệu SQL và NoSQL, bộ nhớ đệm, chia tách lưu lượng truy cập, ghi nhật ký, tìm kiếm, tạo phiên bản, phát hành và khôi phục và quét bảo mật đều được hỗ trợ riêng và có thể tùy chỉnh cao.
Môi trường tiêu chuẩn của App Engine và Môi trường linh hoạt của App Engine hỗ trợ máy chủ lưu trữ các ngôn ngữ lập trình, bao gồm Java, Python, PHP, NodeJS và Go. Hai môi trường này cho phép nhà phát triển tối đa hóa cách hoạt động của ứng dụng. Mỗi môi trường đều có những độ mạnh nhất định. Để biết thêm thông tin, hãy xem bài viết Chọn môi trường App Engine.
Bạn sẽ tìm hiểu cách triển khai ứng dụng Spring Boot vào môi trường tiêu chuẩn của App Engine. Môi trường tiêu chuẩn sẽ giảm tỷ lệ này thành 0 phiên bản khi không có ai sử dụng và tự động tăng tỷ lệ!
Điều kiện tiên quyết
- Làm quen với công cụ và ngôn ngữ lập trình Java
- Kiến thức về các trình chỉnh sửa văn bản Linux tiêu chuẩn, chẳng hạn như Vim, Emacs và nano
Bạn sẽ thực hiện
- Cách tạo ứng dụng Java Spring Boot trên App Engine
Bạn cần có
- Một dự án Google Cloud
- Một trình duyệt, chẳng hạn như Google Chrome
2. Thiết lập và các yêu cầu
Thiết lập môi trường theo tiến độ riêng
- Đăng nhập vào Cloud Console rồi tạo một dự án mới hoặc sử dụng lại một dự án hiện có. (Nếu chưa có tài khoản Gmail hoặc G Suite, thì bạn phải tạo một tài khoản.)
Hãy ghi nhớ mã dự án, một tên duy nhất trên tất cả các dự án Google Cloud (tên ở trên đã được sử dụng và sẽ không hoạt động cho bạn!). Lớp học này sẽ được gọi sau này trong lớp học lập trình này là PROJECT_ID
.
- Tiếp theo, bạn sẽ cần bật tính năng thanh toán trong Cloud Console để sử dụng tài nguyên của Google Cloud.
Nếu tham gia lớp học lập trình này, bạn sẽ không mất quá vài đô la, nhưng có thể sẽ hiệu quả hơn nếu bạn quyết định sử dụng nhiều tài nguyên hơn hoặc nếu bạn để các tài nguyên đó chạy.
Người dùng mới của Google Cloud đủ điều kiện dùng thử 300 đô la dùng thử miễn phí.
Cloud Shell
Bạn sẽ sử dụng Cloud Shell, một môi trường dòng lệnh chạy trong Google Cloud.
Kích hoạt Cloud Shell
- Từ Cloud Console, hãy nhấp vào Kích hoạt Cloud Shell
.
Nếu bạn chưa từng khởi động Cloud Shell trước đây, thì bạn sẽ được trình bày với một màn hình trung gian (dưới màn hình đầu tiên) mô tả đó là gì. Nếu trường hợp đó xảy ra, hãy nhấp vào Tiếp tục (và bạn sẽ không bao giờ nhìn thấy lại). Đây là giao diện của màn hình một lần:
Chỉ mất vài phút để cấp phép và kết nối với Cloud Shell.
Máy ảo này được tải bằng tất cả các công cụ phát triển mà bạn cần. cung cấp một thư mục gốc 5GB cố định và chạy trong Google Cloud, qua đó nâng cao đáng kể hiệu suất và khả năng xác thực mạng. Phần lớn, nếu không phải là tất cả công việc của bạn trong lớp học lập trình này, thì bạn chỉ cần thực hiện một trình duyệt hoặc Chromebook của mình.
Sau khi kết nối với Cloud Shell, bạn sẽ thấy rằng bạn đã được xác thực và dự án đã được đặt thành mã dự án của bạn.
- Chạy lệnh sau trong Cloud Shell để xác nhận rằng bạn đã được xác thực:
gcloud auth list
Đầu ra lệnh
Credentialed Accounts ACTIVE ACCOUNT * <my_account>@<my_domain.com> To set the active account, run: $ gcloud config set account `ACCOUNT`
gcloud config list project
Đầu ra lệnh
[core] project = <PROJECT_ID>
Nếu chưa, bạn có thể đặt lệnh đó bằng lệnh sau:
gcloud config set project <PROJECT_ID>
Đầu ra lệnh
Updated property [core/project].
3. Tạo ứng dụng web mới mùa xuân
Sau khi Cloud Shell khởi chạy, bạn có thể sử dụng dòng lệnh để tạo một ứng dụng Spring Boot mới với Spring Initializr.
$ curl https://start.spring.io/starter.tgz \ -d bootVersion=2.1.8.RELEASE \ -d dependencies=web \ -d baseDir=gae-standard-example | tar -xzvf - $ cd gae-standard-example
4. Cập nhật Maven pom.xml
Có hai cách để triển khai ứng dụng máy chủ Java, bằng cách sử dụng Trình bổ trợ Maven App Engine hoặc Trình bổ trợ App Engine của Gradle, hoặc bằng cách triển khai thư mục gói war
. Bạn sẽ sử dụng Trình bổ trợ Engine App Maven để triển khai ứng dụng.
Thêm trình bổ trợ Maven App Engine
Cập nhật pom.xml
để thêm một trình bổ trợ Google Cloud giúp đơn giản hóa quá trình triển khai. Bạn có thể sử dụng Vim, nano hoặc Emacs để chỉnh sửa tệp.
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" ...>
...
<build>
<plugins>
...
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>2.1.0</version>
<configuration>
<version>1</version>
<projectId>GCLOUD_CONFIG</projectId>
</configuration>
</plugin>
...
</plugins>
</build>
</project>
5. Thêm bộ mô tả App Engine
- Để triển khai ứng dụng cho môi trường tiêu chuẩn của App Engine, bạn phải tạo một tệp mô tả
src/main/appengine/app.yaml
mới.
$ mkdir -p src/main/appengine/ $ touch src/main/appengine/app.yaml
- Chỉnh sửa tệp
src/main/appengine/app.yaml
và thêm nội dung sau:
src/main/appengine/app.yaml
runtime: java11
instance_class: F4
6. Thêm bộ điều khiển
Thêm một bộ điều khiển mới trả về "hello world!"
trong DemoApplication.java
.
src/main/java/com/example/demo/DemoApplication.java
package com.example.demo;
...
// Add imports
import org.springframework.web.bind.annotation.*;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/")
public String hello() {
return "hello world!";
}
}
7. Chạy ứng dụng trên máy
- Bạn có thể khởi động ứng dụng Spring Boot bằng trình bổ trợ Spring Boot:
$ ./mvnw -DskipTests spring-boot:run
- Sau khi ứng dụng khởi động, hãy nhấp vào Xem trước trên web
trong thanh công cụ Cloud Shell rồi chọn Xem trước trên cổng 8080.
Một thẻ trong trình duyệt sẽ mở ra và kết nối với máy chủ mà bạn đã khởi động.
8. Triển khai ứng dụng cho App Engine
- Trước tiên, hãy khởi chạy dự án để có thể chạy các ứng dụng App Engine. Ngoài ra, hãy chạy dự án này để chạy ở khu vực trung tâm của Hoa Kỳ.
$ gcloud app create --region us-central You are creating an app for project [...]. WARNING: Creating an App Engine application for a project is irreversible and the region cannot be changed. More information about regions is at https://cloud.google.com/appengine/docs/locations
- Sau đó, hãy triển khai ứng dụng của bạn tới môi trường tiêu chuẩn của App Engine bằng cách chạy
mvn appengine:deploy
.
$ ./mvnw -DskipTests package appengine:deploy ... first time deploy may take a couple of minutes
- Sau khi ứng dụng được triển khai, bạn có thể truy cập ứng dụng bằng cách mở http://<project-id>.appspot.com trong trình duyệt web hoặc sử dụng lệnh sau trong Cloud Shell:
$ gcloud app browse ... [It may print out the URL for your app]