Hình Ảnh Bị Vợ Đuổi Khỏi Nhà
Bạn tải về hình ảnh lớn hơn giới hạn kích cở thực sự của bạn, nên chúng tôi phải thu nhỏ nó lại 4 megapixels. Bạn có thể tùy chỉnh giới hạn kích cỡ hình ảnh của bạn hoặc cho phép Cắt Trước trong đối thoại Nhập Các Tùy Chọn .//
Hệ thống chậm, lập trình viên giải quyết thế nào?
Quả thật nếu để như vậy thì hệ thống đặt hàng quá chậm, nhưng anh ấy nhận thấy rằng quá trình trên thực sự có thể được thực hiện lập trình theo kiểu không đồng bộ. Hay còn gọi là lập trình không đồng bộ. Nghĩa là Sau khi bạn đặt hàng và thanh toán thành công, tôi có thể xác minh phiếu giảm giá và tăng hoặc giảm điểm cùng một lúc và đồng thời hệ thống cũng có thể gửi Email tại thời điểm đó mà không trễ hơn chút nào. Chính vì suy nghĩ đó bắt tay vào công việc.
Và quy trình nó là thế này, hiệu quả hơn quy trình đặt hàng trước kia. Nhớ xem lại bài trước kia, để hiểu rõ hơn.
Nhưng chúng tôi không thể triển khai quy trình này một cách thủ công và chắc chắn có một công nghệ gì đó sẽ giúp chúng tôi mà đến giờ vẫn chưa biết. Tiếp tục tìm... Bạn ơi đừng lo lắng, đã có một công nghệ từ lâu nhưng vẫn có nhiều bạn vẫn chưa thực sự hiểu về diều này. Đó là Tin nhắn hàng đợi hay còn gọi là message queue.
Đừng vội hiểu ý nghĩa của nó là gì? Chúng ta hãy xem nếu sử dụng message queue thì nó giúp chúng ta giải quyết được bài toán trên như thế nào? Hãy cùng xem mô hình tiếp theo khi chúng tôi thêm một quy trình không đồng bộ vào quy trình đặt hàng. Hãy xem.
Sau khi một người đặt hàng thì mọi chuyện sẽ trở nên đơn giản như thời kỳ trước mới thành lập. Và nhiệm vụ còn lại của bạn sẽ thông báo cho hệ thống khác rằng có những nhiệm vụ cần làm, và bạn sẽ đẩy những nhiệm vụ đó và một hàng đợi. Và nhiệm vụ của hệ thống này có nhiệm vụ nhận được thông tin từ bạn sẽ giải quyết một các độc lập mà không hề làm ảnh hưởng tới khác hàng của bạn đang đặt hàng.
Có thể nói nhìn vào hình ảnh quy trình thì bạn có thể hình dung được câu chuyện hơn những gì tôi nói ở dây. Nếu bạn nào thật sự hiểu thì liên tưởng đến "Giao dịch phân tán". Giao dịch phân tán rất phổ biến ở các công ty Internet và tôi sẽ không giới thiệu dài dòng về chúng ở đây. Tôi sẽ nói về chúng sau.
Này, ai đã từng đọc những bài tôi viết trước đây đều biết rằng, điều tôi thường nói rằng công nghệ là con dao hai lưỡi! Bạn hãy biết thực tế rằng, hệ thống đang trơn tru và vì một vấn đề nào đó bạn lại triển khai thêm một hệ thống trung gian thì hãy cẩn thận. Ban đầu là một hệ thống khá đơn giản, bạn có thể viết mã một cách tùy tiện, nhưng bây giờ bạn cắm một phần mềm trung gian vào hệ thống đó. Rồi bao nhiêu vấn đề phát sinh, bạn phải control được nó. Nhưng không có nó, bạn sẽ bị out ra khỏi hệ thống. Nhớ nhé!
Giờ chúng ta có thể nói đến định nghĩa message queue là gì? Trích ở bài post của https://lcdung.top/message-queue-la-gi/
Message Queue nôm na là Queue (hàng đợi), chứa Message (Tin nhắn) như hộp thư 😀 Và nó cho phép các thành phần/service trong một hệ thống (hoặc nhiều hệ thống), trao đổi thông tin cho nhau. Ý nghĩa của queue (hàng đợi) là nó thực hiện việc lấy message theo cơ chế vào trước thì ra trước ( First In First Out ).
Một hệ thống Message Queue thường có những thành phần sau:
Và quan trong hơn và tin vui đến với các bạn đó là hiện nay có rất nhiều Message queue được dùng hiện nay như:
Và trong này thì tôi thường sử dụng RabbitMQ. Và hãy cho tôi nói về RabbitMQ một chút!
RabbitMQ là một phần mềm trung gian nhắn tin mã nguồn mở được phát triển bằng ngôn ngữ Erlang để triển khai AMQP (Giao thức xếp hàng tin nhắn nâng cao). Trước hết, chúng ta phải biết một số đặc điểm của RabbitMQ, có thể tìm thấy trên trang web chính thức.
Và phần mềm trung gian này thực sự ổn, nhưng ngôn ngữ phát triển của nội dung này thực sự là erlang . Tôi dám khẳng định rằng hầu hết các kỹ sư chắc chắn sẽ không cố tình học ngôn ngữ cho phần mềm trung gian. Chi phí phát triển và bảo trì nằm ngoài sức tưởng tượng của bạn., Phải mất nhiều thời gian để kiểm tra xem có vấn đề gì không. Nhưng nó thật sự là ổn.
Tiếp theo tôi sẽ làm một demo nho nhỏ giúp các bạn thực sự hiểu hơn nhé... Lại là chờ tiếp há há.Bài viết trước: Hệ thống chậm, tôi chuẩn bị thất nghiệm thế nào?