#35 - Vài ghi chú hay về kiến trúc phần mềm
Một phần mềm mà không có kiến trúc cũng giống như một ngôi nhà được xây mà thiếu bản vẽ. Phần mềm có thể chạy, nhưng sẽ khó mà ổn định và có chất lượng cao.- Nguồn ẩn danh
Những bài viết hay
DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together – @herbertograca — herbertograca.com
Trong bài viết này, tác giả đưa ra một mô hình kiến trúc tổng thể thông qua việc kết nối nhiều mô hình kiến trúc khác nhau như DDD, hexagonal, Onion,... vào trong các dự án của mình. Cùng đọc xem đề xuất của tác giả là gì, và có phù hợp với dự án của bạn không nhé.
Web Architecture 101 – VideoBlocks Product & Engineering — engineering.videoblocks.com
Trong bài viết này, tác giả cung cấp 1 diagram giới thiệu những thành phần cơ bản nhất trong kiến trúc web hiện đại cùng diễn gỉai tương ứng, các thành phần như datawarehouse, full text search, ... đều được đề cập. Phù hợp với các bạn đang muốn nắm lại tổng quan về kiến trúc web.
Design a Cache System — blog.gainlo.co
Cache system là một hệ thống không thể thiếu trong dự án của bạn, từ CDN, Database đều phải kèm theo những cơ chế cache tương ứng để đảm bảo performance tốt. Vậy bạn đã hiểu cơ chế hoạt động thế nào chưa? Thiết kế một hệ thống cách cần cân nhắc những yếu tố gì?
Sự kiện nổi bật
Grokking TechTalk #28: Selenium - Docker: End to End Testing — www.facebook.com
Trong techtalk kỳ này, team Wizeline sẽ chia sẻ về cách họ triển khai Testing Automation trong team mình, đây là một lĩnh vực vẫn còn khá mới và nhiều thử thách cho những team product size nhỏ. Các bạn nào quan tâm thì điền form đăng ký nhé: link.
Có thể bạn chưa biết
Để hiện thực những mobile app đơn giản, bạn có thể không cần mô tả kiến trúc gì, chỉ cần bắt tay vào làm thì vẫn được. Tuy nhiên, để xây dựng một hệ thống lớn với vài trăm người, vài triệu dòng code, việc mô tả và giao tiếp về kiến trúc giữa các team với nhau là không thể tránh khỏi.
Architecture description language là một thuật ngữ chỉ những loại ngôn ngữ hình thức/sơ đồ được dùng để mô tả về kiến trúc phần mềm. Bằng việc sử dụng một ADL đã được chuẩn hóa, sẽ giúp cho việc giao tiếp, phân tích kiến trúc của bạn và team bạn chặt chẽ hơn đấy.
Thử thách cuối tuần
Đâu là tên gọi phù hợp cho loại kiến trúc được mô tả dưới đây:
"All arriving new data is entered into both the batch layer and the speed layer. Batch layer has the master dataset and precomputes data and provides it in batch views. Speed layer processes the with recent data and compensates for the latency in the batch layer. Serving layer processes queries using data from both batch views and real-time view in speed."
a) Kiến trúc Microservices
b) Kiến trúc Pipe-and-filter
c) Kiến trúc kiểu N-tier
d) Kiến trúc Lambda
Nguồn: https://www.slideshare.net/CodeOps/software-architecture-quiz-questions