Cấu hình slave-master database trong Laravel
Chào mọi người, dự án mình đang code bằng Laravel, mình đang cấu hình slave-master database cho hệ thống theo hướng dẫn trên docs của Laravel https://laravel.com/docs/5.5/database#configuration . Nhưng khi mình chạy faker thì dữ liệu lưu vào database write, khi gọi API thì dữ liệu nó đọc từ database read nên nó báo không có dữ liệu, mình kiểm tra thì database read không có tables nào. Mọi người cho mình hỏi là làm cách nào để có thể đọc được dữ liệu từ database read nhỉ, mình cấu hình như trên link đó thì đã đủ chưa hay phải cấu hình trong MySQL nữa nhỉ, mong mọi người giúp đỡ, cảm ơn nhiều
1 ANSWERS
Hướng dẫn trong docs của Laravel chỉ là hướng dẫn config để Laravel có thể kết nối đến DB thôi bạn, và bạn vẫn cần phải tự thiết lập ở phía MySQL để các server của bạn hoạt động theo mô hình master slave nữa.
Bạn có thể tham khảo một số bài viết trên Viblo như dưới đây
- https://viblo.asia/p/huong-dan-cai-dat-va-cau-hinh-co-ban-mysql-replication-JQVkVQgNeyd
- https://viblo.asia/p/gioi-thieu-ve-mysql-replication-master-slave-bxjvZYwNkJZ
Nhìn chung mô hình master-slave làm việc theo nguyên lý những dữ liệu sẽ được ghi vào server master, sau đó các server slave sẽ thực hiện lại đúng câu lệnh đã được chạy ở master để có được dữ liệu giống thế. Do đó nó hoàn toàn không phụ thuộc gì vào config ở phía Laravel cả. Bạn thử test bằng cách vào server master insert một row, sau đó sang slave check nếu thấy cũng có data là được
Cảm ơn bạn nhiều (bow)