2.1 Kiến trúc tập trung2.1.1 Kiến trúc client-server - Server là tiến trình triển khai một dịch vụ cụ thể nào đó: dịch vụ về hệ thống tệp - Client là 1 tiến trình yêu cầu dịch vụ từ serv
Trang 12.1 Kiến trúc tập trung
2.1.1 Kiến trúc client-server
- Server là tiến trình triển khai một dịch vụ cụ thể nào đó: dịch vụ về hệ thống tệp
- Client là 1 tiến trình yêu cầu dịch vụ từ server bằng cách gửi một yêu cầu và server trả lời
Host client, host server, cổng nào?
- Đăng ký server: Server đăng ký với hệ thống, để client biết vị trí của mình, địa chỉ của mình để gửi yêu cầu đến
- Lặp lại yêu cầu không? khi client gửi yêu cầu đi, nó không biết rằng liệu yêu cầu của mình có đến được server chưa, liệu nó có được phép gửi đi gửi lại yêu cầu để nhận được kết quả không hay là tiếp tục chờ đợi
- Có bộ nhớ trạng thái?
Tương tác: khi client yêu cầu một dịch vụ nào đấy, nó sẽ đóng gói thông điệp và gửi đi, chỉ rõ dịch vụ mà nó mong muốn, server chờ các yêu cầu của client, có yêu cầu sẽ xử lý và có kết quả gửi trả về
- Không hướng kết nối: 2 bên client – server không có kênh nào riêng, client
có yêu cầu cứ tự gửi request lên server, không có bước thiết lập kết nối (thiết lập kênh) Ưu điểm: thực hiện hiệu quả, nhanh Nhược điểm: không đảm bảo, không có cơ chế kiểm soát có mất gói tin không? có gửi lại gói tin
không?
- Hướng kết nối (có kênh trao đổi riêng): trước khi thực hiện tiến trình trao đổi thông tin giữa client – server thì 2 bên thực hiện thiết lập kênh truyền riêng, và từ đó quá trình trao đổi thông tin thực hiện trên kênh đó Ưu và nhược ngược với không hướng kết nối Ưu: tăng tính tin cậy tuy nhiên
không khả thi trong liên kết mạng nội bộ vì làm giảm hiệu năng Nhược: hao phí tài nguyên của hệ thống khi thực hiện quá trình thiết lập kênh và hủy bỏ kênh
- Lựa chọn hướng kết nối hay không dựa vào dịch vụ mà server cung cấp Ví
dụ như cung cấp thông tin về dữ liệu như: nội dung trang web, gửi thông tin, trao đổi thông tin thì nên chọn hướng kết nối để đảm bảo tính toàn vẹn dữ liệu, độ tin cậy của dữ liệu Còn với những dịch vụ thời gian thực, dịch vụ đa
Trang 2phương tiện: chat video, chat voice, conference thì thường chọn không hướng kết nối đỡ mất thời gian cho việc thiết lập kênh, hủy bỏ kênh, giảm
độ trễ thời gian, chấp nhận chất lượng không được đảm bảo
Yêu cầu có tính chất bền vững hay không bền vững: có cho phép việ gửi yêu cầu được lặp đi lặp lại nhiều lần hay không Ví dụ như: client gửi yêu cầu đến, chờ mãi không thấy server trả lời, thì nó không biết là yêu cầu của nó bị mất trên đường truyền hay là server không đáp ứng, nó không biết là có nên đợi hay không hay là gửi lại yêu cầu lần nữa Yếu tố này dựa vào tính chất của dịch vụ mà server cung cấp Ví dụ như giao dịch chuyển tiền của ngân hàng không cho phép gửi đi gửi lại yêu cầu nhiều lần
Vấn đề điểm truy cập dịch vụ: muốn biết được địa chỉ, đăng ký truy cập dịch vụ thì làm thế nào?
2.1.2 Phân tầng ứng dụng
- Mức giao diện: quản lý trực tiếp giao diện vs người dùng: quản lý việc ta giao tiếp với người dùng như thế nào, cung cấp chương trình cho phép người dùng tương tác với ứng dụng Phân biệt bằng sự phức tạp của tương tác: tương tác dể hiểu bằng đồ họa, hoặc phức tap hơn: giao diện text
- Mức nghiệp vụ: chứa các chức năng chính của ứng dụng
- Mức dữ liệu: duy trì dữ liệu cho các ứng dụng sử dụng
Kiến trúc 3 tầng như trên còn được coi là mô hình 3 bên, mỗi tầng được coi như 1 thực thể Ví dụ: server chạy chương trình đầu vào, gửi yêu cầu đến application server, sau đó gửi các tiến trình kết nối, thực hiện rồi gửi kết quả trả về cho giao diện người dùng
- Mô hình client – server cải tiến
- Mã di dộng(applet, javascript): tải mã applet: nội dung trang web, được hiển thị trên giao diện web của client
- Mobile agent: toán tử di dộng là bộ phận của phần mềm dữ liệu, có thể di trú
từ máy này đến máy khác, mô hình này có tính cô lập hơn, thích hợp hơn với các ứng dụng phân tán
Ưu điểm:
Trang 3o giảm chi phí truyền thông, do các tính toán phân tán yêu cầu sự tương tác trao đổi giữa các máy tính trong mạng, với mobile agent, một đơn
vị trong một di trú đến máy khác -> giảm thiểu trao đổi thông tin trong mạng
o khi di trú sang máy khác rồi thì máy nguồn của nó bị ngắt hay kết nối mạng bị đứt thì việc thực hiện chương trình không bị gián đoạn
o giảm thao tác điểu khiển trực tiếp: khi du trú trên 1 máy khác, thì mobile agent chạy cục bộ trên máy đó và chuyển giao
- Thin Client: chuyển hết công việc từ máy client lên đám mây, cho phép truy cập dịch vụ mạng một cách đơn giản, ở phía client chỉ có giao diện người dùng, tất cả các tính toán dữ liệu, xử lý dữ liệu, các dịch vụ được đẩy lên server Yêu cầu hạ tầng mạng rất tốt, đặc biệt với các ứng dụng cần giao diện
đồ họa phức tạp thì hạ tầng mạng phải tốt
2.2 Kiến trúc không tập trung
- Mạng overlay: là mạng mà các nút mạng được tạo bởi các tiến trình, có các đường kết nối, kênh kết nối là đường logic, kênh logic, xây dựng dựa trên mạng vật lý, chọn ra tập con của các nút mạng vật lý
- Mạng overlay có cấu trúc: là mạng overlay được xây dựng bằng cách sử dụng thuật toán Ví dụ mạng đa phân tán: mạng overlay có cấu trúc sử dụng thuật toán hàm băm để xây dựng
- Mạng overlay không có cấu trúc: mạng overlay được xây dưng theo thuật toán ngẫu nhiên Mỗi nút có liên kết trên nút đó và dữ liệu được đưa vào là ngẫu nhiên Khi tìm một dữ liệu nào đó thì ta cần truy cập vào tất cả các nút trong mạng
<trong vở, page 2>
2.3 Kiến trúc hỗn hợp (kết hợp không tập trung và tập trung)
- Hệ thống máy chủ biên: Ý tưởng về khía cạnh tập trung là một nhà phân phối nội dung (content provider) phân phối nội dung cho toàn bộ các máy khách (client) Tuy nhiên xảy ra vấn đề quá tải cho content provider -> có ý tưởng phân tán nội dung của content provider cho các máy chủ biên (edge – server) qua hệ thống mạng Internet Các máy chủ nhận nhiệm vụ cung cấp dịch vụ nội
Trang 4dung cho mạng mà mình quản lý Edge – server có thể là server của 1 ISP nào
đó phục vụ khách hàng; or là 1 mạng Enterprise nhận edge – server như 1
content provider cho 1 mạng khác Nội dung được phân tán từ content provider qua mạng Internet
- Hệ phân tán hợp tác: Kết hợp tập trung với kiểu ngang hàng Ví dụ về ứng dụng chia sẻ file ngang hàng BitTorrent : các node tham gia vào hệ thống đều ngang hàng, không có máy chủ - máy khách Tuy nhiên cần có 1 node làm nhiệm vụ quản lý (tracker), vì nếu tất cả đều ngang hàng nhau thì các nút không biết được nút nào đang chứa nội dung dữ liệu mà mình cần lấy Tracker biết được danh sách nút nào chứa dữ liệu được yêu cầu, danh sách này được lưu trong file torrent người dùng có tham chiếu đến tracker quản lý các node Yếu
tố tập trung thể hiện có 1 tracker quản ký node nào, nội dung nào Yếu tố ngang hàng thể hiện ở quá trình trao đổi dữ liệu, phục vụ dữ liêu, không có 1 server phục vụ nữa, mà các client phục vụ ngang hàng lẫn nhau 1 client có thể vừa nhận dữ liệu, vừa phục vụ phần dữ liệu mình có cho người khác Do đó, càng nhiều người yêu cầu thì độ trễ càng giảm, phục vụ càng nhanh ngược lại với client – server, càng nhiều người sử dụng thì độ trễ càng cao Cần xem xét vấn
đề pháp lý
3 Mô hình
- Tương tác : Các tiến trình tương tác dựa trên việc
- Sự cố : các sự cố xảy ra