paint-brush
Proxy ngược - xương sống của kiến trúc microservicestừ tác giả@infinity
2,721 lượt đọc
2,721 lượt đọc

Proxy ngược - xương sống của kiến trúc microservices

từ tác giả Rishabh Agarwal5m2024/01/17
Read on Terminal Reader
Read this story w/o Javascript

dài quá đọc không nổi

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. 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ụ.
featured image - Proxy ngược - xương sống của kiến trúc microservices
Rishabh Agarwal HackerNoon profile picture
0-item

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à gì?

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 -

  • Che giấu danh tính: Sử dụng proxy, danh tính thực sự của khách hàng không bị tiết lộ trên internet. Nó có thể được sử dụng để truy cập nội dung mà lẽ ra sẽ bị chặn/hạn chế đối với khách hàng.
  • Thiết lập các hạn chế: Sử dụng một số cấu hình nhất định, máy chủ proxy có thể được sử dụng để hạn chế quyền truy cập vào một số nội dung nhất định cho máy khách.
  • Nó cũng tăng cường an ninh

Proxy ngược là gì?

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ụ.

Khám phá 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ả.

Cân bằng tải ⚖️

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ụ.

Giám sát 🖥️

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.

Lưu lượng truy cập nội bộ 🚦

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 💰

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.

Tổng hợp ⛙

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!

Ủy quyền qua các lớp

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.


Các lớp trong mô hình OSI

Proxy lớp 4

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à -

  • IP và cổng của máy khách gửi yêu cầu
  • IP và cổng của máy chủ đang nhận yêu cầu


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 -

  • Khi chỉ yêu cầu cân bằng tải ở mức gói.
  • Người ta không muốn proxy ngược giải mã yêu cầu vì lo ngại về an toàn.
  • Cần phải có hiệu quả vì việc ủy quyền ở lớp 4 rất nhanh.


Proxy lớp 4 cũng có một số nhược điểm -

  • Vì chúng tôi đang ở cấp độ 4 nên không thể cân bằng tải thông minh
  • Nó không thể thực hiện cân bằng tải microservice thực sự.

Proxy lớp 7

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à -

  • Mọi thứ có sẵn ở lớp 4
  • Toàn bộ nội dung của yêu cầu bao gồm các tiêu đề


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 -

  • Bạn cần đưa ra quyết định định tuyến thông minh trong proxy ngược của mình
  • Bạn muốn sử dụng bộ nhớ đệm


Dưới đây là một số nhược điểm khi sử dụng proxy lớp 7 -

  • Proxy lớp 7 thường chậm hơn lớp 4 vì nó giải mã yêu cầu và kiểm tra nội dung của nó để đưa ra quyết định định tuyến
  • Vì proxy ngược kiểm tra nội dung của các yêu cầu nên cũng có mối lo ngại về an toàn 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.