Mình đang hiểu là bạn đang dùng Traefik làm reverse proxy cho trang lb.dehub.tech không biết có đúng không nhỉ?
Vậy làm cách nào để cho nó pull metrics từ loadbalance vậy ạ?
Cái này thì bạn đọc theo doc của Traefik, nó có hỗ trợ cung cấp metrics cho Prometheus đó. Bạn thử xem nhé, nếu các metrics của Traefik cung cấp là chưa đủ với bạn thì có thể sử dụng thêm cAdvisor để có thể thu thập được nhiều metrics hơn.
Với cho em hỏi làm sao để truy cập vào prometheus và grafana bằng domain của mình?
Cái này thì đơn giản lắm, bạn chỉ cần thêm label cho service Prometheus là nó tự routing cho mình luôn. Bạn tham khảo doc trước nhé, nếu chưa được thì mình hỗ trợ thêm. Không biết bạn dùng docker swarm, k8s hay như nào nhỉ?
Mình đã đọc câu hỏi của bạn, nhưng vẫn muốn hỏi lại "mình chưa từng làm qua firebase với nodejs thì có được trả lời câu này không?" Vì mình đoán được nguyên nhân của vấn đề, nên cũng muốn giúp bạn, điều kiện cho người được phép trả lời có hơi khắt khe quá không?
Thực ra đối với môi trường prod thì việc dùng npm, hay yarn là gần như không cần thiết thì đúng hơn. Để tối ưu hóa dung lượng, thì khi deploy chúng ta thường deploy luôn cả đống js, css được build sẵn ở local lên => Giúp tối ưu hóa hơn cho server. Tuy nhiên cũng sẽ có cái được, mất giữa việc sử dụng và không sử dụng các Công cụ quản lý trên môi trường production
Hello anh, lại là em đây mong anh không phiền với kha khá những comments "hỏi bài" đến từ e
Em đã học qua php (code thuần + laravel) và hiện đang code frontend (vuejs).
Em rất thích js nên đã bắt đầu tự học nodejs. Tuy nhiên em lại không biết nên bắt đầu từ đâu và em muốn tham khảo ý kiến anh về một vài vấn đề sau:
Có nhiều framework nodejs nhưng em không biết liệu có nên bắt đầu học nodejs bằng cách code chay không ạ (không dùng framework chỉ nodejs không). Và nếu có thì anh có thể chia sẻ cho em vài bí kíp nếu có tài liệu thì tốt quá ạ Vốn dĩ em hỏi câu này vì em thấy nodejs không cũng đã hỗ trợ kết nối dtb, tuy nhiên về những thứ như bảo mật hay bắt request thì em chưa tìm thấy tài liệu nào (hoặc do em chưa tìm đủ).
Em đã thử tìm một số tutorials và họ đều hướng dẫn với expressjs theo anh nếu mới học nodejs mà học luôn expressjs thì liệu có bị hổng kiến thức về nodejs k ạ. Vì em vẫn đang băn khoăn về việc nên học chay nodejs trước (nhưng đang gặp khó khăn trong việc tìm tài liệu và không biết bắt đầu từ đâu) hoặc (học theo những tutorials với expressjs nhưng lại sợ bị hổng một số kiến thức cơ bản về nodejs).
Dạ chào anh, hiện em đang muốn sử dụng promethues và grafana để monitor cho loadbalancer của em là lb.dehub.tech. Ở cái IP public em đang chạy traefik.dehub.tech (dashboard) và lb.dehub.tech (loadbalance). Vậy làm cách nào để cho nó pull metrics từ loadbalance vậy ạ. Với cho em làm sao để truy cập vào prometheus và grafana bằng domain của mình v ạ (VD: traefik.dehub.tech:9090, traefik.dehub.tech:3000).
Theo như mình dịch từ trên docs thì bản thân mình cũng cảm thấy 2 cái này rất giống nhau. Tuy nhiên có 1 cái khác, đó là đói với Nonrepeatable read thì đề cập tới việc đọc cùng 1 row nhiều lần nhưng kết quả khác nhau giữa các lần. Còn Phantom read sẽ là list rows kết quả trả về có số lượng khác nhau giữa các lần. Có thể hiểu là Nonrepeatable read là trường hợp có 1 transaction khác update bản ghi trong quá trình transaction 1 đọc nên kết quả khác, còn Phantom read là có 1 transaction khác insert thêm bản ghi vào trong lúc transaction 1 đang đọc nên list rows trả về khác nhau.
Ngoài cách của bạn ra mình thấy còn có một cách.
Sau khi tạo file xib thì đặt customClass của chính view trong file xib là class vừa tạo. Phần File owner để trống, không cần điền gì cả.
Sử dụng extension sau để tạo instance cho view
extension UIView { class func fromNib<T: UIView>() -> T { return Bundle(for: Self.self).loadNibNamed(String(describing: Self.self), owner: nil, options: nil)![0] as! T } }
Bài viết rất hay, bố cục mạch lạc, dễ hiểu, nhưng mình thấy đang confuse giữa Nonrepeatable read và Phantom read. Cả 2 cùng là trả về dữ liệu khác nhau giữa các lần read khi có việc chỉnh sửa dữ liệu chen vào.
@sherlock mình nghĩ bạn nên thêm vào vì trong quá trình triển khai mình thấy phải handle event skipWaiting này để cho application chạy tiếp không sẽ bị hang.
bạn có nói đến lỗ hổng của nginx, nhưng trong bài mình lại không hề thấy bạn mô tả lỗ hổng đó như nào, là cái gì, mình thấy bạn nên đổi tên bài viết thành cách cài đặt nginx trên debian đi thì hơn
THẢO LUẬN
Mình đang hiểu là bạn đang dùng Traefik làm reverse proxy cho trang lb.dehub.tech không biết có đúng không nhỉ?
Cái này thì bạn đọc theo doc của Traefik, nó có hỗ trợ cung cấp metrics cho Prometheus đó. Bạn thử xem nhé, nếu các metrics của Traefik cung cấp là chưa đủ với bạn thì có thể sử dụng thêm cAdvisor để có thể thu thập được nhiều metrics hơn.
Cái này thì đơn giản lắm, bạn chỉ cần thêm label cho service Prometheus là nó tự routing cho mình luôn. Bạn tham khảo doc trước nhé, nếu chưa được thì mình hỗ trợ thêm. Không biết bạn dùng docker swarm, k8s hay như nào nhỉ?
(ngonroi)
Mình đã đọc câu hỏi của bạn, nhưng vẫn muốn hỏi lại "mình chưa từng làm qua firebase với nodejs thì có được trả lời câu này không?" Vì mình đoán được nguyên nhân của vấn đề, nên cũng muốn giúp bạn, điều kiện cho người được phép trả lời có hơi khắt khe quá không?
Thực ra đối với môi trường
prodthì việc dùng npm, hay yarn là gần như không cần thiết thì đúng hơn. Để tối ưu hóa dung lượng, thì khi deploy chúng ta thường deploy luôn cả đống js, css được build sẵn ởlocallên => Giúp tối ưu hóa hơn cho server. Tuy nhiên cũng sẽ có cái được, mất giữa việc sử dụng và không sử dụng cácCông cụ quản lýtrên môi trườngproductionĐúng thứ em cũng đang tìm hiểu, hay quá anh ơi (h)
Hello anh, lại là em đây mong anh không phiền với kha khá những comments "hỏi bài" đến từ e

