Data Caching áp dụng cho hệ thống

Một phần của tài liệu (LUẬN văn THẠC sĩ) kiến trúc hướng dịch vụ và ứng dụng điện toán đám mây trong việc quản lý báo điện tử (Trang 71)

Data Caching áp dụng cho hệ thống cụ thể ở đây là Memcached. Nó cung cấp khả năng lƣu trữ đối tƣợng bất kỳ vào trong RAM. Ở lần truy cập đầu tiên của ngƣời dùng vào trang báo điện tử, hệ thống sẽ lấy trực tiếp dữ liệu từ CSDL đồng thời lƣu một bản sao vào Memcached. Từ lần truy cập thứ hai trở về sau, hệ thống sẽ không truy cập vào CSDL nữa mà lấy thẳng trực tiếp dữ liệu tử Memcached đã lƣu trƣớc đó. Điều này giảm tải cho máy chủ dữ liệu rất nhiều và tăng tốc độ truy cập đáng kể.

3.2.2 Kiến trúc logic hệ thống CDN

Hình 3.3: Kiến trúc CDN áp dụng cho hệ thống

Kiến trúc CDN áp dụng cho hệ thống bao gồm các máy chủ lƣu trữ và phân tải các dữ liệu tĩnh ít thay đổi nhƣ “hình ảnh, video clip, mã nguồn, css. Các máy chủ này đƣợc đặt ở khắp nơi nhằm cung cấp dữ liệu một cách nhanh nhất cho ngƣời truy cập. Khi một ngƣời dùng truy cập vào website thì máy chủ gần nhất với ngƣời dùng trong hệ thống CDN sẽ cung cấp dữ liệu đến ngƣời dùng.

3.2.3 Kiến trúc logic hệ thống VPN

Hình 3.4: Kiến trúc VPN áp dụng cho hệ thống

Kiến trúc VPN áp dụng cho hệ thống bao gồm máy chủ OpenVPN và các OpenVPN Client cài đặt trên máy ngƣời dùng để xác thực tài khoản mỗi khi truy cập hệ thống quản trị nội dung. Mỗi ngƣời dùng sẽ có tài khoản OpenVPN riêng để sử dụng trong quá trình xác thực.

3.3 Cài đặt hệ thống

3.3.1 Môi trƣờng, công nghệ và công cụ phát triển

 Môi trƣờng phát triển:

o Hệ điều hành: Centos 6 o Máy chủ web: Apache 2.2.19 o Máy chủ điện toán đám mây

 Ổ cứng: 160 GB

 RAM: 4 GB

 CPU: 2 Core E5606 2.13GHz o Ngôn ngữ: PHP 5.3.7

o Máy chủ dữ liệu: MariaDB 5.5.39  Công nghệ phát triển:

o Data Caching o CDN

o VPN

 Công cụ phát triển:

o NuSphere PhpED Professional 5.9 o CodeIgniter Framework 2.2

o Memcached 1.4.10

o CloudFlare tại https://www.cloudflare.com/ o OpenVPN 2.2.2

3.3.2 Phát triển các khối chức năng

Hình 3.5: Mã nguồn các khối chức năng trong hệ thống

3.3.3 Tổ chức lƣu trữ ảnh trên server

Hình 3.6: Tổ chức lưu trữ ảnh trên server

Ảnh đƣợc lƣu trữ trên server theo ngày, tháng, năm và theo username của tài khoản thuê bao hệ thống. Tài khoản thuê bao chỉ xem và quản lý đƣợc các ảnh upload lên site của họ. Việc này giúp cho các ảnh của mỗi thuê bao đƣợc tách biệt rõ ràng, không lẫn vào nhau. Hiệu quả của sự áp dụng này đƣợc đề cập trong Phụ lục 02.

3.3.4 Áp dụng Memcached trong viết code phát triển hệ thống

Việc áp dụng Memcached sẽ đƣợc thực hiện ở tầng Model – tầng kết nối trực tiếp với cơ sở dữ liệu của hệ thống. Cụ thể nhƣ sau:

