1
CÁC H! PHÂN TÁN
CH"# NG 2 KI$ N TRÚC H! PHÂN TÁN TS. TR % N H&I ANH
Tham kh'o bài gi'ng c(a PGS. TS. Hà Qu)c Trung
N*i dung 2
1. 2. 3. 4.
Khái ni+m ki,n trúc Ki,n trúc h+ th)ng Middleware trong các ki ,n trúc Qu'n l- t. /*ng trong h+ phân tán
3
1. Khái ni+m ki,n trúc
1.1. Ki,n trúc 4
!
Ki,n trúc Cách th0c phân chia h+ th)ng thành các thành ph1n, mô t' s. t23 ng ng tác gi4a các thành ph1n ! Phân t1ng, Client-Server, P2P, !
! !
!
! !
H+ th)ng /25 c tách thành các thành ph1n M6i thành ph1n có các giao di+n /7nh ngh 8 a và qui /7nh cách s9 d:ng các ch0c n;ng c(a thành ph1n trong môi tr 2< ng c(a thành ph1n 2< ng N,u giao di+n không thay /=i thì có th> thay th, thành ph1n khác Các thành ph1n k ,t n)i l?n nhau Cách th0c k ,t n)i các thành ph1n: ki,n trúc
1.2. Các lo@i ki,n trúc th2< ng ng dùng trong h+ phân tán 5
• • • •
Ki,n trúc phân t1ng Ki,n trúc h2A ng ng /)i t25 ng ng Ki,n trúc h2A ng ng d4 li+u Ki,n trúc h2A ng ng s. ki+n
1.2.1. Ki,n trúc phân t1ng 6
!
!
!
!
Ch0c n;ng trên h+ th)ng /25 c phân rã thành các ch 0c n;ng con Các ch0c n;ng con /25 c th.c hi+n bB i các mô /un ph1n mCm – các th .c th> ph1n mCm trên các h + th)ng khác nhau t23 ng ng tác vA i nhau Các mô /un ph1n mCm khác nhau trên cùng h + th)ng ph)i h5 p và t23 ng ng tác vA i nhau /> th.c hi+n ch0c n;ng chung
D> /3 n gi'n h+ th)ng c1n gi'm thi>u liên k ,t gi4a các mô /un: ki,n trúc phân t 1ng
Ki,n trúc phân t1ng 7
T!ng N ! !
! !
Th.c th> Giao th0c ( 4 lo@i giao th0c) D7ch v: Di>m truy cE p d7ch v:
Các mô hình phân t1ng th2< ng ng gF p 8
Application Presentation Session Transport Network Data link Physical Mô hình Middleware
Mô hình OSI
1.2.2. Ki,n trúc h2A ng ng /)i t25 ng ng 9
Thành ph1n <> /)i t25 ng ng
-
Connector <> L< i gGi ph23 ng ng th0c -
-
Object Client và Object server
K ,t n)i lHng gi4a các /)i t25 ng ng
-
Ví d:: Corba
-
1.2.3. Ki,n trúc h2A ng ng s. ki+n 10
Thành ph1n h+ th)ng trao /=i thông tin vA i nhau thông qua các s. ki+n -
Các s. ki+n ch0a các thông tin c1n trao /=i -
Các s. ki+n có th> kích ho@t các thao tác trong các ti,n trình -
Có th> th.c hi+n theo mô hình /i>m /i>m hoFc mô hình tr :c qu'ng bá s. ki+n -
-
Ví d: -
-
mô hình thuê bao/xuIt b'n
Liên k ,t lHng
JMS (Java Message Service) 11
!
Point-to-Point Messaging Domain
!
Publisher/Subscriber Messaging Domain
9/1/16
Ví d: c3 ch ch, truyCn thông /i+ p 12
JMS API Architecture 13
Publish/Subscribe Messaging 14
The JMS API Programming Programming Model 15
DDS (Data Distribution Service) 16
DCPS interface
DLRL interface
17
1.2.4. Ki,n trúc h2A ng ng d4 li+u 18
- Các thành ph1n trao /=i thông tin thông qua kho d4 li+u chung
19
2. Ki,n trúc h+ th)ng I. II. III.
Ki,n trúc tE p trung Ki,n trúc không tE p trung Ki,n trúc h6n h5 p
2.1. Ki,n trúc tE p trung 20
2.1.1. Ki,n trúc client-server 2.1.2. Phân t1ng 0ng d:ng 2.1.3. Ki,n trúc /a t1ng 2.1.4. Software Agent
2.1.1. Ki,n trúc client-server 21
Client:
-
-
g9i yêu c1u, nhEn k ,t qu', hi>n th7 cho NSD
Server:
-
-
lJng nghe, nhEn yêu c1u, x9 l-, tr ' l< i
T23 ng ng tác gi4a client và server có th > là h2A ng ng k ,t n)i hoFc không h2A ng ng k ,t n)i -
VIn /C
-
-
-
D;ng k - server (DNS ho Fc d7ch v: th2 m:c) Có th> lF p l@i yêu c1u? (idempotent) Có b* nhA tr tr @ng thái?
2.1.2. Phân t1ng 0ng d:ng 22
!
Các m0c phân t1ng Giao di+n • Nghi+ p v: • D4 li+u •
Phân t1ng 0ng d:ng tìm ki,m 23
2.1.3. Ki,n trúc /a t1ng Các mô hình 2 bên 24
Mô hình 3 bên 25
Các mô hình client-server khác 26
! !
H+ th)ng phân t1ng chiCu /0ng, theo ch0c n;ng H+ th)ng phân t1ng theo chiCu ngang (theo t'i) !
! ! !
Proxy, các c3 ch ch, phân t'i
Mã di /*ng (applet, javascript) Mobile agent Thin client Mobile client !
K ,t n)i, nhEn bi,t b)i c'nh, t23 ng ng tranh, ..
2.2. Ki,n trúc không tE p trung 27
! !
! !
Client và server không phân bi +t vai trò K ,t n)i vA i nhau bKng m*t m@ng trên m@ng h@ t1ng (Overlay network) Có cIu trúc/Không có c Iu trúc P2P thu1n/P2P h6n h5 p
Overlay network 28
2.2.1. Ki,n trúc P2P có cIu trúc 29
!
!
M@ng overlay /25 c xây d.ng d.a trên 1 th( t:c /7nh tr 2A 2A c DHT (Distributed Hash Table)
H+ th)ng Chord 30
- M@ng d@ng vòng - Succ(k) - Hàm LOOKUP(k) - M*t node mu)n join h+ th)ng - M*t node mu)n r <
31
H+ th)ng CAN (Content Addressable Network)
2.2.2. Ki,n trúc P2P không có cIu trúc 32
!
!
! !
!
ThuEt toán ng?u nhiên /> xây d.ng m@ng overlay (random graph). M6i node duy trì m *t danh sách hàng xóm (partial view). D4 li+u /25 c /2a vào h+ th)ng 1 cách ng?u nhiên => M6i l1n c1n lIy d4 li+u ra, c1n th.c hi+n duy+t toàn b* h+ th)ng (flooding) =>superpeers
2.3. Ki,n trúc h6n h5 p 33
! !
H+ th)ng máy ch( biên (edge-server system) H+ phân tán h5 p tác
H+ th)ng máy ch( biên 34
H+ phân tán h5 p tác 35
H" th#ng chia s $ file BitTorrent
36
3. Middleware trong các ki,n trúc
Các ki>u ki,n trúc Middleware 37
! ! ! !
!
V7 trí c(a middleware VD: CORBA, TIB/Rendezvous " u /i>m: dL dàng h3 n cho thi,t k , 0ng d:ng. Nh25 c /i>m: không t)i 2u cho m6i nhà phát tri >n 0ng d:ng. Gi'i pháp: S9 d:ng nhiCu phiên b'n khác nhau c(a middleware. ! Tách bi+t c3 ch ch, và chính sách " dL dàng cIu hình, thích nghi và tùy ch Mnh. !
Interceptors 38
!
CIu trúc ph1n mCm, cho phép chFn các dòng /iCu khi>n thông th2< ng, ng, cho phép các /o@n mã khác /25 c th.c thi.
39
Nh4ng h2A ng ng ti, p cEn chung cho ph1n mCm thích nghi !
!
!
2< ng Môi tr 2< ng các 0ng d:ng phân tán luôn luôn thay /=i. “Ph1n mCm thích nghi” là y ,u t) quan tr Gng trong thi,t k , HPT. Các k N thuEt: Tách bi+t các vIn /C ! Ph'n ánh tính toán ! Thi,t k , d.a trên thành ph1n !
40
4. Qu'n l- t. /*ng trong h+ phân tán
Mô hình /iCu khi>n d.a trên ph'n hOi 41
T% ch& c logic c'a h" th#ng (i)u khi*n d+ a trên ph,n h-i
Ví d:: H+ th)ng giám sát Astrolabe 42
Ví d:: Globule 43
Ví d:: h+ th)ng qu'n l- s9a ch4a Jade 44
!
! ! ! !
M:c /ích: phát hi+n các nodes b7 hHng và t. /*ng thay th,. Mô hình Fractal MiCn qu'n l- s9a ch4a (repair management domain). Node manager Các b2A c s9a l6i: TJt liên k ,t ! KhB i /*ng và thêm node mA i vào domain ! CIu hình l@i node mA i 2A c ! Thi,t lE p l@i liên k ,t vA i các node tr 2A !