Kiến trúc microservice bao gồm việc chia một ứng dụng phức tạp thành các ứng dụng nhỏ độc lập để mỗi ứng dụng có thể được mở rộng và duy trì một cách độc lập . Với vô số lợi ích đi kèm với kiến trúc microservice, không có gì ngạc nhiên khi mọi người trong lĩnh vực CNTT đều hướng tới kiến trúc mới này!
Cốt lõi của kiến trúc microservice là khái niệm proxy ngược. Proxy ngược đóng vai trò then chốt trong việc điều hướng lưu lượng giữa các vi dịch vụ khác nhau, cũng như phân phối khối lượng công việc trên nhiều phiên bản của vi dịch vụ. Nếu không có proxy ngược, mạng lưới tương tác phức tạp và phân phối tải trong kiến trúc microservice như chúng ta hiểu ngày nay sẽ không khả thi!
Hãy cùng tìm hiểu sâu hơn về vai trò của proxy ngược trong cài đặt microservices!
Proxy là một máy chủ nằm giữa máy tính của khách hàng và internet. Bất kỳ lưu lượng truy cập nào từ máy khách đều đi qua máy chủ proxy. Đối với phần còn lại của Internet, có vẻ như máy chủ proxy đang bắt đầu các yêu cầu.
Có một số lý do khiến người ta sử dụng máy chủ proxy. Một số trong số đó như sau -
Proxy ngược là máy chủ nằm giữa Internet và máy chủ phụ trợ. Bất kỳ lưu lượng truy cập nào đến máy chủ đều phải đi qua proxy ngược. Đối với phần còn lại của Internet, có vẻ như proxy ngược đang phục vụ các yêu cầu.
Nhìn chung, có một số lợi ích khi sử dụng proxy ngược. Bạn có thể tìm thấy một số được liệt kê ở đây .
Khái niệm proxy ngược đã thổi sức sống vào kiến trúc microservice, cho phép khách hàng điều hướng môi trường động của microservice bằng cách xác định máy chủ nào sẽ truy cập. Nếu không có thành phần quan trọng này, khách hàng sẽ không có phương tiện để điều hướng một cách hiệu quả bối cảnh phức tạp của kiến trúc vi dịch vụ.
Các dịch vụ trong kiến trúc microservice tăng giảm quy mô dựa trên tải. Điều này có nghĩa là các bản sao của một dịch vụ có thể đến và đi bất cứ lúc nào trong suốt vòng đời của ứng dụng. Proxy ngược phát hiện các máy chủ của một dịch vụ và hướng lưu lượng truy cập của khách hàng đến các máy chủ này một cách hiệu quả.
Vì một dịch vụ có thể có nhiều bản sao đang chạy nên điều quan trọng là các yêu cầu của khách hàng phải được phân phối hợp lý trên các máy chủ có sẵn. Cân bằng tải chỉ là một tính năng khác của proxy tôn kính được sử dụng ở đây. Proxy ngược phân phối tải một cách thông minh trên các bản sao có sẵn của dịch vụ.
Vì bất kỳ yêu cầu nào vào ứng dụng của chúng tôi đều đi qua proxy ngược nên đây là nơi tốt để theo dõi các yêu cầu và thực hiện ghi nhật ký. Nó giúp đạt được những hiểu biết quan trọng về số lượng dịch vụ có trong hệ thống.
Trong cài đặt vi dịch vụ, proxy ngược cũng được sử dụng để định tuyến lưu lượng truy cập nội bộ của cụm. Điều này đặc biệt hữu ích cho trường hợp giao tiếp giữa các dịch vụ.
Bộ nhớ đệm là một lợi thế chung đi kèm với việc sử dụng proxy ngược. Máy chủ proxy có thể trả về kết quả được lưu trong bộ nhớ đệm cho các truy vấn tương tự, do đó cải thiện thời gian phản hồi cho máy khách.
Yêu cầu của một khách hàng có thể yêu cầu tổng hợp phản hồi từ nhiều dịch vụ ở phần phụ trợ. Việc tổng hợp như vậy có thể được thực hiện bằng proxy ngược, để lại cho máy khách một điểm cuối rõ ràng để sử dụng!
Proxy ngược có thể được sử dụng trong các cấu hình khác nhau. Các cấu hình này thường quy định lớp OSI nơi đưa ra quyết định định tuyến. Phổ biến có hai proxy nổi tiếng - (1) Proxy ở Lớp 4 và (2) Proxy ở Lớp 7. Khi chúng tôi di chuyển lên các lớp, chúng tôi giải mã thêm thông tin từ các gói internet có thể được sử dụng để quyết định định tuyến.
Lớp 4 trong mô hình OSI là lớp vận chuyển. Từ quan điểm của nhà phát triển ứng dụng, những thứ có sẵn ở lớp 4 để đưa ra quyết định định tuyến là -
Do đó, proxy lớp 4 chỉ có thể đưa ra quyết định định tuyến dựa trên IP và cổng của máy chủ và máy khách. Nó không thể xem xét nội dung của các yêu cầu và do đó có thể đưa ra các quyết định định tuyến hạn chế.
Có một số lý do giải thích tại sao người ta lại sử dụng proxy lớp 4 -
Proxy lớp 4 cũng có một số nhược điểm -
Lớp 7 trong mô hình OSI là lớp ứng dụng. Từ quan điểm của nhà phát triển ứng dụng, những thứ có sẵn ở lớp 7 để quyết định định tuyến là -
Vì có nhiều nội dung hơn cho việc ra quyết định ở lớp 7 nên việc định tuyến thông minh hơn có thể được thực hiện.
Dưới đây là một số lý do tại sao người ta nên sử dụng proxy lớp 7 -
Dưới đây là một số nhược điểm khi sử dụng proxy lớp 7 -
Proxy ngược chắc chắn là một trong những phần quan trọng trong kiến trúc microservice. Không có nó, lợi ích thực sự của kiến trúc microservice không bao giờ có thể được hiện thực hóa một cách trọn vẹn.
Với điều này, chúng tôi đi đến cuối blog này! Tôi hy vọng bạn đã học được điều gì đó mới ngày hôm nay.