FAQ Phiên bản PC
1USD=22758VND Hotline 1900 6614, hoặc 0989123633
lập trình phân tán là gì?
Thứ Bảy, ngày 22/01/2011 03:01
lập trình phân tán là gì?
Câu trả lời
 Lập trình mạng phân tán, thường có 2 khái niệm chính: peer to peer và client - server ... peer to peer là lập trình ngang hàng giữa 2 máy tính ... còn lập trình client - server là lập trình cho phép n máy client kết nối tới m máy server - đây cũng là mô hình chúng ta sẽ gặp nhiều trong thực tế ...
Có thể chia lập trình mạng thành 3 cấp độ, căn cứ theo mức độ thân thiện với developer và khả năng triển khai:
+ Mức thấp nhất là lập trình sử dụng socket - có thể truyền từng byte, từng stream lên trên mạng, ứng dụng này thường gặp trong các ứng dụng mạng cỡ nhỏ (vd: trong 2 máy tính, trong 1 mạng LAN ...).
+ Mức cao hơn là lập trình sử dụng, triển khai ứng dụng theo mô hình dịch vụ (service) - quản lí mạng theo mô hình: kết nối, tạo tham chiếu client trên server và trả về, gọi hàm và truyền dữ liệu thông qua proxy của đối tượng trả về từ server (vd: RMI trên Java hay Remoting trên .NET...), mô hình này thường gặp trong các ứng dụng mạng cỡ trung bình và lớn, đòi hỏi tính performance cao (vd: các ứng dụng mạng đòi hỏi kết nối nhiều - liên tục và sử dụng diện rộng như các dịch vụ chat, game online ...), ưu điểm chính của mô hình này là tính performance cao, bảo mật, nhưng nhược điểm là tính đa nền (multiplatform) và tính khả chuyển chưa cao (server và client phải cùng 1 công nghệ phát triển.)
+ Mức cao nhất là triển khai ứng dụng theo mô hình triển khai trên web, điển hình nhất ta có thể thấy là các web application và web service, mới nhất giờ có công nghệ WCF của M$ (tổng hợp tất cả trong 1) ... mô hình này cho phép triển khai trên diện rộng, phục vụ lượng khách hàng lớn ... nhưng cũng có nhược điểm là tính performance chưa cao, bù lai, nó có khả năng mềm dẻo (flexibility) cao (server và client không cần sử dụng chung một công nghệ). Chúng ta thường thấy những ứng dụng loại này trong các ứng dụng được cung cấp từ một nhà cung cấp nào đó (vd: các số liệu chứng khoán, thời tiết ...)

Để học lập trình mạng, chúng ta cần những kiến thức căn bản nào ?
- Đầu tiên, cái chúng ta xét tới là kiến thức nền tảng ... để học lập trình mạng, các bạn nên nắm một chút về lí thuyết mạng (môn mạng của thày Gia Hiểu và thực hành quản trị mạng của thày Long b ở năm 3 ấy), nhưng mình nghĩ là không cần quá sâu lắm, cũng không lăn tăn nếu điểm mấy môn ấy thấp (bản thân mình được có 5 môn thày Hiểu thôi...), thay vì đó, ta chỉ cần nắm được nguyên tắc hoạt động của các mạng máy tính như: địa chỉ IP, các mạng con ... (1 chút kiến thức CCNA sẽ tốt hơn cho bạn).
- Tiếp đó, chúng ta cần một chút kiến thức hểu biết về công nghệ lập trình, công cụ lập trình ... Trước "các cụ" sử dụng VC++/VB 6.0 với nền tảng winsock, DCOM ... để lập trình mạng (khi học môn lí thuyết mạng, thày Hiểu sẽ cho các bạn 1 ví dụ về sử dụng Winsock trên VB6 để thử...). Giờ thì cái đó ít sử dụng, đa phần giờ người ta sử dụng 2 nền tảng Java và .NET, hai nền này cũng na ná nhau thôi, ta chỉ cần chọn 1 trong 2 là được, tùy theo thói quen của bạn ...
- Tư tưởng, cách thức lập trình đa luồng (multi threading) cũng giúp bạn rất nhiều khi lập trình phân tán (do chúng ta phải xử lý nhiều thứ trong 1 thời điểm) ... kiến thức input output với luồng (stream);
- Các kiến thức căn bản về ngôn ngữ - nền tảng lập trình. Trong khuôn khổ bài viết này, mình sử dụng ngôn ngữ lập trình Java - một ngôn ngữ lập trình khá phổ biến trên thế giới

