Middleware là gì? Ứng dụng của Middleware trong thực tế

Nguồn bài viết: Middleware là gì? Ứng dụng của Middleware trong thực tế

Bạn đã bao giờ tự hỏi “cái gì” hoặc “cái gì” nằm giữa yêu cầu và phản hồi? Hoặc bạn đã bao giờ tự hỏi liệu có cơ chế nào để kiểm tra các yêu cầu HTTP trước khi chúng được gửi vào ứng dụng của bạn không? Nếu bạn đang thắc mắc thì Middleware chính là câu trả lời mà bạn đang tìm kiếm. Vậy, Middleware là gì? Khi nào sử dụng Middleware!

Tìm hiểu về phần mềm trung gian

Middleware là gì?

Định nghĩa này khá dễ hiểu vì “cái tên nói lên tất cả”: Phần mềm trung gian tạm dịch là phần mềm trung gian, là phần mềm trung gian giữa hai phần mềm / dịch vụ / ứng dụng để chúng có thể giao tiếp với nhau dễ dàng hơn.

Nếu bạn thường xuyên làm việc với proxy, bạn cũng có thể coi Phần mềm trung gian là hoạt động của trình biên dịch, trình tích lũy dữ liệu hoặc là yêu cầu chuyển tiếp cổng proxy.

middleware-la-gi

Lợi ích của Middleware là gì?

Theo định nghĩa, công việc của Middleware có vẻ khá đơn giản. Nhưng những lợi ích mà Middleware mang lại thực sự rất lớn và tạo ra những ảnh hưởng tích cực đến ứng dụng của bạn như:

  • Thu hẹp khoảng cách giữa các ứng dụng và cơ sở hạ tầng phần cứng, cũng như phần mềm cấp thấp. Từ đó, việc phối hợp các bộ phận ứng dụng trở nên thuận tiện hơn, đồng thời đơn giản hóa công việc tích hợp phần mềm.
  • Hỗ trợ tốt hơn cho các nhà phát triển trong việc tránh rắc rối khi sử dụng các nền tảng cũ, cấp thấp, quá sơ sài, thường tạo ra rất nhiều lỗi.
  • Cung cấp báo cáo và tóm tắt để nhà phát triển có thể sửa lỗi, tăng cường bảo mật, lưu trữ phiên bản và nâng cấp phần mềm để có trải nghiệm người dùng tốt nhất
  • Phần mềm trung gian đơn giản hóa nhu cầu phát triển đa nền tảng, phân tán và nhúng.

Tại sao sử dụng Middleware?

Các công nghệ hỗ trợ giao tiếp đa nền tảng hoặc nhu cầu phát triển một ứng dụng nhưng có thể giao tiếp trên nhiều nền tảng ngày càng trở nên cao.

Đồng thời, nhiều nhà phát triển xây dựng ứng dụng / phần mềm và cung cấp sản phẩm của họ để người dùng và các nhà phát triển khác có thể “nhúng” vào sản phẩm và dịch vụ của họ để trở nên phổ biến hơn.

middleware-la-gi

Vì vậy, vai trò cầu nối tương tác giữa người dùng và hệ thống, vai trò trung gian giữa yêu cầu và phản hồi cũng như xử lý logic của Middleware trở nên vô cùng hữu ích và cần thiết.

Ứng dụng của phần mềm trung gian trong thực tế

“Translator” – Người dịch

Trên thực tế, có nhiều kiểu trao đổi dữ liệu như JSON, XML hoặc Protobuf. Tuy nhiên, hiện tại JSON là định dạng được sử dụng nhiều nhất và trong hầu hết các trường hợp.

Ví dụ: nếu chúng ta có hai dịch vụ cần giao tiếp với nhau, chúng ta có thể tạo một phần mềm trung gian sử dụng các thư viện chuyển đổi dữ liệu, dịch dữ liệu sang một định dạng mà dịch vụ kia có thể hiểu được.