Em đã học qua php (code thuần + laravel) và hiện đang code frontend (vuejs).
Em rất thích js nên đã bắt đầu tự học nodejs. Tuy nhiên em lại không biết nên bắt đầu từ đâu và em muốn tham khảo ý kiến anh về một vài vấn đề sau:
Dạ chào anh, hiện em đang muốn sử dụng promethues và grafana để monitor cho loadbalancer của em là lb.dehub.tech. Ở cái IP public em đang chạy traefik.dehub.tech (dashboard) và lb.dehub.tech (loadbalance). Vậy làm cách nào để cho nó pull metrics từ loadbalance vậy ạ. Với cho em làm sao để truy cập vào prometheus và grafana bằng domain của mình v ạ (VD: traefik.dehub.tech:9090, traefik.dehub.tech:3000).
Em cảm ơn anh ạ.
Cày series's này của anh có vẻ nhanh hơn docs =))
Hay quá bạn
tại sao lại down vote nhi? Công nghệ phát triển theo từng tháng năm mà.
oke bạn ơi. Cảm ơn bạn nhé
Theo như mình dịch từ trên docs thì bản thân mình cũng cảm thấy 2 cái này rất giống nhau. Tuy nhiên có 1 cái khác, đó là đói với Nonrepeatable read thì đề cập tới việc đọc cùng 1 row nhiều lần nhưng kết quả khác nhau giữa các lần. Còn Phantom read sẽ là list rows kết quả trả về có số lượng khác nhau giữa các lần. Có thể hiểu là Nonrepeatable read là trường hợp có 1 transaction khác update bản ghi trong quá trình transaction 1 đọc nên kết quả khác, còn Phantom read là có 1 transaction khác insert thêm bản ghi vào trong lúc transaction 1 đang đọc nên list rows trả về khác nhau.
Ngoài cách của bạn ra mình thấy còn có một cách. Sau khi tạo file xib thì đặt customClass của chính view trong file xib là class vừa tạo. Phần File owner để trống, không cần điền gì cả. Sử dụng extension sau để tạo instance cho view
extension UIView { class func fromNib<T: UIView>() -> T { return Bundle(for: Self.self).loadNibNamed(String(describing: Self.self), owner: nil, options: nil)![0] as! T } }Bài viết rất hay, bố cục mạch lạc, dễ hiểu, nhưng mình thấy đang confuse giữa Nonrepeatable read và Phantom read. Cả 2 cùng là trả về dữ liệu khác nhau giữa các lần read khi có việc chỉnh sửa dữ liệu chen vào.
@sherlock mình nghĩ bạn nên thêm vào vì trong quá trình triển khai mình thấy phải handle event skipWaiting này để cho application chạy tiếp không sẽ bị hang.
bạn có nói đến lỗ hổng của nginx, nhưng trong bài mình lại không hề thấy bạn mô tả lỗ hổng đó như nào, là cái gì, mình thấy bạn nên đổi tên bài viết thành cách cài đặt nginx trên debian đi thì hơn
hay quá thầy ơi
So goood. How can I contact you for a project. We develop a Google map like algorithm for Persnalized teaching. My email duke@smartedunow.com. Thanks