30/09/2018, 16:39

Cần mọi người giúp tư vấn về kiến trúc dự án

Chào mọi người, e đang gặp khó khăn về việc thiết kế kiến trúc 1 dự án, mong mọi người góp ý giúp e.
E đang xây dựng 1 website cho phép người dùng đặt món từ các nhà hàng, cửa hàng. Vì dữ liệu của các nhà hàng đó ng ta k muốn public lên cloud, nên fai để ở Local trong quán người ta. Bên đó ng ta đã có sẵn 1 webservice (SOAP) mình có thể truy vấn để load danh sách món nhưng do local nên Website của e k thể kết nối vào đc, e đành fai xây dựng thêm 1 Service khác cho mỗi cửa hàng (E tính làm WCF hoặc WebSocket, mà hình như WebSocket fai cùng đường mạng mới kết nối dc thì fai, không biết e hiểu đúng k???)
Đây là kiến trúc dự kiến của e, mới là ý tưởng, vì e cũng k có kinh nghiệm và chưa đủ kiến thức tổng quát để thiết kế, mong mọi người góp ý thêm. Cám ơn mọi người !

Khoa Nguyen viết 18:56 ngày 30/09/2018

Mình ko có ý kiên về cấu trúc như mà websocket thì là kết nối giữa client và server theo realtime. tức là server sẽ push về cho client. Còn khi mà client đang yêu cầu dữ liệu từ server thì cứ ajax bạn nhé

Phạm Hoàng Tuấn viết 18:54 ngày 30/09/2018

Cám ơn bạn nhé. Bên Website mình tính dùng 1 famework javascript nào đó, có thể angularjs hoặc backbone do mình cũng muốn vừa làm vừa học thêm kiến thức nên chèn thêm công nghệ mới gì dc thì mọi người gợi ý e vs nhé. Vì vừa làm vừa học là cách học nhanh nhất.

Khoa Nguyen viết 18:52 ngày 30/09/2018
  1. Backbone: theo mình thì ko nên sử dụng nữa. (lí do thì bạn tìm hiểu hen)
  2. Angular.JS: dễ học, làm nhanh nhưng mà sẽ sớm rơi và trap và khó quản lí (cần thời gian dài mới có thể refactor)
  3. EmberJS: hơi khó học, nhưng bắt khi đã bắt đầu thì sẽ ko đi lệch hướng thì các quy tắc conversion rất chặt chẽ của nó nếu bạn chưa học fw nào. hãy bắt đầu từ Emberjs (Forum DayNhauHoc xây dựng từ EmberJS đó)
Phạm Hoàng Tuấn viết 18:44 ngày 30/09/2018

E ngĩ bên Website cần có thêm 1 soket luôn luôn chạy để hứng dữ liệu từ Service của cửa hàng trả về nữa, rối quá hix, hix
a @ltd ,@laptrinhio … ơi, vô giúp e với… !

Lập Trình Sư viết 18:52 ngày 30/09/2018

mục đích chính ở dây là gì? Tự cập nhật ngay khi bên khách hàng có data mới?

Phạm Hoàng Tuấn viết 18:43 ngày 30/09/2018

Dạ không a, e tính thêm cái socket bên website là để nó nhận trực tiếp dữ liệu từ Webservice của cửa hàng, chứ k fai Webservice trên cloud nữa, e nghĩ như vậy sẽ nhanh hơn. Khi Webservice trên cloud gửi về ipaddress của Website đặt món, thì Webservice của cửa hàng sẽ gửi danh sách món trực tiếp về cho Website đặt món luôn
E cũng chưa ngĩ ra được những công nghệ gì có thể giúp e thiết kế dc dự án như trên 1 cách ổn nhất. A có thể gợi ý giúp e dc không ạ. E cám ơn a nhìu !

Khoa Nguyen viết 18:41 ngày 30/09/2018

nhận trực tiếp dữ liệu từ Webservice của cửa hàng

Tức là cloud gửi yêu cầu về cửa hàng thì cửa hàng mới gửi đi data cần thiết ? Nếu vậy thì web-socket là không cần thiết và sai mục đích. web-socket để duy trì kết nối và server (ở đâu là cửa hàng) sẽ push data ra client (cloud của bạn).

Và trog cấu trúc của bạn thì theo mình, bạn nên dùng cloud để làm trung gian quản lí tất cả kết nối giữa cửa hàngđặt món . làm như vậy khi cửa hàng hay đặt món có thay đổi gì về cấu trúc, bạn chỉ cần sửa cloud thôi. ko cần sửa những cái khác

Lập Trình Sư viết 18:55 ngày 30/09/2018

đọc mà không hiểu gì hết.

tóm lại là thế này:

  • Nếu không có nhu cầu update thông tin mới trực tiếp thì dùng cron tab, chạy theo tần suất để cập nhật dữ liệu.
  • Nếu muốn có nhận biết thông tin mới nhất ngay khi vừa có thông tin mới trên nguồn, thì sử dụng push notification api
Bài liên quan
0