middleware-la-gi

Tích lũy – sao chép dữ liệu

Microservices là một dạng kiến ​​trúc rất phổ biến trong các phần mềm hiện đại, có độ phức tạp cao.

Nếu chưa biết về Microservice, bạn có thể hiểu đơn giản Microservice là một phần mềm / ứng dụng được tạo thành từ nhiều ứng dụng, các module dịch vụ nhỏ được phát triển riêng biệt với nhau và sử dụng các phương thức giao tiếp với nhau. cùng nhau để tạo thành một ứng dụng lớn.

Ví dụ: bạn phát triển một dự án phần mềm thương mại điện tử, nơi các nguồn thông tin được phân bổ riêng biệt để hành vi của khách hàng có thể được phân tích và nghiên cứu. Bạn có thể sử dụng các Microservice riêng để lưu trữ và truy xuất dữ liệu và một Microservice khác để xác thực và lưu trữ thông tin về người dùng.

middleware-la-gi

Chúng tôi sẽ có 2 trường hợp để xử lý sự cố này bao gồm:

  • Tích lũy dữ liệu
  • Sao chép dữ liệu

Tích lũy dữ liệu

Bạn sử dụng một phần mềm trung gian để gửi thông tin đến cả hai máy chủ và yêu cầu chúng tra cứu thông tin trong sản phẩm và cơ sở dữ liệu người dùng. Sau đó, tìm sản phẩm phù hợp với yêu cầu của người dùng và trả kết quả cho người dùng.

Trong trường hợp này, nếu bạn có nhiều máy chủ, Microservices khác nhau, lượng dữ liệu sẽ tăng tuyến tính với số lượng máy chủ, Microservices mà bạn có. Điều này có nghĩa là thời gian xử lý sẽ lâu hơn.

Sao chép dữ liệu

Đối với phương pháp này, bạn sẽ lưu trữ dữ liệu trong cơ sở dữ liệu người dùng, cơ sở dữ liệu sản phẩm và thêm cơ sở dữ liệu thứ 3 chứa cả hai dữ liệu trên.

Điều này sẽ giúp người dùng có thể tìm kiếm dữ liệu trực tiếp và nhanh chóng hơn bao giờ hết. Tuy nhiên, giải pháp này rất tốn bộ nhớ nếu bạn có nhiều cơ sở dữ liệu khác nhau.

Như trong hình bên dưới, bạn sẽ thấy Middleware sau được sử dụng để phân bổ lưu trữ dữ liệu hiệu quả hơn:

middleware-la-gi

Bảo mật API

Trong bất kỳ giao diện người dùng nào, các yêu cầu được gửi có thể được nhìn thấy trong trình duyệt hoặc bảng điều khiển proxy. Do đó, khi người dùng đăng nhập, đăng ký và đăng xuất, các địa chỉ xác thực trên máy chủ sẽ bị lộ.

Nếu bạn đã tìm hiểu về địa chỉ IP phụ trợ, bạn có thể sử dụng các công cụ để tấn công máy chủ.

Do đó, chúng tôi sẽ sử dụng Middleware làm cổng proxy để ẩn URL xác thực của máy chủ. Lúc này, Middleware sẽ là “người” giao tiếp với người dùng và truyền yêu cầu của họ đến máy chủ xác thực rồi gửi phản hồi lại cho người dùng.

middleware-la-gi

Bằng cách này, chúng tôi có thể chặn hầu hết các yêu cầu đến máy chủ xác thực ngoại trừ các yêu cầu Phần mềm trung gian. Điều này sẽ làm cho máy chủ xác thực của chúng tôi an toàn hơn.

Hiển thị API công khai

Trong phần trước, chúng ta đã biết rằng Middleware có thể được sử dụng để hạn chế quyền truy cập vào các API của chúng tôi.

Nhưng bây giờ bạn muốn chia sẻ, cấp quyền truy cập hạn chế vào API?

