inflearn logo

Ứng dụng kiến trúc microservice (MSA) phát triển với Spring Cloud

Đây là quá trình thử phát triển ứng dụng microservice sử dụng bộ sản phẩm Spring Cloud thuộc Spring framework. Đây là bài giảng giúp bạn học cách sử dụng và cấu hình Spring Cloud như một Ứng dụng Cloud Native.

(4.9) 468 đánh giá

7,923 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

Spring Cloud
Spring Cloud
MSA
MSA
Spring Boot
Spring Boot
Kafka
Kafka
Architecture
Architecture
Spring Cloud
Spring Cloud
MSA
MSA
Spring Boot
Spring Boot
Kafka
Kafka
Architecture
Architecture

Tin tức

8 bài viết

  • kenneth님의 프로필 이미지

    Bài giảng Spring Boot 3.5 + Spring Cloud 2025.0.x đang được cập nhật.

    Xin chào, tôi là Lee Do-won.

    Bản cập nhật thứ hai cho khóa học "Microservice Application (MSA) Develop with Spring Cloud" mới phát triển đang được tiến hành. Bản cập nhật này không chỉ về các ví dụ thực tế mà còn về nội dung bài giảng. (Spring boot 3.5 + Spring Cloud 2025.0.0)

    Như đã thông báo trước đó, chúng tôi đã lên kế hoạch hoàn thành vào cuối tháng 6, nhưng do xung đột với lịch trình dự án hiện tại nên chúng tôi không thể hoàn thành đúng thời hạn. Tôi xin lỗi một lần nữa.

    Trước hết, bài giảng Phần 1 đã được cập nhật và mặc dù chúng tôi không thể cập nhật tất cả cùng một lúc, chúng tôi vẫn có kế hoạch cập nhật Phần 2, Phần 3... tuần tự mỗi tuần.

    Khi chúng tôi cập nhật nội dung của bài giảng này, một số nội dung mới đã được thêm vào, vì vậy tôi nghĩ sẽ tốt nếu chúng ta cùng nhau tham khảo.

    Một lần nữa, tôi muốn cảm ơn mọi người vì đã quan tâm tới bài giảng.
    Vào cuối tháng 5, chúng tôi cũng đã mở một bài giảng về Spring Cloud Patterns, đã bị hoãn lại một thời gian. Nếu bạn đã học khóa MSA cơ bản, tôi sẽ rất cảm kích nếu bạn cũng quan tâm đến phần này.

    Ngoài ra, chúng tôi đã tạo ra lộ trình để giúp bạn học các khóa học hiện đang diễn ra.

    3
  • kenneth님의 프로필 이미지

    Xin chào, đây là Lee Do-won.

    Bản cập nhật đầu tiên của bài giảng “Ứng dụng microservice (MSA) được phát triển với Spring Cloud”, vốn bị hoãn lại, đã được hoàn thành. Trong bản cập nhật này, các ví dụ thực hành là những thay đổi từ phiên bản Spring boot 2.x hiện có sang phiên bản Spring boot 3.x. Chúng tôi dự định cập nhật nội dung bài giảng lần thứ hai vào nửa cuối năm nay.

    Như đã thông báo trước đó, chúng tôi dự định sẽ hoàn thành đúng tiến độ vào cuối tháng 6, nhưng nó trùng với tiến độ dự án hiện tại và chúng tôi không thể thực hiện đúng tiến độ. Tôi xin lỗi một lần nữa.

    Khi nội dung bài giảng này được cập nhật, một số nội dung mới đã được thêm vào nên các bạn tham khảo thêm cũng rất hay. Phần bổ sung là về việc áp dụng API Swagger (OAS 3.0) và định cấu hình tệp kê khai K8s cần thiết để triển khai các ứng dụng (dịch vụ) Spring Boot trong Kubernetes.

    Mã nguồn đã được chia sẻ trên github nhưng một số thay đổi hoặc bổ sung đã được thực hiện khi ghi lại nội dung, vì vậy chúng tôi khuyên bạn nên thực hành với mã mới nhất. Phần cập nhật của mã thực hành như sau.

    joneconsulting/toy-msa: Một dự án đồ chơi để thực hành mas. (github.com)

    (Chi nhánh: springboot3.2, springboot3.2_k8s)

    • Khám phá dịch vụ Eureka

    • Dịch vụ cấu hình

    • Dịch vụ đầu tiên

    • Dịch vụ thứ hai

    • Dịch vụ Apigateway

    • Kafka

    • Dịch vụ danh mục

    • Dịch vụ đặt hàng

    • Dịch vụ người dùng

    • Triển khai Kubernetes

    • Truy tìm phân tán (với Zipkin)

    • API vênh vang (OAS 3.0)

    Ngoài ra, chúng tôi sẽ sớm tổ chức sự kiện mà chúng tôi đã thông báo sẽ tổ chức sau khi cập nhật.

     

    Cảm ơn!

    5
  • kenneth님의 프로필 이미지

    Xin chào, đây là Lee Do-won.

    Đầu tiên, tôi xin cảm ơn các học viên tham gia khóa học “Ứng dụng microservice (MSA) được phát triển với Spring Cloud”. Tôi viết thư này để xin lỗi vì việc cập nhật bài giảng này bị trì hoãn theo kế hoạch.

    Như đã đề cập nhiều lần trên bảng câu hỏi, việc cập nhật bài giảng cho bài giảng này đã được lên kế hoạch từ tháng 1 đến tháng 2, nhưng tiến độ đã bị trì hoãn do một số vấn đề. Là một người hướng dẫn đang chuẩn bị cho một bài giảng, cuối cùng tôi đã trì hoãn nó hàng ngày vì các vấn đề cá nhân và công ty. Cá nhân tôi không hề nghi ngờ rằng đó là lỗi của tôi khi tôi đã mất quá nhiều thời gian để chuẩn bị cho bài giảng.

    Tôi biết đó là một cái cớ, nhưng hãy để tôi nói với bạn một vài điều: Tôi đã ghi lại tất cả các bài giảng dự bị vào tháng 4 năm ngoái do sự cố phần cứng (máy tính xách tay bị hỏng và phải thay thế), và có vấn đề với một dự án đang diễn ra nên rất khó phân bổ thời gian thông thường. Tuy nhiên, tôi đã dành thời gian để ghi lại bài giảng nhưng tôi muốn bày tỏ lời xin lỗi chân thành vì bất kỳ sự bất tiện nào đã gây ra cho những người đang chờ đợi.

    Bài giảng này hiện đang được chuẩn bị để cập nhật bắt đầu từ tháng 6 khi công việc hoàn thành. Chúng tôi sẽ đánh giá cao nếu bạn có thể đợi lâu hơn một chút.

    Một lần nữa, chúng tôi xin lỗi vì bất kỳ sự bất tiện nào gây ra.

     

    - Bồi thường cho Lee Do-won -

    8
  • kenneth님의 프로필 이미지

    Bắt đầu với Apache Kafka 3.7 được phát hành gần đây, nó cũng chính thức có sẵn ở dạng Docker.

    Apache Kafka

    image

    Chi tiết lớp hình ảnh - apache/kafka:3.7.0 | Trung tâm Docker

    Mình nghĩ các bạn có thể cài docker desktop tùy theo OS mình đang sử dụng và sử dụng ngay nhé.

    Trang web nói rằng cả linux/amd64 và linux/arm64 đều được hỗ trợ, vì vậy có vẻ như nó có thể được sử dụng trên chip MacOS Apple.

    docker run --env CONFIG_NAME=CONFIG_VALUE -p 9092:9092 apache/kafka:3.7.0

     

    Nếu bạn gặp khó khăn khi khởi động Kafka, vui lòng thử chạy nó với Docker Kafka.

    Cảm ơn .


    1
  • kenneth님의 프로필 이미지

    Xin chào các bạn sinh viên,

    Đây là Do-won Lee, người đang giảng bài “Ứng dụng microservice (MSA) được phát triển với Spring Cloud”.

    Mã mẫu được sử dụng trong bài giảng này đã được cập nhật lên phiên bản mới nhất như hình bên dưới.

    Bạn có thể kiểm tra mã đã thay đổi trên Github.

    https://github.com/joneconsulting/toy-msa/tree/springboot3.2

    Chúng tôi dự định bổ sung, cập nhật bài giảng theo mã cập nhật mới nhất.

    2024-02-02

    • OpenJDK 21

    • File ví dụ đã được cập nhật để phù hợp với phiên bản Spring Boot 3.2.2 + Spring Cloud 2023.0.0.

    • Các ví dụ đăng ký, đăng nhập và xác thực đã thay đổi với phiên bản Spring Security 6.

    • Phiên bản trước (Spring Boot 2.7.6) có thể được tìm thấy trong nhánh chính.

     

    Cảm ơn

    8
  • kenneth님의 프로필 이미지

    Xin chào, đây là Lee Do-won.

    Virus Corona dường như đang dần dịu đi và chúng ta đang trở lại cuộc sống xã hội bình thường.

    Mùa hè năm 2022 đang bắt đầu. Có vẻ như mùa mưa đang bắt đầu và thật khó để nhìn thấy bầu trời trong xanh.

    Tôi không có gì để nói ngoại trừ lời xin lỗi đến những ai đang chờ đợi bài giảng tiếp theo của " Ứng dụng microservice (MSA) được phát triển với Spring Cloud ". Theo kế hoạch ban đầu, buổi giảng lẽ ra khai giảng vào tháng 1 năm ngoái đã bị hoãn lại sang tháng 2 và tháng 3 do dự án đang triển khai có vấn đề, nhưng vẫn chưa khai giảng... nhưng... thực sự sẽ sớm thôi! Chúng tôi đang thực hiện những chuẩn bị cuối cùng để khai trương.

    Bài giảng tiếp theo sẽ về CI/CD theo lịch trình. Hôm nay, trước tiên tôi xin giới thiệu mục lục của bài giảng CI/CD.

    Bài giảng gồm 6 đến 7 phần. Tùy thuộc vào việc phần Phụ lục có được đưa vào bài giảng này hay không mà nó có thể sẽ được chia thành 6 hoặc 7 phần.

    Phần 1. DevOps và CI/CD

    1-1. DevOps và CI/CD

    1-2. Quy trình làm việc CI/CD

    1-3. Cài đặt Jenkins

    1-4. Bài tập số 1

     

    Phần 2. Sử dụng CI/CD bằng Jenkins

    2-1. Tích hợp Git & Maven cho CI/CD

    2-2. Bài tập số 2

    2-3. Tích hợp máy chủ Tomcat cho CI/CD

    2-4. Bài tập số 3

    2-5. Cài đặt thăm dò ý kiếnSCM

    2-6. Định cấu hình môi trường phòng thí nghiệm bằng Docker

    2-7. Bài tập số 4

     

    Phần 3. Jenkins + Cơ sở hạ tầng dưới dạng Code (Quản lý cấu hình bằng Ansible)

    3-1. IaC

    3-2. Tổng quan về Ansible

    3-3. Cài đặt Ansible

    3-4. Playbook Ansible

    3-5. Bài tập số 5

    3-6. Triển khai hình ảnh Docker

    3-7. Bài tập số 6

     

    Phần 4. Tích hợp Jenkins + Ansible + Kubernets

    4-1. Triển khai đến cụm Kubernetes

    4-2. Tích hợp Ansible + Kubernetes

    4-3. Bài tập số 7

    4-4. quá trình CI/CD

    4-5. Bài tập số 8

    4-6. Cài đặt Minikube (chip Apple Silicon)

     

    Phần 5. Sử dụng Jenkins nâng cao

    5-1. Sử dụng đường ống phân phối

    5-2. Cấu hình đường ống Jenkins

    5-3. Bài tập số 9

    5-4. Bài tập số 10

    5-5. thực hành

    5-6. Phân tích tĩnh SonarQube

     

    Phần 6. Triển khai lên đám mây công cộng

    6-1. Tạo phiên bản AWS EC2 và cài đặt Docker

    6-2. Triển khai lên AWS

    6-3. Định cấu hình cụm Kubernetes bằng Kops

    6-4. Tạo phiên bản máy chủ NCP và cài đặt Docker

    6-5. Triển khai tới NCP

     

    Phụ lục

    A-1. Yêu cầu cài đặt SW

    A-2. Cài đặt máy chủ Tomcat

    A-3. Máy chủ SSH

    A-4. Cài đặt XShell và MobaXterm cho người dùng Windows

    A-5. Cài đặt đầu cuối cho người dùng MacOS

     

    Chúng tôi xin cảm ơn bạn một lần nữa vì đã quan tâm đến bài giảng và chúng tôi mong sớm được gặp lại bạn với một bài giảng tuyệt vời.

    Cảm ơn

     

    12
  • kenneth님의 프로필 이미지

    Xin chào, đây là Lee Do-won.

    Đã 6 tháng kể từ khi tôi bắt đầu dạy "Ứng dụng microservice được phát triển với Spring Cloud". Nhiều sinh viên hơn dự kiến ​​đã thể hiện sự quan tâm. Cảm ơn bạn một lần nữa.

    Ngoài ra, tôi sẽ sớm có thể tiết lộ bài giảng tiếp theo mà tôi dự định dạy trong năm nay, vì vậy tôi đăng bài này ở đây trong phần tin tức về bài giảng. Bài giảng tiếp theo sẽ nói về CI/CD và chúng ta sẽ làm việc về CI/CD bằng cách sử dụng nguồn mở có tên Jenkins. Nội dung bài giảng như sau: Tưởng rằng việc chuẩn bị sẽ nhanh chóng hoàn thành vì nội dung bài giảng ít hơn “Ứng dụng microservice được phát triển với Spring Cloud”, nhưng vì lý do này hay lý do khác nên tôi bận nên đến bây giờ việc chuẩn bị mới hoàn tất. Tôi hy vọng việc ghi âm bài giảng sẽ được hoàn thiện và phát hành chính thức vào khoảng giữa tháng 10.

     

    Cảm ơn

     

    19
  • kenneth님의 프로필 이미지

    Xin chào, đây là Lee Do-won.

    Trước hết, tôi xin cảm ơn tất cả những người đã quan tâm đến bài giảng.

    Đối với các bài giảng về microservice sử dụng Spring Boot và Spring Cloud, tôi dự định tổ chức các bài giảng theo 4 thành phần của Cloud Native đã đề cập trong CNCF.

    - Ảo hóa vùng chứa

    - Dịch vụ vi mô

    -CI/CD

    - DevOps

    Chúng tôi đã bắt đầu bài giảng về "Phát triển các dịch vụ web RESTful bằng cách sử dụng Spring Boot" và "Ứng dụng vi dịch vụ được phát triển với Spring Cloud" và chúng tôi dự định sẽ trình bày Kiến trúc MSA, Mẫu, Lưới dịch vụ và CI/CD dưới dạng các bài giảng tiếp theo. không được đề cập trong bài giảng không nhìn thấy. Và bài giảng "Phát triển các dịch vụ web RESTful bằng Spring Boot" dự kiến ​​sẽ được cập nhật lại để phản ánh thư viện mới được cập nhật.

    Như bạn đã đề cập, các bài giảng tiếp theo dự kiến ​​sẽ được mở theo thứ tự sau. Ngày khai giảng tiếp tục bị hoãn do trùng với công việc khác nhưng mục tiêu là năm nay khai giảng nhiều nhất có thể.

    1. CI/CD (tháng 8)

    2. Kiến trúc MSA + Mẫu + Lưới dịch vụ (Tháng 9 đến tháng 10)

    3. WebFlux (~ Tháng 12)

    Dù khó khăn vì nắng nóng gay gắt và dịch Covid-19 nhưng tôi mong mọi người đều khỏe mạnh và đạt được điều mình mong muốn.

    Cảm ơn

    10

1.846.908 ₫