Helpex - Trao đổi & giúp đỡ Đăng nhập

The Microservices Way Part 1

Microservices , đang thịnh hành ngay bây giờ, cho dù bạn muốn hay không. Có những lý do chính đáng cho điều đó vì nó giải quyết nhiều vấn đề mà các tổ chức đang phải đối mặt. Nó cũng mở ra một hộp Pandora khi các vấn đề mới liên tục xuất hiện… Nhưng đó là câu chuyện của một ngày khác: cuối cùng, microservices vẫn ở đây.

Trong loạt bài viết này, tôi sẽ sử dụng một hệ sinh thái ứng dụng Spring Boot đơn giản và biến nó thành các microservices để triển khai chúng vào Đám mây. Ví dụ: tôi sẽ sử dụng một cửa hàng thương mại điện tử, yêu cầu các dịch vụ khác nhau như:

  • một dịch vụ tài khoản
  • một dịch vụ sản phẩm
  • một dịch vụ xe đẩy
  • Vân vân.

Tuần này dành riêng để tạo một ứng dụng REST mẫu liệt kê các sản phẩm. Nó dựa trên Spring Boot vì Boot giúp cho việc phát triển một ứng dụng như vậy trở nên dễ dàng, như sẽ thấy trong phần còn lại của bài viết này.

Hãy sử dụng Maven. Phần liên quan của POM là:

<project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.0.M5</version>
  </parent>
  <groupId>ch.frankel.microservice</groupId>
  <artifactId>microservice-sample</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <properties>
    <java.version>1.8</java.version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-rest</artifactId>
    </dependency>
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
</project>

Vừa đủ dễ:

  1. Sử dụng Java 8
  2. Kế thừa từ Spring Boot cha mẹ POM
  3. Thêm phần phụ thuộc vào Spring Data JPA & Spring Data REST
  4. Thêm nhà cung cấp cơ sở dữ liệu, h2 ngay bây giờ

Bước tiếp theo là điểm nhập ứng dụng, đó là lớp chính Spring Boot tiêu chuẩn:

@SpringBootApplication
public class ProductApplication {

    public static void main(String... args) {
        SpringApplication.run(ProductApplication.class);
    }
}

Nó rất đơn giản, nhờ Spring Boot suy ra những phụ thuộc nào nằm trên classpath.

Bên cạnh đó, nó chỉ thêm một Product lớp thực thể đơn giản  và một giao diện kho lưu trữ Dữ liệu mùa xuân:

@Entity
public class Product {

    @Id
    @GeneratedValue(strategy = AUTO)
    private long id;

    private String name;

    // Constructors and getters
}

public interface ProductRepository extends JpaRepository<Product, Long> {}

Tại thời điểm này, chúng tôi đã hoàn thành. Spring Data REST sẽ tự động cung cấp một điểm cuối REST cho kho lưu trữ. Sau khi thực thi lớp chính của ứng dụng, duyệt đến  http: // localhost: 8080 / products  sẽ mang lại danh sách các sản phẩm có sẵn ở định dạng JSON.

Nếu bạn không tin điều này dễ dàng như thế nào, thì bạn có thể xem qua  repo Github  và chỉ cần khởi chạy ứng dụng với  mvn spring-boot:run. Có một tập lệnh để điền dữ liệu ban đầu hiện có.

Tuần tới, tôi sẽ cố gắng tải ứng dụng lên đám mây (có thể là trong số  Cloud FoundryHeroku  và  YaaS ).

10 hữu ích 0 bình luận 6.0k xem chia sẻ

Có thể bạn quan tâm

loading