Tải bản đầy đủ (.ppt) (13 trang)

Báo cáo Kiến trúc mạng LinkedIn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (281.54 KB, 13 trang )

Kiến trúc mạng LinkedIn

Báo cáo thực tập tuần 3

1


Kiến trúc mạng LinkedIn
Kiến trúc mạng LinkedIn gồm 3 phần chính
– Web app
Là trình duyệt ứng dụng của người dùng, trình duyệt này có 2 nhiệm vụ chính là liên lạc
với server của Linkedin, gửi request và nhận respond, và hiển thị thông tin lên ( giao
diện).

– The Cloud và dịch vụ như search, communication, group,news…
Cloud: là 1 mạng lưới ( graph), Mạng lưới này ln được duy trì thường trực
do số lượng các node rất lớn, và nó cập nhật liên tục các node, edge từ databus.

Việc liên lạc, tìm kiếm thơng tin của user được thao tác với graph này
thông qua thư viện lucene.

Báo cáo thực tập tuần 3

2


Kiến trúc mạng LinkedIn ( tiếp)
• Cơ sở dữ liệu: được chia làm nhiều lớp khác nhau trong đó có
1 server điều khiển việc thao tác với các csdl này và trao đổi
với cloud.
Core database: là dữ liệu cốt lõi liên quan đến user, dữ


liệu này sử dụng để xây dựng và update graph va
Databus: là điểm trung chuyển, truy cập csdl từ core
database để cho cloud xây dựng graph, và lucene search data,
và tạo một bản sao của database: replica DB.

Báo cáo thực tập tuần 3

3


Ví dụ Graph

Báo cáo thực tập tuần 3

4


Graph
• Graph là 1 đồ thị biểu diễn mối quan hệ giữa các thành viên
trong mạng với nhau.
• 1 graph gồm 2 thành phần chính
– Node: biểu diễn 1 người, thi thoảng có thể là 1 nhóm người( 1 groupcái này chưa chắc lắm). Một node có 2 trạng thái cơ bản là liên kết
hoặc không liên kết với node khác.
• Một node chỉ lưu giữ thơng tin đơn giản nhất về user.

– Edge: biểu diễn mối liên kết giữa các node.

Báo cáo thực tập tuần 3

5



Graph (tiếp)
• Có 3 kiểu quan hệ:
– Liên kết tuyệt đối: dùng nét liền để diễn tả như ở trên. Liên
kết tuyệt đối này có ý nghĩa hai người dùng liên kết với
nhau là bạn của nhau, họ có thể biết các thông tin cá nhân
của nhau ( theo 1 mức nào đó). Và đây là liên kết hai chiều.
– Đang chờ liên kết: dùng nét đứt màn xanh lá cây để biểu
diễn. Cạnh này có nghĩa là 1 người đang.
– Cấm liên kết: dùng nét đứt màu xanh lam biểu diễn. Như
vậy Theo liên kết này thì 2 node liên kết trực tiếp sẽ bị chặn
không trao đổi thông tin, không biết.

Báo cáo thực tập tuần 3

6


Graph (tiếp)
Trên thực tế, một số node liên kết với hàng ngàn
node (nhân vật nổi tiếng chẳng hạn), còn đại đa số mỗi node chỉ liên kết
với tầm vài chục node.
Và thêm một sự liên kết thú vị nữa đó là 1 node sẽ liên kết với 1 nhóm
trong mạng( Ví dụ như 1 người liên kết với 1 lớp học…). Như thế thì
câu hỏi đặt ra là biểu diễn graph kiểu gì?

Báo cáo thực tập tuần 3

7



Lucene
• Lucene: thực hiện 2 cơng việc chính
– Đánh chỉ số cho các từ khóa
• Đi tìm kiếm trên mạng các thơng tin và địa chỉ.
• Mỗi từ khóa sẽ được đánh chỉ số và danh sách các địa chỉ có thể
truy cập

– Tìm kiếm
• Cung cấp các tốn tử logic tìm kiếm: and, or, xor.
• Các tốn tử này dùng để ghép các từ khóa với nhau, tìm ra địa chỉ
gần nhất
• Lucene có thể tìm kiếm data phi cấu trúc.

Báo cáo thực tập tuần 3

8


Lucene( tiếp)
• Ví dụ đơn giản sau:
từ khóa “game” được có trong các trang:
.
Cịn từ khóa “ viet” liên kết các trang: . Và

Khi người dùng tìm kiếm: “game” and “ viet” tức là tìm kiếm
trang web nào có cả 2 từ này kết quả đưa ra sẽ là
.
Còn khi tìm : “game” or “viet” hệ thống sẽ đưa ra tất cả các trang

web và


Báo cáo thực tập tuần 3

9


Lucene( tiếp)
• Hoạt động:
• Khi user tìm kiếm trên cloud, khi đó lucene sẽ tìm kiếm thơng
tin trên cloud.
• Lucene kiểm tra kết hợp profile lấy từ databus và graph.
• Vậy khi user cần biết thông tin 1 người bạn thì lucene phải
kiểm tra trên graph người bạn đó có liên kết với user khơng,
nếu có thì nó sẽ tìm kiếm thơng tin profile của người bạn đó.
• Ví dụ: khi người dùng đăng nhập, Lucene kiểm tra có tồn tại
người dùng đó khơng, nó sẽ k nếu có thì nó sẽ tìm tiếp trên
graph những node liên kết với node tương ứng của người dùng
đó, và gửi trở lại web app của user.
Báo cáo thực tập tuần 3

10


Hoạt động của Lucene

Báo cáo thực tập tuần 3

11



Mơ tả hoạt động lucene
• Khi user request đến front end ( nơi tiếp nhận các
request) , Servlet lưu các request của tất cả mọi user
vào 1 clicks DB để chờ hệ thống xử lý .
• Thơng tin trong Clicks DB sẽ được chuyển đến cho
jetty để xử lý dữ liệu và dùng lucene tìm kiếm dữ
liệu, và trả lại cho user
• Để lucene có thể tìm kiếm thơng tin trong DB của nó,
có 1 chức năng ln đi thu thập thơng tin ở trên mạng
và trích các thơng tin ra lưu trữ trong news DB

Báo cáo thực tập tuần 3

12


Sơ đồ giao tiếp giữa client và
server (tham khảo)

Báo cáo thực tập tuần 3

13



×