[Xây dựng hệ thống Web Tracking - Phần 1] Tổng quan về hệ thống, công nghệ sử dụng

Bear Technology

2020/10/19

Các hệ thống như Google Analytics, Hotjar, Mixpanel chắc hẳn không còn xa lạ với anh em, vậy có khi nào anh em suy nghĩ về việc xây dựng một hệ thống tương tự? Hãy cùng chúng tôi phân tích và xây dựng 1 hệ thống tương tự như vậy trong series này nhé.

Một ngày chúng tôi nhận được một đơn hàng khá phức tạp. Một khách hàng đang có một hệ thống hơn 100 website lớn nhỏ khác nhau. Hiện tại đang không thể quản lý được các website đó có hoạt động hay không, bao nhiêu lượt truy cập hàng ngày, làm sao đánh giá được hiệu quả mà một website đem lại. Việc nhúng Google Analytics không thể giúp quản lý một cách tập trung được. Vì vậy một yêu cầu đầy thử thách được đưa ra là xây dựng 1 hệ thống web tracking theo dõi tất cả nhưng website đó, bao suy nghĩ trong đầu dùng gì, làm gì, dữ liệu xử lý ra sao.... Đến nay thì hệ thống đã đi vào vận hành được 1 năm, có khá nhiều đánh giá tích cực. Hôm nay, tôi sẽ bắt đầu series để có thể chia sẻ cho các bạn những việc chúng tôi đã làm và cùng trao đổi thêm kiến thức.

Một số hệ thống tham khảo:

Trước khi bắt đầu với việc setup hệ thống thì xin phép bắt đầu với những khái niệm, mô hình và công nghệ sử dụng trong hệ thống

1. Web Tracking là gì?

Đã bao giờ bạn đặt ra câu hỏi: "Tại sao Facebook, google biết mình thích sản phẩm này để quảng cáo nhỉ" hay "Vừa xem một sản phẩm mà thấy quảng cáo hàng loạt sản phẩm tương tự". Đấy là một ví dụ về việc Web Tracking để có thể gợi ý cho bạn những sản phẩm mà bạn đang mong muốn.

Web Tracking là gì?

Web tracking là một cách thức của một trang web sử dụng các công cụ phần mềm đặc biệt để theo dõi khách truy cập trang web, hệ thống trang web. Từ đó đưa ra được các thống kê sử dụng trang web, đánh giá về trang web

  • Có bao nhiêu người truy cập trang web của tôi?
  • Khách truy cập của tôi sống ở đâu?
  • Trang web của tôi có thân thiện với thiết bị di động không?
  • Những trang web nào gửi lưu lượng truy cập đến trang web của tôi?
  • Nội dung blog nào mà khách truy cập thích nhất?
  • ....

2. Mô hình hệ thống

Việc trăn trở nhất khi xây dựng hệ thống là làm thế nào để có thể xử lý hàng trăm, hàng nghìn... request mỗi giây, không thể xử lý liên tục được. Vì vậy chúng tôi đã sử dụng một hệ thống Message queue để có thể sắp xếp các tin nhắn xử lý. Message queue là gì thì bạn chờ những bài viết tiếp theo trong series nhé

Trên đây là sơ đồ hệ thống Web Tracking mà chúng tôi sử dụng

  • API Tracking: Là một web api để hứng các request từ client đẩy lên. Sau khi hứng được 1 request sẽ đẩy 1 message vào Message Queue
  • Message Queue: Đảm nhận việc lưu trữ các message, Sắp xếp message một cách tuần tự vào trước ra trước
  • Process Message: Một service để lấy message từ Message Queue, xử lý và lưu trứ vào Database
  • DB: Lưu trữ dữ liệu của hệ thống
  • View, Report... Lấy dữ liệu từ DB để hiển thị, xuất báo cáo

 

3. Các công nghệ sử dụng trong hệ thống

 

Trên đây là tổng quan về một hệ thống Web Tracking mà chúng tôi đã xây dựng. Phần tiếp theo tôi sẽ viết chi tiết từng phần trong hệ thống (có code). Rất mong nhận được đóng góp của mọi người.

 

Nếu bạn cần tư vấn & triển khai hệ thống Web tracking tương tự, hoặc góp ý cho chúng tôi, hãy thể liên hệ với chúng tôi qua email: admin@beartech.vn hoặc số điện thoại: 0986806961

DMCA.com Protection Status Bản quyền bài viết thuộc về Bear Technology. Vui lòng tôn trọng bản quyền.

Bài viết khác