3.3.5 Áp dụng Minify cho các file JS, CSS trong phát triển hệ thống

Các file JS, CSS trên trang có ảnh hƣởng đến tốc độ load trang. Khi các file này có dung lƣợng lớn, trang sẽ load chậm hơn. Để tăng hiệu quả việc load trang, cần thiết phải áp dụng minify cho các file JS và CSS. Minify là quá trình nén nội dung file đến dung lƣợng nhỏ nhất. Phƣơng pháp nén là xóa các khoảng trắng, các dòng, các comment thừa trong nội dung file để tất cả nội dung file đều nằm trên một dòng. Điều này giúp giảm dung lƣợng file rất nhiều dẫn đến trang load nhanh hơn.

Hình 3.8: Minify các file JS và CSS

3.4 Kết quả thực hiện

Sau khi cài đặt, phát triển và tổ chức hệ thống theo các yêu cầu đặt ra, một hệ thống báo điện tử ứng dụng điện toán đám mây đã đƣợc triển khai thực tế trên Internet. Dƣới đây là địa chỉ truy cập các trang và một số hình ảnh về giao diện của hệ thống báo điện tử này.

 Địa chỉ truy cập trang Đăng ký tài khoản

http://cloud.haivn.tv/cms/tinmoi

 Địa chỉ truy cập trang Quản trị Báo điện tử của thuê bao

http://admincloud.haivn.tv/cms/tinmoi

 Giao diện trang đăng ký tài khoản thuê bao hệ thống

 Giao diện trang Tùy chỉnh module của thuê bao hệ thống

Hình 3.10: Giao diện trang Tùy chỉnh module của thuê bao hệ thống

Giao diện trang Tùy chỉnh giao diện của thuê bao hệ thống

 Giao diện trang Quản lý thuê bao hệ thống

 Giao diện trang Kiểm soát thuê bao hệ thống

 Giao diện trang Báo điện tử của một thuê bao trên thiết bị di động

KẾT LUẬN

Những kết quả đạt đƣợc

Luận văn đã đạt đƣợc một số kết quả cả về lý thuyết lẫn ứng dụng. Cụ thể: - Về mặt lý thuyết

o Giải pháp thiết kế hệ thống theo công nghệ hƣớng đối tƣợng có sử dụng mẫu thiết kế giúp cho hệ thống có khả năng tái sử dụng, áp dụng cho các bài toán tƣơng tự và dễ dàng thay đổi khi có các yêu cầu. o Giải pháp thiết kế hệ thống theo kiến trúc hƣớng dịch vụ, chia hệ

thống thành nhiều khối chức năng. Mỗi chức năng nhƣ một dịch vụ cung cấp đến ngƣời dùng đã giúp cho hệ thống có khả năng mở rộng và ghép nối với các hệ thống khác. Bên cạnh đó, việc hƣớng ngƣời dùng sử dụng phần mềm theo hình thức thuê bao giúp ngƣời dùng tiết kiệm chi phí và dễ dàng sử dụng tùy theo nhu cầu.

o Giải pháp phân tải nhƣ Data Caching và CDN cùng với các công nghệ nén và tối ƣu hóa các file tĩnh (file ảnh, file css, …) giúp cho hệ thống chạy nhanh, ổn định hơn và khả năng chịu tải cao khi có nhiều ngƣời cùng truy cập tại một thời điểm.

o Giải pháp bảo mật nhƣ sử dụng VPN trong hệ thống bên cạnh việc mã hóa mật khẩu, phân quyền vai trò theo ngƣời dùng cộng với cơ chế xuất bản bài viết theo quy trình đã giúp cho hệ thống đƣợc an toàn hơn trƣớc các nguy cơ bị tấn công DDOS, bị hack, lộ mật khẩu, ...

o Giải pháp sao lƣu dữ liệu giúp cho thông tin dữ liệu của hệ thống đƣợc đảm bảo an toàn, dễ dàng phục hồi trong trƣờng hợp bị mất mát dữ liệu do phá hoại.

