Message Queue: Best practise


Những thông tin dưới đây là được tổng hợp theo kinh nghiệm “mắc phải” Queue càng ngắn càng tốt Việc queue dài là do khối lượng message được bắn lên queue nhanh và nhiều hơn khả năng của consumers có thể xử lý. Càng nhiều message trên queue thì càng tốn RAM, RabbitMQ sẽ tiến … Continue reading Message Queue: Best practise

MySQL vs PostgreSQL vs MongoDB


MySQL Thông tin chung Version hiện tại 8Hãng OracleĐược viết bằng C và C++Các OS hỗ trợ: FreeBSDLinuxOS XSolarisWindows Các ngôn ngữ hỗ trợ: AdaCC#C++DDelphiEiffelErlangGoHaskellJavaJavaScript (Node.js)Objective-COCamlPerlPHPPythonRubySchemeTcl Các loại model CSDL quan hệ (Relational Database Management System)Document storeKey-Value store Ưu nhược điểm tổng quan Single thread nên có thể xử lý các thao tác dạng transaction … Continue reading MySQL vs PostgreSQL vs MongoDB

Tối ưu hoá câu truy vấn


Kết nối Mỗi kết nối tự Client đến Database Server được tạo ra đều phải qua một số bước kết nối và để duy trì các kết nối đó đều tốn một số lượng tài nguyên nhất định của Database Server và Client. Do đó, cần hạn chế được số lượng kết nối càng ít càng tốt. Về phía Client cần tạo ra connection pool để … Continue reading Tối ưu hoá câu truy vấn

Message Queue: cơ bản


Khái niệm/Thuật ngữ Diễn giải message broker Nền tảng trung gian xử lý giao tiếp giữa hai ứng dụng connection Kết nối giữ ứng dụng và message broker channel Kênh truyền thông điệp publisher/producer Hệ thống gửi thông điệp subscriber/consumer Hệ thống nhận thông điệp publish/produce Gửi thông điệp subscribe/consume Nhận thông điệp exchange Nơi … Continue reading Message Queue: cơ bản

Cấu hình môi trường với Gitlab CI và Ansible


Thông thường trong một dự án phần mềm, ở mỗi môi trường thì có các cấu hình khác nhau, ví dụ: cấu hình kết nối database, cấu hình kết nối các hệ thống cache, cấu hình các key, salt,... Trước đây mình hay dùng Gitlab CI deploy code lên server rồi lên chỉnh sửa file … Continue reading Cấu hình môi trường với Gitlab CI và Ansible