CHƯƠNG 2 : CÁC CÔNG NGHỆ SỬ DỤNG
2.6. AWS S3 (AWS Simple Cloud Storage)
Hình 2.6: Hình minh hoạ S3
S3[8] là một trong những dịch vụ cốt lỗi của AWS, chuyên cung cấp khả năng lưu trữ đối tượng an tồn, đáng tin cậy và có khả năng mở rộng cao trên đám mây. Nó được sử dụng để lưu trữ và truy xuất bất kỳ lượng dữ liệu nào tại bất kỳ thời điểm và địa điểm nào. Amazon S3 giúp người dùng dễ dàng lưu trữ nhiều dữ liệu nhất có thể
24
và truy cập bất cứ khi nào họ cần. Điều này cho phép các tổ chức tránh mua phần cứng và trả tiền cho bộ nhớ không sử dụng. Theo AWS, việc lưu trữ dữ liệu trên mạng là cần thiết vì người dùng chỉ trả tiền cho dung lượng lưu trữ và băng thông mà họ thực sự sử dụng. Các tổ chức chủ yếu sử dụng Amazon S3 để sao lưu và lưu trữ, chạy ứng dụng, lưu trữ các trang web có lưu lượng truy cập cao hoặc sao lưu dữ liệu trang web một cách thường xuyên. Ví dụ: nếu bạn muốn lưu trữ một trang web doanh nghiệp, bạn có thể lưu trữ tệp và nội dung trong Amazon S3 để truy xuất nhanh hơn và chi phí lưu trữ thấp hơn. Nó cũng cho phép người dùng ghi lại các thay đổi và quay trở lại các phiên bản trước đó bất cứ khi nào.
Amazon S3 rất dễ sử dụng và cung cấp nhiều cách để truy cập, quản lý và lưu trữ nó. S3 cung cấp các API dịch vụ REST API và SOAP để lưu trữ, truy xuất và quản lý dữ liệu. Các nhà phát triển cũng có thể truy cập AWS bằng Bảng điều khiển AWS, một giao diện dựa trên nền tảng web do Amazon cung cấp. Amazon S3 lưu trữ dữ liệu dưới dạng các đối tượng (object) và các đối tượng được lưu trữ trong các thư mục được gọi là nhóm (bucket). Nhóm là nơi dữ liệu được lưu trữ và mỗi dự án có thể sử dụng một hoặc nhiều nhóm. Đối với mỗi nhóm, người dùng có thể kiểm sốt quyền truy cập vào mỗi nhóm, chẳng hạn như tạo, xóa và hiển thị các đối tượng của nhóm. Để lưu trữ các đối tượng trong Amazon S3, người dùng cần đăng nhập vào aws.amazon.com bằng tài khoản đã đăng ký, sau đó tải dữ liệu lên nhóm được chỉ định, ngồi ra trên các ứng dụng thì giao tiếp với S3 thơng qua cơ chế bảo mật bằng access key và token.
2.7. ReactJS
Hình 2.7: Hình minh hoạ React
React JS[9] là một thư viện Javascript được xây dựng bởi các kỹ sư của Facebook và được nhiều công ty nổi tiếng sử dụng để phát triển sản phẩm của họ, chẳng hạn như Yahoo, Airbnb và tất nhiên là Facebook, Instagram trong nội bộ. Nó
25
phù hợp hơn cho các dự án lớn và có quy mơ hơn là các dự án nhỏ. Triết lý của React JS là xây dựng các thành phần có thể tái sử dụng dễ dàng để áp dụng và kiểm tra. Điều đó giúp lập trình viên quản lý và mở rộng hệ thống một cách dễ dàng, và trong trường hợp của Angular JS, nó yêu cầu mã phải được cấu trúc và viết một cách tối ưu. React JS ln giữ cho thành phần khơng có trạng thái (stateless) tối đa có thể để làm cho nó có thể quản lý được vì nó giống như một trang HTML tĩnh. Bản thân các thành phần này khơng có trạng thái, nó lấy đầu vào từ bên ngồi và chỉ hiển thị dựa trên các đầu vào đó, đó là lý do tại sao nó có thể tái sử dụng và dễ kiểm tra.
Điểm mạnh của React: React JS là framework kết xuất chế độ xem tập trung vào hiệu suất. Nhiều đôi thủ khác cung cấp các framework về MVVM (Model-View- ViewModel) mất nhiều thời gian để hiển thị lượng lớn dữ liệu, chẳng hạn như danh sách, v.v. Nhưng React khơng cịn là vấn đề nữa vì nó chỉ hiển thị những gì thay đổi. Một trong những lợi thế nữa của React JS là DOM ảo - nó ẩn trong mọi chế độ xem, đó là lý do tại sao React có được hiệu suất tốt. Khi khung nhìn cần được gọi, mọi thứ được đưa vào một bản sao ảo của DOM. Sau khi yêu cầu được hoàn tất, React thực hiện so sánh giữa DOM ảo và DOM thực và thực hiện các thay đổi được chỉ ra trong so sánh ở trên.
Ví dụ: nếu chúng tơi đang xem danh sách 20 sản phẩm được hiển thị bởi React và chúng tôi thay đổi sản phẩm thứ 2, chỉ sản phẩm đó được hiển thị lại và 19 sản phẩm còn lại sẽ giữ nguyên (không cần hiển thị hay tải lại trang). Điều đó dựa trên công nghệ gọi là “DOM ảo” (“virtual DOM”) để tối ưu tốc độ và hiệu năng hiển thị bằng cách xuất ra một phiên bản ảo, sau đó kiểm tra sự khác biệt giữa phiên bản ảo đó và những gì có trên DOM và tạo một bản vá.
26