Khi nào nên sử dụng Firebase

Trước tiên chúng ta hiểu Firebase là gì? 

Tất tần tật bài viết về Firebase 

Định nghĩa chuẩn được nhiều người công nhận.

Firebase là Backend-as-a-Service - BaaS. Firebase theo nghĩa rộng là nền tảng phát triển ứng dụng trên thiết bị di động và web. Firebase giải phóng các developer để tập trung tạo ra trải nghiệm cho người dùng sử dụng sản phẩm một cách tuyệt vời. 

Bạn không cần quản lý máy chủ. Bạn không cần viết API. Firebase là máy chủ, API và kho dữ liệu của bạn, tất cả đều được viết một cách tổng quát đến mức bạn có thể sửa đổi nó cho phù hợp với hầu hết nhu cầu. Vâng, đôi khi bạn sẽ cần phải sử dụng các dịch vụ khác của Google Cloud cho các ứng dụng nâng cao của mình.


Định nghĩa đơn giản.

Firebase được coi là cơ sở dữ liệu băm lâu bền nhất trên cloud. Đối với người quản trị, hãy nghĩ về cơ sở dữ liệu Firebase làm phần tử trong tập hợp nơi bạn có thể truy xuất hoặc đặt giá trị thông qua một khóa. Tóm lại, bạn có thể nghĩ về Firebase như một đối tượng JSON.

Firebase không thể cung cấp hết mọi thứ cho chúng ta, nhưng Tôi đã tìm thấy một vài trường hợp sử dụng mà nó là một công cụ tuyệt vời cho công việc.


1 - Cloud Based Event Queue (Hàng đợi sự kiện).

Những ai đã từng sử dụng RabbitMQ hoặc Redis sẽ thấy hữu ích như thế nào khi dùng chúng trong background jobs

Với Firebase bạn có thể yên tâm sử dụng và thay thế xứng đáng với background jobs

Có thể đọc thêm tại đây.


Ưu điểm chính ở đây là bạn có thể chỉ định một bộ sưu tập trong Firebase với một lược đồ và quyền truy cập ủy quyền cụ thể và các công việc nền hàng đợi với Firebase trực tiếp. Sau đó, bạn có thể đặt chức năng đám mây để kích hoạt khi tạo, thực hiện một số tác vụ và cập nhật mục hàng đợi với trạng thái giao dịch.


2 - Realtime Notifications (Thông báo thời gian thực)


Những ai đã sử dụng Rails và Node, đều có chức năng websocket or socket.io cho dữ liệu đẩy thời gian thực. Tuy nhiên, việc triển khai có thể phức tạp. Nó có thể là một công việc toàn thời gian mở rộng quy mô hoạt động trong sản xuất. Một giải pháp đơn giản hơn nhiều là yêu cầu mỗi người dùng được cung cấp một bộ sưu tập các thông báo. Máy chủ có thể đẩy nó bằng các cuộc gọi REST tới Firebase và nhờ người dùng nhận chúng qua Firebase. Điều này là dễ dàng bởi vì bộ sưu tập có thể được sửa đổi trực tiếp bởi người dùng. Truy vấn phức tạp nhất cần thiết cho thiết lập này là giới hạn đối với thông báo chưa đọc gần đây nhất. Nó đơn giản và sẽ mở rộng.


3 - Realtime Chat/messaging (Chat / nhắn tin thời gian thực)

Đây là một dịch vụ khá dễ dàng khi lập trình với Firebase - Bạn có thể tạo những tin nhắn private or public. Firebase rất thích hợp đối với những dev nào làm chat.


4 - Trạng thái ứng dụng đã đồng bộ hóa (Synched Application State)


Một số tùy chọn nhất định có thể cần được chia sẻ trên nhiều khách hàng. Những thứ như lịch sử tìm kiếm gần đây, các mục được xem gần đây nhất, hoặc một giỏ mua hàng sẽ đến với bạn. Trong trường hợp này, Firebase rất tuyệt vì nó chỉ là một nhóm dữ liệu có thể được phân bổ cho từng người dùng trong một tập hợp người dùng. Đơn giản chỉ cần có người dùng đăng ký vào nhóm hạt nhân của họ.


5 - Cuối cùng

Cơ sở dữ liệu thời gian thực của Firebase là một công cụ rất mạnh mẽ cho một phạm vi giới hạn. Để biết liệu dữ liệu của bạn có phù hợp với Firebase hay không, chỉ cần tự hỏi xem bạn có muốn sử dụng hàm băm có thể quan sát hay không. Nếu tất cả những gì bạn cần là phản ứng với việc thêm / cập nhật các mục trong bộ sưu tập hoặc đối tượng, Firebase thật tuyệt. Nếu bạn cần các truy vấn mở rộng hoặc có dữ liệu quan hệ phức tạp, Firebase sẽ là lựa chọn không tốt cho cơ sở dữ liệu chính của bạn. Tuy nhiên, nó vẫn có thể là một thành phần tuyệt vời của một cơ sở hạ tầng serverside cân bằng tốt.


Tất tần tật bài viết về Firebase