Contract-First Development là gì và tại sao chúng ta nên áp dụng nó?

APIs là bộ mặt của mọi hệ thống phần mềm. Để xây dựng một hệ thống phần mềm tốt, chúng ta cần xác định rõ các APIs cần thiết, cách thức giao tiếp giữa các thành phần, và cách xử lý lỗi. Tuy nhiên trong một hệ thống lớn thì việc đảm bảo chất lượng của các APIs thường không được đảm bảo, dẫn đến việc hệ thống phần mềm không ổn định, khó bảo trì, và khó mở rộng, đặc biệt là trong kiến trúc microservices....

03 tháng 6, 2024 · 12 phút · 2355 từ · Duc Truong

Microservices: Top 5 sai lầm thường gặp khi triển khai kiến trúc microservices và cách khắc phục hiệu quả

Trong những năm gần đây, khái niệm “microservices” đã trở thành một từ khóa phổ biến trong lĩnh vực phát triển phần mềm. Nhưng thực sự, việc áp dụng kiến trúc microservices luôn đi kèm với những rủi ro và thách thức, và vì thế, những sai sót trong quá trình triển khai microservices là điều khó thể tránh khỏi. Trong bài viết này, chúng ta sẽ cùng tìm hiểu về top 5 những sai lầm phổ biến khi triển khai một hệ thống microservices cùng các giải pháp để giải quyết chúng....

27 tháng 5, 2024 · 14 phút · 2966 từ · Duc Truong

Thiết kế hệ thống upload file chịu tải cao với Tus Protocol

Chào các bạn, việc tải dữ liệu lên các internet diễn ra hàng ngày, từ việc tải ảnh lên Facebook, tải video lên Youtube, Tiktok hay tải file lên Google Drive, … Với các file có dung lượng từ nhẹ tới rất lớn, tuy nhiên môi trường mạng thì chưa bao giờ là ổn định cả 😅, giật, lag hoặc rớt mạng giữa chừng 🤯? Các bạn có bao giờ thắc mắc làm thế nào để có thể triển khai một hệ thống có khả năng tiếp tục tải lên một tệp dữ liệu kể cả khi bị đứt mạng giữa chừng không?...

05 tháng 5, 2024 · 9 phút · 1769 từ · Duc Truong

Triển khai cơ chế Polling với Golang

Chào các bạn, bài viết trước mình đã giới thiệu về cơ chế Polling. Qua bài viết này, mình sẽ tận dụng khả năng của Golang để triển khai cơ chế Polling (Short Polling và Long Polling). Đây là bài blog thuộc series System Design của mình, nếu bạn quan tâm đến các vấn đề liên quan đến thiết kế hệ thống phần mềm, hãy theo dõi series này để cập nhật những kiến thức mới nhất nhé!...

27 tháng 4, 2024 · 5 phút · 909 từ · Duc Truong

Kỹ thuật polling là gì? Short polling và long polling

Trong thời đại công nghệ phát triển không ngừng, ngày càng có nhiều hệ thống phần mềm tiên tiến hơn ra đời, đi kèm với đó là dữ liệu ngày càng lớn và phức tạp hơn. Để xử lý dữ liệu lớn và phức tạp, các hệ thống phần mềm hiện đại thường được thiết kế theo mô hình Microservices. Mô hình Microservices giúp chia nhỏ hệ thống thành các dịch vụ (service) nhỏ hơn, mỗi dịch vụ lại có thể có nhiều thành phần nhỏ hơn nữa....

23 tháng 4, 2024 · 8 phút · 1544 từ · Duc Truong

Markdown: Hướng cơ bản cho người mới bắt đầu

Chào các bạn, đây là bài viết đầu tiên trong series về Markdown của mình, một ngôn ngữ đánh dấu đơn giản và dễ sử dụng. Trong bài viết này, chúng ta sẽ tìm hiểu về cú pháp cơ bản của Markdown và cách sử dụng nó trong ứng dụng thực tế. Giới thiệu Markdown là một ngôn ngữ đánh dấu nhẹ được thiết kế để tạo văn bản dễ đọc và dễ viết, được tạo ra bởi John Gruber vào năm 2004....

20 tháng 4, 2024 · 6 phút · 1230 từ · Duc Truong