Các tin mới hơn:
Các tin cũ hơn:
BÀI ĐỌC NHIỀU NHẤT:
GIAO HÀNG, THU TIỀN TẬN NƠI MIỄN PHÍ (COD) TẠI 63 TỈNH THÀNH:
Khu vực 1 (28 tỉnh, TP khu vực phía Bắc): Bắc Cạn, Bắc Giang, Bắc Ninh, Cao Bằng, Điện Biện, Hà Giang, Hà Nam, Hà Tĩnh, Hải Dương, Hải Phòng, Hưng Yên, Hòa Bình, Lào Cai. Lai Châu, Lạng Sơn, Nam Định, Nghệ An, Ninh Bình, Phú Thọ, Quảng Ninh, Sơn La, Thái Bình, Thái Nguyên, Thanh Hóa, Tuyên Quang, Vĩnh Phúc, Yên Bái.
Khu vực 2 (22 tỉnh, TP khu vực phía Nam, 2 tỉnh khu vực miền Trung):
An Giang, Bình Dương, Bình Phước, Bà Rịa – Vũng Tàu, Bạc Liêu, Bến Tre, Bình Thuận, Cà Mau, Cần Thơ, Đồng Nai, Đồng Tháp, TP Hồ Chí Minh, Hậu Giang, Kiên Giang, Long An, Lâm Đồng, Ninh Thuận, Sóc Trăng, Tây Ninh, Tiền Giang, Trà Vinh, Vĩnh Long, Đắc Lắc, Đắc Nông.
Khu vực 3 (11 tỉnh khu vực miền Trung):
Bình Định, Đà Nẵng, Gia Lai, Kontum, Thừa Thiên Huế, Khánh Hòa, Phú Yên, Quảng Bình, Quảng Nam, Quảng Ngãi, Quảng Trị. Đặc biệt tại 3 thành phố lớn( HN, HCM, ĐN) Megabuy áp dụng chính sách giao hàng lắp đặt, bảo hành, bảo trì miễn phí tận nơi tại:
- Hà Nội: Ba Đình, Bắc Từ Liêm, Cầu Giấy, Đống Đa, Hà Đông, Hai Bà Trưng, Hoàn Kiếm, Hoàng Mai, Long Biên, Nam Từ Liêm, Tây Hồ, Thanh Xuân, Sơn Tây, Ba Vì, Chương Mỹ, Đan Phượng, Đông Anh, Gia Lâm, Hoài Đức, Mê Linh, Mỹ Đức, Phú Xuyên, Phúc Thọ, Quốc Oai, Sóc Sơn, Thạch ThấtThanh Oai, Thanh Trì, Thường Tín, Ứng Hoà. 
- HCM: Quận 1, Quận 12, Quận Thủ Đức, Quận 9, Quận Gò Vấp, Quận Bình Thạnh, Quận Tân Bình, Quận Tân Phú, Quận Phú Nhuận, Quận, Quận 3, Quận 10, Quận 11, Quận 4, Quận 5, Quận 6, Quận 8, Quận Bình Tân Quận 7, Huyện Củ Chi, Huyện Hóc Môn, Huyện Bình Chánh, Huyện Nhà Bè, Huyện Cần Giờ. 
- ĐN: Quận Hải Châu, Quận Thanh Khê, Quận Sơn Trà, Quận Ngũ Hành Sơn, Quận Liên Chiểu, Huyện Hoà Vang, Quận Cẩm Lệ.
Trụ sở chính Hà Nội
Số 1, Ngõ 58, Kim Mã, Phường Kim Mã, Q.Ba Đình, Hà Nội
Điện thoại: (024) 62757210 - Fax: (024)62757212
Chi nhánh Hồ Chí Minh
47 Trần Quốc Hoàn, P4, Quận Tân Bình, HCM
Điện thoại: (028) 38456068 - Fax: (028)38445166
Chi nhánh Đà Nẵng
Số 96 Bùi Công Trừng, phường Hòa Xuân, quận Cẩm Lệ, TP. Đà Nẵng
Điện thoại: (0511) 3749270 - Fax: (0511) 3749269
Đơn vị chủ quản: Công ty CP đầu tư phát triển công nghệ Thời Đại Mới
Số giấy phép:     010301136, Cấp ngày 09-03-2006.
Email: support@megabuy.vn  *  Website : www.megabuy.vn  * HOTLINE TOÀN QUỐC: 1900 6614
Copyright © 2006. All Rights Reserved by Newage J.S.C