Kiến trúc Microservice - Chia tỷ lệ
Chia tỷ lệ là một quá trình chia nhỏ một phần mềm theo các đơn vị khác nhau. Scaling cũng định nghĩa về khả năng mở rộng. Khả năng mở rộng là tiềm năng để triển khai các tính năng tiên tiến hơn của ứng dụng. Nó giúp cải thiện tính bảo mật, độ bền và khả năng bảo trì của ứng dụng. Chúng tôi có ba loại quy trình mở rộng quy mô được tuân theo trong các ngành công nghiệp. Sau đây là các phương pháp chia tỷ lệ khác nhau cùng với các ví dụ thực tế tương ứng.
Tỉ lệ trục X
Tỉ lệ trục X còn được gọi là tỉ lệ ngang. Trong quy trình này, toàn bộ ứng dụng được chia nhỏ thành các phần ngang khác nhau. Thông thường, bất kỳ ứng dụng máy chủ web nào cũng có thể có kiểu chia tỷ lệ này. Hãy xem xét một kiến trúc MVC bình thường tuân theo tỷ lệ ngang như thể hiện trong hình sau.
Ví dụ, chúng ta có thể xem xét bất kỳ ứng dụng JSP servlet nào. Trong ứng dụng này, bộ điều khiển kiểm soát mọi yêu cầu và nó sẽ tạo chế độ xem bằng cách giao tiếp với mô hình bất cứ khi nào cần thiết. Thông thường, các ứng dụng nguyên khối tuân theo phương pháp chia tỷ lệ này. Việc chia tỷ lệ X-Axis về bản chất là rất cơ bản và nó rất ít tốn thời gian. Trong phương pháp luận này, một phần mềm sẽ được thay đổi tỷ lệ tùy thuộc vào nhiệm vụ khác nhau mà đơn vị đó chịu trách nhiệm. Ví dụ: bộ điều khiển chịu trách nhiệm kiểm soát yêu cầu đến và đi, chế độ xem có trách nhiệm trình bày chức năng nghiệp vụ cho người dùng trong trình duyệt, trong khi mô hình chịu trách nhiệm lưu trữ dữ liệu của chúng tôi và nó hoạt động như cơ sở dữ liệu.
Tỷ lệ trục Y
Tỷ lệ theo trục Y còn được gọi là tỷ lệ theo chiều dọc bao gồm bất kỳ tỷ lệ cấp tài nguyên nào. Bất kỳ hệ thống DBaaS hoặc Hadoop nào đều có thể được coi là theo trục Y. Trong kiểu chia tỷ lệ này, yêu cầu của người dùng được chuyển hướng và hạn chế bằng cách triển khai một số logic.
Chúng ta hãy coi Facebook là một ví dụ. Facebook cần xử lý 1,79 triệu người dùng trong mỗi giây; do đó, kiểm soát lưu lượng truy cập là một trách nhiệm rất lớn của các kỹ sư mạng Facebook. Để khắc phục mọi nguy cơ, họ tuân theo quy mô trục Y, bao gồm việc chạy nhiều máy chủ với cùng một ứng dụng cùng một lúc. Giờ đây, để kiểm soát mức lưu lượng truy cập khổng lồ này, Facebook chuyển hướng tất cả lưu lượng truy cập từ một khu vực đến một máy chủ cụ thể, như được mô tả trong hình ảnh. Việc chuyển giao lưu lượng dựa trên vùng này được gọi là cân bằng tải trong ngôn ngữ kiến trúc.
Phương pháp chia nhỏ tài nguyên thành các đơn vị kinh doanh độc lập nhỏ này được gọi là Y-Axis scale.
Tỉ lệ trục Z
Chia tỷ lệ trục X và Y dễ hiểu hơn nhiều. Tuy nhiên, một ứng dụng cũng có thể được mở rộng ở cấp độ doanh nghiệp, được gọi là mở rộng trục Z. Sau đây là một ví dụ về việc mở rộng một ứng dụng dịch vụ taxi trong các ngành dọc khác nhau của các đơn vị kinh doanh.
Ưu điểm của việc mở rộng quy mô
Cost - Mở rộng quy mô phù hợp của một phần mềm sẽ giảm chi phí bảo trì.
Performance - Do khớp nối lỏng lẻo, hiệu suất của một phần mềm được chia tỷ lệ thích hợp luôn tốt hơn so với phần mềm không được chia tỷ lệ.
Load distribution - Sử dụng các công nghệ khác nhau, chúng tôi có thể dễ dàng duy trì tải máy chủ của mình.
Reuse - Khả năng mở rộng của một phần mềm cũng làm tăng khả năng sử dụng của phần mềm.