Ví dụ, chúng tôi là một nhóm kỹ sư phần mềm trong một ngân hàng và ngân hàng đang có kế hoạch tổ chức một cuộc thi Hackathon? Trong trường hợp này, chúng tôi sẽ phải cấp quyền truy cập API.

middleware-la-gi

Vì chúng tôi là một ngân hàng, chúng tôi không chia sẻ toàn quyền truy cập vào các API vì chúng liên quan trực tiếp đến dữ liệu người dùng và tài sản của họ. Vì vậy, giải pháp là chúng ta sẽ cần chia sẻ API một cách có chọn lọc.

Trong trường hợp này, chúng tôi có thể triển khai Phần mềm trung gian chỉ hiển thị một số điểm cuối và chuyển hướng yêu cầu đến các API được cấp. Sau đó, chúng tôi sẽ cung cấp các API này cho các nhà phát triển tham gia Hackathon.

Sau khi tìm hiểu về Middleware là gì cũng như ứng dụng của nó trong thực tế, bạn đã nắm được rất nhiều kiến ​​thức bổ ích rồi phải không? thuthuatkiemtien.com hy vọng rằng những kiến ​​thức này có thể trở thành hành trang trong quá trình phát triển sự nghiệp lập trình của bạn. Cuối cùng, thuthuatkiemtien.com xin chúc các bạn luôn thành công trên con đường lập trình web đã chọn!

Bài viết tham khảo nội dung từ nhiều nguồn: FreeCodeCamp, TopDev, Redhat, IBM, …

Câu hỏi thường gặp về Phần mềm trung gian

Middleware trong Laravel là gì?

Middleware trong Laravel có chức năng tương tự với cơ chế cho phép người dùng tham gia vào các luồng xử lý yêu cầu trong các ứng dụng được xây dựng bằng Laravel.

Làm thế nào để tạo Middleware trong Laravel?

Để tạo phần mềm trung gian trong Laravel, bạn sử dụng cú pháp sau:

  • nghệ nhân php thực hiện: Middleware [MiddlewareName]

Các loại phần mềm trung gian trong ExpressJS là gì?

Trong ExpressJS, có 5 loại Middleware bao gồm:

  • Phần mềm trung gian cấp ứng dụng
  • Phần mềm trung gian cấp bộ định tuyến
  • Xử lý lỗi Middleware
  • Phần mềm trung gian tích hợp
  • Phần mềm trung gian của bên thứ ba

Tôi nên sử dụng phiên bản ExpressJS nào để làm việc với Phần mềm trung gian?

Tốt nhất, bạn nên sử dụng ExpressJS phiên bản 4.x hoặc cao hơn. Vì từ phiên bản này, ExpressJS không còn phụ thuộc vào thư viện Connect nữa, hầu hết các chức năng của Middleware được tách thành các module riêng biệt, giúp cho việc lập trình với ExpressJS trở nên thuận tiện hơn.

Hiện tại, chỉ có Middleware express.static chưa được tách thành một mô-đun riêng biệt.

CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO

  • Trụ sở chính: L17-11, Lầu 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn, P. Bến Nghé, Q.1, TP.
    VPĐD: 42 Trần Phú, P.4, Q.5, TP.HCM
  • Điện thoại: 0364 333 333
    Tổng đài miễn cước: 1800 6734
  • Email: sales@tino.org
  • Trang web: www.tino.org

Xem thêm nhiều bài viết về : Kiến Thức Cơ Bản

Bản quyền thuộc: thuthuatkiemtien.com



from thuthuatkiemtien.com https://ift.tt/3G64m1i
via thuthuatkiemtien.com

Nhận xét

Bài đăng phổ biến từ blog này

3 Cách để kiếm tiền từ blog WordPress

Google AdSense bỏ giới hạn số lượng quảng cáo trên mỗi trang

Toàn tập danh sách liên kết đơn trong C++