o Giải pháp ứng dụng điện toán đám mây giúp cho hệ thống có hạ tầng mạng ổn định, dễ nâng cấp cũng nhƣ đáp ứng và phục vụ đƣợc số lƣợng ngƣời dùng lớn trong tƣơng lai.

- Về mặt ứng dụng

o Hệ thống báo điện tử ra đời ứng dụng điện toán đám mây có khả năng chịu tải cao bởi việc áp dụng CDN, Memcached giúp cho hệ thống chạy ổn định ngay cả khi có nhiều ngƣời truy cập tại cùng một thời điểm. Bên cạnh đó, việc kiểm soát thông tin tốt, xuất bản qua các bƣớc duyệt giúp cho các tin bài đƣa lên báo không phản cảm, dung tục và gây khó chịu đối với ngƣời đọc. Ngoài ra, khả năng bảo mật cao do ứng dụng OpenVPN giúp cho báo đứng vững trƣớc mọi sự tấn công

o Hệ thống báo điện tử cho phép đăng ký tài khoản một cách nhanh chóng. Đăng ký xong là sử dụng đƣợc luôn. Do đó, thời gian triển khai một trang báo điện tử nhanh hơn rất nhiều so với trƣớc kia. Hệ thống có khả năng tùy biến giao diện cao, cung cấp các module (chức năng) nhƣ một dịch vụ. Ngƣời sử dụng dễ dàng trong việc đăng ký và lựa chọn module mình cần với chi phí hợp lý. Không những thế, với cơ chế kiểm soát chi tiết các module đang sử dụng và chi phí sử dụng module của từng tài khoản, hệ thống giúp cho ngƣời quản trị cũng nhƣ ngƣời sử dụng quản lý và theo dõi đƣợc các module đang chạy để có thể đƣa ra những điều chỉnh hợp lý nếu cần thiết.

Những hạn chế và tồn tại

Mặc dù đạt đƣợc một số ƣu điểm nhƣ trên nhƣng hệ thống vẫn không tránh khỏi một số hạn chế và tồn tại. Cụ thể đó là:

- Khách hàng chƣa hoàn toàn yên tâm khi mà mọi dữ liệu của họ lƣu trữ hoàn toàn trên máy chủ điện toán đám mây của hệ thống, nhất là các dữ liệu nhạy cảm và bảo mật.

- Do thời gian triển khai hệ thống gấp, chỉ trong một thời gian ngắn nên giải pháp phân tải hệ thống chƣa đƣợc giải quyết trọn vẹn.

- Việc quản lý chi phí thuê bao chỉ ở mức đơn giản. Thanh toán chi phí vẫn phải thực hiện qua hình thức thanh toán trực tiếp.

Hƣớng tiếp tục nghiên cứu

Trong thời gian tới, luận văn tập trung các hƣớng nghiên cứu sau để làm tăng hiệu quả hệ thống:

- Tiếp tục nghiên cứu, thử nghiệm và hoàn thiện giải pháp bảo mật cho hệ thống.

- Nghiên cứu và áp dụng giải pháp phân tải tối ƣu nhất cho hệ thống để hệ thống chạy hiệu quả và ổn định hơn khi có lƣợng ngƣời truy cập cao trong cùng một thời điểm

- Tiếp tục cải tiến và sử dụng các hình thức thanh toán khác nhƣ thanh toán trực tuyến, thanh toán qua thẻ cào, … để việc quản lý chi phí thuê bao dễ dàng hơn.

TÀI LIỆU THAM KHẢO

Tiếng Việt

1. Nguyễn Thị Trƣờng Giang. (2011). Báo mạng điện tử - Những vấn đềcơ bản.

NXB Chính trị Hành chính, Hà Nội.

Tiếng Anh

2. Gilmore, W. Jason (2010). Beginning PHP and MySQL, 4th Edition. Apress. 3. Josuttis, Nicolai M. (2007). SOA in Practice: The Art of Distributed System

Design. O'Reilly.

4. Keijser, Jan Just (2011). OpenVPN 2 Cookbook. Packt Publishing. 5. Kujawa, Lukasz (2013, 4 23). Performance benchmark of popular PHP

