Có một số lý do thuyết phục khiến mọi người có thể muốn cải thiện hiệu suất API:
Chúng tôi sẽ thiết lập Proxy làm hệ thống quản lý trung tâm để đạt được hiệu suất API được cải thiện. Một proxy hoạt động như một trung gian giữa máy khách và máy chủ. Nó nằm giữa máy khách tạo yêu cầu API và máy chủ lưu trữ các API. Khi một khách hàng thực hiện một yêu cầu API, trước tiên, nó sẽ đi qua proxy, sau đó chuyển tiếp yêu cầu đến máy chủ. Máy chủ xử lý yêu cầu và gửi phản hồi trở lại proxy, sau đó chuyển tiếp nó đến máy khách. Điều này cho phép proxy chặn, sửa đổi hoặc lưu trữ yêu cầu hoặc phản hồi khi cần, tạo cơ hội để tối ưu hóa hiệu suất API.
Đối với macOS (hoặc Linux ), hãy cài đặt Homebrew trên hệ thống của bạn.
Có các bước sau để cài đặt Nginx trên macOS:
1️⃣ Tải xuống Homebrew
Để cài đặt Nginx trên macOS, Homebrew phải được cài đặt trên hệ thống. Homebrew là trình quản lý gói cho hệ điều hành Mac cho phép chúng tôi cài đặt các ứng dụng Unix khác nhau một cách dễ dàng. Nếu bạn chưa có Homebrew , hãy sử dụng liên kết sau để cài đặt: https://brew.sh/
Hoặc chỉ cần gõ lệnh sau trên thiết bị đầu cuối:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2️⃣ Cài đặt Nginx
Trình cài đặt gói homebrew sẽ giúp cài đặt máy chủ web Nginx trên macOS. Để cài đặt Nginx , sử dụng lệnh sau:
brew install nginx
3️⃣ Chỉnh sửa file cấu hình
Theo mặc định, vị trí của tệp cấu hình Nginx là:
/opt/homebrew/etc/nginx/nginx.conf
Để chỉnh sửa tệp cấu hình Nginx, bạn có thể sử dụng bất kỳ trình soạn thảo văn bản nào bạn chọn. Ví dụ: bạn có thể sử dụng nano , vim hoặc emacs . Đây là một lệnh ví dụ để chỉnh sửa tệp cấu hình Nginx bằng nano:
nano /opt/homebrew/etc/nginx/nginx.conf
Chúng tôi sẽ chỉnh sửa khối máy chủ lắng nghe trên cổng 80.
Tìm kiếm khối máy chủ
Sau đó, tiến hành bao gồm ba điểm cuối RPC của mạng chính Ethereum bên dưới:
location /nodereal { proxy_pass https://eth-mainnet.nodereal.io/v1/<API KEY>; proxy_set_header Content-Type "application/json"; } location /RPCProviderA { proxy_pass <https URI endpoint>; proxy_set_header Content-Type "application/json"; } location /RPCProviderB { proxy_pass <https URI endpoint>; proxy_set_header Content-Type "application/json"; }
Có thể bao gồm nhiều điểm cuối RPC khi cần thiết và sau đó bảo toàn tệp cấu hình.
Để đảm bảo không có lỗi cú pháp, vui lòng tiến hành kiểm tra tệp cấu hình Nginx:
nginx -t
🎊 Trong trường hợp không có lỗi, kết quả như sau sẽ được hiển thị.
nginx: cú pháp file cấu hình /opt/homebrew/etc/nginx/nginx.conf là ok
nginx: tệp cấu hình /opt/homebrew/etc/nginx/nginx.conf kiểm tra thành công
Để khởi động lại máy chủ Nginx, vui lòng thực hiện lệnh sau:
brew services restart nginx
4️⃣ Gửi phương thức API qua Nginx Proxy
Để kiểm tra Proxy Nginx, chúng tôi đang kiểm tra giá gas trên Ethereum thông qua eth_gasPrice . Chúng tôi sẽ gửi một lệnh curl để gửi một yêu cầu POST HTTP đến vị trí "/nodereal" của máy chủ đang chạy trên máy cục bộ (tại " http://localhost ") với tải trọng JSON được thấy bên dưới:
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":1}' -H "Content-Type: application/json" http://localhost/nodereal
✅ {"jsonrpc":"2.0","id":1,"result":"0xdec36a8d1"}
Phản hồi bạn nhận được sau khi chạy lệnh curl là phản hồi JSON-RPC từ nút Ethereum . Dưới đây là giải thích ngắn gọn về câu trả lời:
Giá trị thập phân của "0xdec36a8d1" là 59797579985. Do đó, giá gas hiện tại trên mạng Ethereum tại thời điểm yêu cầu được đưa ra là 59797579985 wei (đơn giá nhỏ nhất của Ether) hoặc 58 Gwei.
Kiểm tra nó với các máy chủ còn lại, /RPCProviderA & /RPCProviderB, bằng cách chạy trên máy cục bộ (tại " http://localhost "):
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":1}' -H "Content-Type: application/json" http://localhost/RPCProviderA
🥳 Bạn có thể bắt đầu thử nghiệm proxy của riêng mình.
✅ Ưu điểm của việc sử dụng Nginx làm proxy cho cổng API:
❌ Nhược điểm của việc sử dụng Nginx làm proxy cho cổng API:
Tóm lại, việc cải thiện hiệu suất API là rất quan trọng đối với các doanh nghiệp và nhà phát triển. Sử dụng Nginx làm proxy cho cổng API mang lại các lợi thế như cân bằng tải, bộ nhớ đệm, khả năng mở rộng và bảo mật. Tuy nhiên, có những hạn chế như tính năng quản lý API hạn chế, cấu hình phức tạp và thiếu khả năng xác thực và ủy quyền nâng cao. Cần xem xét cẩn thận những ưu và nhược điểm này. Nhìn chung, tận dụng Nginx làm proxy có thể là một công cụ mạnh mẽ để cải thiện hiệu suất API. Hãy theo dõi loạt bài hướng dẫn tiếp theo vì chúng tôi sẽ chia sẻ thêm về vấn đề phổ biến gặp phải và cách gỡ lỗi.
Cũng được xuất bản ở đây .