Hế nhô

Xin chào, tháng nào cx vậy tôi cx sẽ note lại vài cái mình chưa hiểu và ngẫm lại nó vào một thời gian rảnh rỗi, do tháng này bao việc cộng thêm việc lười biến của tôi thì bài viết này xin được phép sơ sài :>

Handshake ( trong https://viblo.asia/p/database-connection-pooling-tong-quan-va-implement-benchmark-38X4EN0oJN2) connect giữa các application và user

Khi đọc bài viết này, tôi được biết mỗi chúng ta đều có nhu cầu kết nối đến db và hiển nhiên thì các hệ quản trị cơ sở dữ liệu đều sp điều này thông qua protocol giao tiếp TCP như một tiêu chuẩn, và để kết nối từ xa thì phải thêm SSL/TLS để bảo mật connection (mã hóa của https hơn so với http)

Dưới đây là mô tả kết nối

Do đó, nếu mỗi lần có request, nếu application phải tạo mới 1 connection tới DB, thì sẽ phải thực hiện handshake lại, việc này sẽ rất tốn resource và làm chậm app đi.

-> Handshake là quá trình khởi tạo kết nối giữa hai bên clien - Server trong một giao tiếp mạng và nó được bảo mật thông qua SSL/TLS, hay ở đây là client muốn kết nối tới db (db là server) mục tiêu của handshake là để thỏa thuận các tham số cho việc kết nối

-> Kết quả của quá trình handshake là tạo ra một kết nối an toàn, nơi tất cả dữ liệu được mã hóa và bảo vệ khỏi các cuộc tấn công như nghe lén qua đường truyền và giả mạo.

Handshake tốn tài nguyên?

Quá trình handshake thường tốn tài nguyên và thời gian bởi vì:

  • Việc trao đổi chứng chỉ và xác minh tính hợp lệ của chứng chỉ yêu cầu sử dụng các thuật toán mã hóa phức tạp.
  • Khâu tạo và chia sẻ khóa mã hóa phiên sử dụng nhiều phép toán mật mã học, cần sự tính toán từ cả client và server.
  • Việc trao đổi dữ liệu ban đầu trong quá trình handshake cần nhiều lần đi qua mạng giữa client và server, tạo độ trễ.
    Vì vậy, việc mở kết nối mới với mỗi request dẫn đến quá trình handshake lặp đi lặp lại, gây ra sự chậm trễ đáng kể trong hệ thống.

Giải pháp là lưu cache hoặc nối tiếp session

số lượng connection tối đa của MySQL là 151. Với Postgresql thì sẽ là 100.

Proxy

Proxy thực chất là một server hoặc một router , nó có vai trò là cánh cổn kết nối giữa người dùng và internet. Đơn giản hơn proxy là các máy chủ vật lý có chức năng tương tự như một tường lửa để lọc các gói tin truy cập web

Vậy tại sao lại cần Proxy

  • Để kiểm soát việc sử dụng Internet của nhân viên và trẻ em.

  • Tiết kiệm băng thông và cải thiện tốc độ.

  • Bảo mật riêng tư.

  • Cải thiện bảo mật.

  • Truy cập vào các tài nguyên bị chặn.

Phần cái loại máy chủ proxy và chức năng cách cài đặt tôi xin phép bỏ qua chỉ intro thôi =))