Giới thiệu về Spring Cloud
1. Tổng quan về Spring Cloud
Spring là một nền tảng được xây dựng để phát triển các ứng dụng web trên ngôn ngữ Java. Nó được giới thiệu lần đầu tiên năm 2004. Tới năm 2006 các project con (sub-project) đã xuất hiện, mỗi project con tập trung vào một lĩnh vực khác nhau. Cho tới ngày nay bạn có thể nhìn thấy các project con được liệt kê như hình minh họa dưới đây.
Spring IO (Spring Integration Objects) (Các đối tượng tích hợp Spring) là cái tên được sử dụng cho gia đình các sub-project của Spring. Nó được coi như một cái ô (Umbrella), và các sub-project nằm bên dưới cái ô đó.
Spring Cloud chính là một dự án con (sub-project) nằm trong cái ô Spring IO (Spring IO Umbrella), và tự nó cũng là một cái ô, một cái ô con (Sub-Umbrella).
Dưới đây là danh sách các sub-project và các khuôn mẫu (pattern) trong Spring Cloud:
2. Mục tiêu của Spring Cloud
Spring Cloud là một công nghệ phần mềm sử dụng để phát triển các ứng dụng phân tán. Một ứng dụng được gọi là phân tán (Distributed application) khi các phần của nó có thể được phát triển trên các ngôn ngữ khác nhau, và được triển khai trên các máy chủ khác nhau. Vì vậy mục tiêu của Spring Cloud là làm sao để các thành phần của ứng dụng có thể giao tiếp với nhau.
TODO
3. Các phụ thuộc của Spring Cloud
Tất cả các dự án Spring Cloud nên được tạo bởi Spring Boot. Bởi vì Spring Boot được tạo ra để giúp các nhà phát triển dễ dàng hơn khi xây dựng các dự án sử dụng Spring Framework. Sẽ rất khó khăn nếu bạn muốn phát triển ứng dụng Spring Cloud dựa trên nền tảng cốt lõi của Spring (core Spring Framework).
Vì vậy để tạo một ứng dụng Spring Cloud bạn cần tạo một dự án Spring Boot. Và khai báo các sự phụ thuộc (dependency) cần thiết.
Khai báo Spring Boot Parent:
** Spring Boot Parent **
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Edgware.RELEASE</spring-cloud.version>
</properties>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Khai báo các phụ thuộc (Dependency):
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka -->
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka-server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-...</artifactId>
</dependency>
<!--
spring-cloud-starter-eureka
spring-cloud-starter-eureka-server
...
-->
Các hướng dẫn Spring Cloud
- Điện toán đám mây (Cloud Computing) là gì?
- Giới thiệu về Netflix và công nghệ điện toán đám mây của họ
- Giới thiệu về Spring Cloud
- Tìm hiểu về Spring Cloud Config Server với ví dụ
- Tìm hiểu về Spring Cloud Config Client với ví dụ
- Tìm hiểu về Spring Cloud Eureka Server với ví dụ
- Tìm hiểu về Spring Cloud Discovery Eureka Client với ví dụ
- Tìm hiểu về cân bằng tải trong Spring Cloud với Ribbon và ví dụ
Show More