Bài đăng

Hình ảnh
Docker Network 1. Tạo docker network   - Chúng ta tạo network docker băng cmd sau:           docker network create backend-network - Chúng ta có thể kiểm tra các network hiện có trong docker bằng cách sử dụng lệnh sau:          docker network ls 2. Connect tới network  - Khi chúng ta tạo 1 container mới và muốn cấp cho nó 1 network ip thì sử dụng cmd sau:     docker run -d --name=redis-container --net=backend-network redis - Không giống như việc sử dụng --link, thì sử dụng network chúng ta có thể attached hoặc detached nó 1 cách dễ dàng. - Lưu ý: + Nhớ rằng docker sẽ không gán biến môi trường hoặc update file hosts của container. docker run --net=backend-network alpine env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOSTNAME=7736d0e75631 HOME=/root + Thay vào đó thì cách mà các container có thể giao tiếp với nhau server DNS được nhúng trong docker.Và DNS này nó được gán cho tất cả các d...

Cross Origin Resource Sharing (CROS)

CORS là gì Các thành phần liên quan của CORS Cách khắc phục Trong nginx:                 - Vào một ngày đẹp trời cũng như bao ngày làm việc khác. Mình được nhận fetch các resource từ API của một domain khác. Thì xảy ra hiện tượng CORS trên trình duyệt báo. Không 1 chút do dự là coppy research và nó đã pass qua. Nên mình chẳng để tâm nó làm cái quái gì trong đó mà trình duyệt chấp nhận. Buồn thay lại tiếp tục lỗi đó lại xảy ra từ 1 dự án khác và cũng như mọi lần search và paste: # # Wide-open CORS config for nginx # location / { if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; # # Custom headers and headers various browsers *should* be OK with but aren't # add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Con...

Learn Rabbit MQ (P2)

Hình ảnh
I.Connection trong RabbitMQ      1. Connection có tác dụng gì       - Như chúng ta tìm hiểu ở phần trước, đã  biết được connection ở đâu và có tác dụng gì rồi chứ. Now, tôi sẽ không nói lại mà sẽ tiếp tục đi mổ xẻ sâu hơn một chút.      2.  Cấu trúc của connection trong rabbitMQ   - Như các bạn để ý thấy rằng, trong connection thì có các channel.Vậy các channel có tác dụng làm gì và số lượng của nó là bao nhiêu.   - Một vài application cần có multiple connection trong đến broker.Tuy nhiên không ai mong muốn giữ quá nhiều kết nối TCP tại cùng 1 thời điểm bởi vì làm như vậy sẽ làm tiêu tốn tài nguyên hệ thống, cũng như làm khó khăn trong việc cấu hình tường lửa.Vì vậy nó sinh ra channel, nó có thể được xem là các kết nối con trong một kết nối TCP connection.   - Một client hoạt động kết nối trên 1 channel,chúng hoạt động hoàn toàn tách biệt nhau, vì thế mà mỗi channel đều có ID riêng. Một...

Learn Rabbit MQ

Hình ảnh
I. Giới thiệu RabbitMQ:   - RabbitMQ: là một message broker sử dụng giao thức AMQP (Advanced Message Queue Protocol). Đóng vai trò điều phối trung gian các yêu cầu message giữa producer và comsumer. Đây là nơi giao tiếp giữa các thành phần trong hệ thống lớn như micro service để hiểu nhau. II. Vì sao cần rabbitmq: - Để dễ cho việc debug, maintain thì mỗi thành phần phải làm việc chuyên biệt về 1 một vụ nào đó. Để cho các thành phần biết nhau thay vì liên kết trực tiếp thì sinh ra 1 đứa trung gian thực hiện yêu cầu vận chuyển thông tin được gọi là message broker. Các producer chỉ việc publish message vào queue trong message broker. Và đứa kia là consumer thì thực hiện đăng ký vào queue này để nhận message. Vì thế producer không hề quen biết với thèn consumer. - Có một câu hỏi đặt ra là tại sao chúng ta không lưu vào trong db còn sinh ra thèn message broker này nhỉ ?. Là vì: + Việc trao đổi message là thường xuyên nên làm tăng load db, làm giảm performan...

Load banlancer and HA Proxy (High Availabili Proxy)