frameworks. Retrieved from http://systemsarchitect.net/performance-benchmark- of-popular-php-frameworks/

6. Skvorc, Bruno (2013, 12 28). Best PHP Frameworks for 2014. Retrieved from http://www.sitepoint.com/best-php-frameworks-2014/

7. Tiwari, Nitish (2014, 6 30). 3 open source content management systems compared. Retrieved from http://opensource.com/business/14/6/open-source- cms-joomla-wordpress-drupal

8. Velte, Anthony T.; Velte, Toby J. & Elsenpeter Robert. (2010). Cloud Computing: A Practical Approach. The McGraw-Hill Companies.

PHỤ LỤC

Phụ lục 01: Khảo sát một số hệ thống báo điện tử trên Internet hiện nay

1. Khảo sát 15 trang tin, báo điện tử hiện nay

TT Tên site Giải pháp Đơn vị Địa chỉ

1 Báo điện tử Đất Việt VCKM vSolutions http://baodatviet.vn/

2 Tinmoi.vn KCMS Netlink http://www.tinmoi.vn/

3 Báo điện tử Giao

thông vận tải VCKM vSolutions

http://giaothongvantai.com .vn/

4 Doisongphapluat.com KCMS Netlink http://www.doisongphaplu

at.com/ 5

Trang thông tin điện tử Ban Nội chính Trung ƣơng

VCKM vSolutions http://noichinh.vn/

6 Nguoiduatin.vn KCMS Netlink http://www.nguoiduatin.vn

/

7 Báo Thể thao Việt

Nam VCKM vSolutions http://thethaovietnam.vn/

8 Thethao247.vn Hệ thống CMS tự phát triển và xây dựng riêng cho báo điện tử Netlink http://thethao247.vn/

9 Báo điện tử bảo vệ

pháp luật VCKM vSolutions http://baobvpl.vn/

10 Edaily.vn Hệ thống CMS tự phát triển và xây dựng riêng cho báo điện tử Netlink http://edaily.vn/

11 Báo Đà Nẵng VCKM vSolutions http://baodanang.vn/

12 Báo Xây dựng MasterCMS MasterCMS

Team http://baoxaydung.com.vn/

13 Báo đầu tƣ MasterCMS MasterCMS

14 Báo PetroTimes MasterCMS MasterCMS

Team http://petrotimes.vn/

15 Saoonline.vn KCMS Netlink http://saoonline.vn/

Bảng 3.1: Bảng khảo sát 15 trang tin, báo điện tử hiện nay

2. Các giải pháp đã có

Hệ thống VKCM

 Đơn vị phát triển: vSolutions

 Tính năng:

o Cung cấp đầy đủ các tính năng cơ bản của một tờ báo điện tử o Quy trình xuất bản tin bài khép kín

o Hệ thống phân quyền chặt chẽ

 Môi trƣờng phát triển

o Phát triển dựa trên môi trƣờng .NET o Hệ điều hành: Windows o Webserver: IIS  Ƣu điểm: o Dễ dàng mở rộng và nâng cấp o Tốc độ truy cập nhanh o Hoạt động ổn định và bền bỉ

o Giao diện thân thiện với ngƣời dùng

 Nhƣợc điểm:

o Giá thành cao do phát triển từ các phần mềm có bản quyền o Khách hàng phải chờ đợi thời gian triển khai hệ thống  Hệ thống KCMS:

 Đơn vị phát triển: Công ty Netlink

 Tính năng:

o Hỗ trợ và cung cấp đầy đủ các tính năng của một tờ báo, trang tin điện tử

o Có cơ chế phân quyền theo vai trò ngƣời dùng

o Quy trình xuất bản tin chặt chẽ thông qua các bƣớc duyệt

o Hệ thống đƣợc áp dụng các công nghệ Data caching, CDN và VPN trong việc tăng khả năng chịu tải và tăng tính bảo mật của hệ thống. o Có cơ chế sao lƣu dữ liệu định kỳ hàng ngày.

 Môi trƣờng phát triển:

 Ƣu điểm:

