Kiến thức network rất phức tạp, mình có câu hỏi là bạn đã test thực tế mà không sử dụng thư viện mà dùng thuần thư viện standard của nodejs chưa. Nếu được thì show cả quá trình haproxy xử lý packet khi nó nhận được thì mới hiểu được chính xác nó xử lý như nào.
Ý là họ dùng 2 connection "độc lập", tức có thể n client connection tới haproxy nhưng chỉ m connection tới các server phía sau, cụ thể implement như nào thì chắc phải đọc code hoặc có blog chi tiết từ Haproxy. Mình cũng hiểu là dù protocol nào đi nữa websocket hay http thì nó cũng sẽ thành các gói tin có source (ip + port) và destination (ip+port). Do vậy cũng không dám khẳng định là Haproxy "mặc định" có "khôn" để điều hướng các gói tin liên quan tới websocket của một client về chung một backend không hay nó coi như một http request bình thường và bắn tùm lum (round-robin, least-conn, ...) sang các backend khá?
Khẳng định không cần dùng ip_hash hay sticky session cho websocket mình thấy vẫn chưa thuyết phục.
Bản thân TCP connection thì nó cũng chỉ là các gói tin độc lập: có source (ip + port), dest (ip +port).
Update: Nếu ai gặp lỗi về AuthorizationHeaderMalformed thì hãy set lại bucket về cùng region của lambda nhé. Hoặc có thể đổi lai region của function origin-request về region của bucket hiện tại.
@cuongnh28 mình dùng cloud Digital Ocean. bạn có thể cùng FileZilla để upsource lên hoặc CI/CD để auto deploy lên từ github.
Vì dùng Server side render nên hơi tốn resource 1 chút. chỉ dùng cá nhân và ít user vào cùng 1 lúc (dưới 15) có thể dùng cấu hình này là đc rồi
Vì không phụ thuộc vào BE nên sẽ không có API, việc quản lý nội dung sẽ là các file Markdown. bạn tìm trong thư mục project/app/content/blog -> các file tương ứng với slug của bài viết
5 người bạn liệt kê ở trên thì mình follow hết 4, công nhận con đường này khó và gian nan.
Cũng từng thất bại 3 sản phẩm và giờ đang build sp thứ 4 https://vietnamdevs.com
THẢO LUẬN
Kiến thức network rất phức tạp, mình có câu hỏi là bạn đã test thực tế mà không sử dụng thư viện mà dùng thuần thư viện standard của nodejs chưa. Nếu được thì show cả quá trình haproxy xử lý packet khi nó nhận được thì mới hiểu được chính xác nó xử lý như nào.
Ngay như đoạn giải thích cơ chế proxies của Haproxy https://docs.haproxy.org/3.0/intro.html#3.3.1, họ viết như này
Ý là họ dùng 2 connection "độc lập", tức có thể n client connection tới haproxy nhưng chỉ m connection tới các server phía sau, cụ thể implement như nào thì chắc phải đọc code hoặc có blog chi tiết từ Haproxy. Mình cũng hiểu là dù protocol nào đi nữa websocket hay http thì nó cũng sẽ thành các gói tin có source (ip + port) và destination (ip+port). Do vậy cũng không dám khẳng định là Haproxy "mặc định" có "khôn" để điều hướng các gói tin liên quan tới websocket của một client về chung một backend không hay nó coi như một http request bình thường và bắn tùm lum (round-robin, least-conn, ...) sang các backend khá?
Khẳng định không cần dùng ip_hash hay sticky session cho websocket mình thấy vẫn chưa thuyết phục.
Bản thân TCP connection thì nó cũng chỉ là các gói tin độc lập: có source (ip + port), dest (ip +port).
Nguồn ảnh: https://www.geeksforgeeks.org/tcp-ip-packet-format/
Ý kiến của bạn ntn? @monmen
@levinhtuyen210 mình cảm ơn bạn
Viết chẳng đầu chẳng cuối vậy bác vấn đề chưa được giải quyết kìa ))
Update: Nếu ai gặp lỗi về AuthorizationHeaderMalformed thì hãy set lại bucket về cùng region của lambda nhé. Hoặc có thể đổi lai region của function origin-request về region của bucket hiện tại.
đây là bài gì? tự nghĩ ra à?
Comment này để cho biết rằng sau 3 năm 5 tháng 18 ngày thì đã có người thấy cái này lần nữa.
@cuongnh28 mình dùng cloud Digital Ocean. bạn có thể cùng FileZilla để upsource lên hoặc CI/CD để auto deploy lên từ github. Vì dùng Server side render nên hơi tốn resource 1 chút. chỉ dùng cá nhân và ít user vào cùng 1 lúc (dưới 15) có thể dùng cấu hình này là đc rồi
@CVThien912 kiểm tra đường dẫn npm có đúng không, kiểm tra npm đã cài hay chưa, kiểm tra PATH của npm
@levinhtuyen210 mình cảm ơn bạn. Với lại cho mình hỏi về phần resource bạn dùng để deploy với ạ. Hosting tầm bao nhiêu là đủ nhỉ?
Vì không phụ thuộc vào BE nên sẽ không có API, việc quản lý nội dung sẽ là các file Markdown. bạn tìm trong thư mục project/app/content/blog -> các file tương ứng với slug của bài viết
Cho mình hỏi, muốn đăng bài vào mục blog thì vào mục nào để đăng ạ? Đối với web site ở trên
đọc xong mình ko biết mục đích của tool là gì và kết quả là gì luôn 😁 có vẻ do bạn dùng tiếng Nhật nên mình ko hiểu.
Khi làm vậy, webpack sẽ thực hiện code-splitting, tức bỏ mã nguồn của package vào file riêng chứ không cho cùng vào file script của component hay ở vendor nữa. Có article hướng dẫn thêm về cái này ở https://vueschool.io/articles/vuejs-tutorials/lazy-loading-and-code-splitting-in-vue-js/Bàn ghế tiệc cưới
Nhiều đồ cổ ở đây quá @@
@hungpvph36223 🧐vậy à e? cái này a phải thử thêm để confirm, thanks e nhé
Đồng ý.
Nó hiện lên lỗi này là sao vậy ad Deprecated, it has been moved to
background.editor
.5 người bạn liệt kê ở trên thì mình follow hết 4, công nhận con đường này khó và gian nan. Cũng từng thất bại 3 sản phẩm và giờ đang build sp thứ 4 https://vietnamdevs.com
good