Trong thế giới Microservices, việc quản lý kết nối đến các External Services (Staging, UAT, Production) luôn là một bài toán gây ức chế. Mỗi lần đổi môi trường là một lần sửa .env, một lần chờ nodemon hay nest start --watch khởi động lại.
Tôi xây dựng Portland – một công cụ CLI nhỏ gọn bằng TypeScript – để chấm dứt vòng lặp lãng phí đó.
Portland là gì?
Portland là một Proxy Layer chạy tại máy cục bộ. Thay vì để ứng dụng kết nối trực tiếp đến đích (Destination), bạn trỏ ứng dụng vào Portland. Từ đó, bạn có thể điều hướng lưu lượng đến bất kỳ đâu thông qua CLI mà không cần chạm vào mã nguồn.
Những điểm "ăn tiền" của Portland
1. Zero-Restart Workflow
Khi bạn sử dụng @huynhthuc/portland, luồng làm việc sẽ thay đổi hoàn toàn:
Trước đây: Sửa
.env→ App Restart (mất 5-10s) → Re-login/Auth → Test.Với Portland: CLI Switch (mất 0.1s) → Test tiếp ngay lập tức.
2. Cấu hình tập trung (Centralized Mapping)
Mọi cấu hình được gói gọn trong file portland.config.json. Bạn có thể định nghĩa nhiều "target" cho cùng một dịch vụ:
api-v1trỏ đếnlocalhost:3001(Dev)api-v1trỏ đếnstaging.api.com(Staging)
3. Lightweight & Type-safe
Được viết bằng TypeScript, Portland cực kỳ nhẹ và ổn định. Nó hoạt động như một lớp chuyển tiếp (Transparent Proxy), đảm bảo header, body và các tham số request được giữ nguyên vẹn khi đi qua "trạm".