o Giá thành ở mức vừa phải do sử dụng các phần mềm mã nguồn mở để phát triển

o Khả năng chịu tải cao

o Cơ chế kiểm soát thông tin tốt o An toàn và bảo mật dữ liệu

 Nhƣợc điểm:

o Khách hàng phải chờ đợi thời gian phát triển hệ thống  Hệ thống MasterCMS:

 Đơn vị phát triển: MasterCMS Team

 Tính năng:

o Có đầy đủ tính năng cơ bản của báo điện tử o Có quy trình xuất bản tin

o Có phân quyền chức năng

o Hỗ trợ chức năng quản lý quảng cáo và phản hồi độc giả

 Môi trƣờng phát triển:

o Phát triển trên môi trƣờng PHP/MySQL o Hệ điều hành: Linux

o Webserver: Apache

 Ƣu điểm:

o Nền tảng và kiến trúc hệ thống mở

o Giá thành vừa phải vì đƣợc phát triển trên mã nguồn mở o Hỗ trợ tùy biến giao diện

o Hỗ trợ hiển thị trên thiết bị di động

 Nhƣợc điểm:

o Khách hàng phải chờ đợi thời gian phát triển và triển khai hệ thống o Hạn chế về bảo mật và phân quyền theo vai trò

Phụ lục 02: So sánh các PHP Framework hiện nay

1. So sánh về mức độ phổ biến

Theo Skvorc (2013), mức độ phổ biến của các Framework PHP trong năm 2013 đƣợc mô tả nhƣ trong hình vẽ dƣới đây [6].

Hình 3.17: Mức độ phổ biến của các PHP Framework

2. So sánh về hiệu quả tốc độ xử lý

Theo Kujawa (2013), hiệu quả tốc độ xử lý của các Framework PHP trong năm 2013 đƣợc biểu thị trong hình vẽ dƣới đây [5].

Phụ lục 03: So sánh 3 CMS mã nguồn mở phổ biến và nổi tiếng nhất thế giới

Ba mã nguồn mở phổ biến và nổi tiếng nhất thế giới là Joomla, Drupal và Wordpress. Mỗi mã nguồn đều có những thế mạnh khác nhau. Cụ thể dƣới đây là bảng so sánh 3 mã nguồn mở theo một số tiêu chí về bảo mật, SEO, tốc độ tải, mức độ phát triển và quy mô cộng đồng [7].

Tiêu chí Joomla Drupal Wordpress

Bảo mật Thấp Cao Tƣơng đối

SEO Yếu Trung bình Mạnh

Tốc độ tải Chịu tải rất tốt Load không nhanh

nhƣng rất chịu tải

Load nhanh nhƣng chịu tải không tốt

Phát triển Khó phát triển Rất khó phát triển Dễ phát triển

Cộng đồng Lớn mạnh Bé Rất lớn mạnh

Phụ lục 04: So sánh độ hiệu quả khi áp dụng Memcached, CloudFlare,

Minify, OpenVPN, quy trình xuất bản tin qua bƣớc duyệt và tổ chức sắp xếp ảnh thumb (ảnh đại diện) trong hệ thống

Áp dụng Trƣớc khi áp dụng Sau khi áp dụng

Memcached Hệ thống chạy chậm khi có

nhiều truy cập

Hệ thống chạy nhanh hơn

CloudFlare

Tốc độ load trang chậm khi trên trang có quá nhiều ảnh hoặc ngƣời dùng ở nơi xa truy cập tới

Hệ thống chạy ổn định. Trang load nhanh đối với tất cả ngƣời dùng ở khắp mọi nơi

Minify

Trang load chậm khi có nhiều file js và css bởi trang phải đợi

Một phần của tài liệu (LUẬN văn THẠC sĩ) kiến trúc hướng dịch vụ và ứng dụng điện toán đám mây trong việc quản lý báo điện tử (Trang 71)

Tải bản đầy đủ (PDF)

(92 trang)