Một website luôn được chạy, load mượt mà là điều mà rất nhiều các lập trình mong muốn. Memcached được truyền tai nhau trong giới lập trình dạo gần đây, được cho là phương pháp hữu hiệu. Nhưng nhiều vẫn còn chưa biết Memcached là gì? Công dụng và vai trò của chúng như thế nào. Cùng tìm hiểu qua bài viết này nhé.
Memcached là gì?
Memcached là một ứng dụng của Linux, nhưng do Memcached là mã nguồn mở nên chúng được các nhà lập trình phát triển cho nền tảng Windows sử dụng. Hệ thống này có các đặc điểm khá là nổi trội thu hút thêm được rất nhiều người sử dụng phổ biến hiện nay, cụ thể như:
Chúng cũng là một cache giống như những bộ cache trên, là một dịch vụ độc lập hoàn toàn như MySQL.
Chúng cung cấp cho người dùng khả năng lưu trữ đối tượng bất kỳ vào bên trong bộ nhớ RAM.
Là một NoSQL được thiết kế với hiệu năng làm việc cao. Chúng hoạt động theo phương thức distrubuted memory object caching.
Memcached được tích hợp có tác dụng giảm tải cơ sở database (dữ liệu) cho ứng dụng, website và tối ưu tốc độ website của người dùng.
Ưu nhược điểm Memcached
Ưu điểm
Với những yêu cầu bình thường, mọi người thường sử dụng chúng dùng làm nơi lưu trữ dữ liệu để chia sẻ và thường là lưu session. Điều này vô cùng tiện lợi trong các kiểu load balancing đơn giản như là: nginx hay pound. Lúc này các bạn không phải quá lo lắng tới vấn đề persistence session.
Ở yêu cầu lớn hơn một chút, mọi người sử dụng chúng để giảm thiểu read từ db cho các dữ liệu ít thay đổi và cần phải tính toán nhiều. Chúng còn được dùng để xử lý query phức tạp và giảm bớt sự tiêu tốn tài nguyên.
Ở mức độ cao hơn nữa, người ta thường sử dụng chúng để shard db (chia nhỏ db theo row tức theo chiều ngang). Tuy nhiên hiệu năng làm việc của nó vẫn còn gây tranh cãi khi so sánh với việc partition db. Nên trước khi đưa vào sử dụng bạn có thể phải cân nhắc. Hơn nữa, các thể của Memcached còn được cài đặt trên cả hệ điều hành Windows và Linux.
Nhược điểm
Memcached không có cơ chế thẩm định ở mức độ chính xác của thông tin dữ liệu lưu trong nó. Điều này có thể thấy được cấu trúc hệ thống không có bất cứ sự liên hệ nào với db mà nằm hoàn toàn độc lập. Vì vậy có hơi bất tiện khi quản lý dữ liệu.
Muốn sử dụng hệ thống này thì phải thuê máy chủ và cài Memcached vào máy chủ
Chưa đồng bộ tự động với cơ sở dữ liệu khi database thay đổi. Cụ thể như việc Database có dữ liệu là A và Memcached cũng có dữ liệu như vậy. Lúc này database sẽ đổi sang giá trị B nhưng Memcached vẫn là A.
Viết trực tiếp vào memcached, sau một thời gian nó sẽ chuyển vào db khi đó sẽ gặp khá nhiều nguy hiểm, điển hình như việc không kịp viết từ memcached vào db mà server memcached đã hỏng. Do đó không nên sử dụng chúng cho các dữ liệu mang tính critical.
Hướng dẫn cài đặt và sử dụng Memcached trong Windows
Nhiều người đã nghe, biết đến nhưng vẫn chưa biết cách để cài đặt. Dưới đây sẽ là các bước hướng dẫn cài đặt:
Bước 1: Tải phiên bản Memcached: memcached-win32-1.4.4-14.zip
Bước 2: Unzip và sao chép vào thư mục nào đó bên trong ổ cứng chẳng hạn như C:\memcached.
Bước 3: Tiến hành mở command line vào thư mục chứa memcached và gõ memcached.exe -d install.
Bước 4: Để start memcached server, hãy gõ memcached.exe -d start
Bước 5: Như mặc định có sẵn thì cổng port của memcached server đó là 11211
Như vậy là bạn đã hoàn tất xong quá trình cài đặt rồi đó.
Hướng dẫn fix bug Memcached, chặn DDoS
Cách mà Memcached tấn công
Cụ thể, những kẻ tấn công thường sẽ gửi một gói tin giả mạo địa chỉ IP của nạn nhân đến server memcached trên cổng 11211. Các truy vấn được gửi đến máy chủ chỉ một vài byte, nhưng số lượng phản hồi lại lên tới hàng chục nghìn lần, gây ra một cuộc tấn công lớn. Bên cạnh đó, Memcached cho phép kết nối qua giao thức UDP – một trong những giao thức tốt nhất dùng trong việc khuếch đại.
Theo Cloudflare, một gói tin 15 bytes gửi đi có thể tạo ra 134KB phản hồi (khuếch đại 10.000 lần). Thực tế ghi nhận, hệ thống đã nhận được tới 750KB phản hồi – khuếch đại gấp 51200 lần.
Theo số liệu mới nhất từ Shohan, có gần 90.000 server chạy Memcached qua cổng 11211 đang mở. Và rất nhiều trong số đó đến từ các location thông dụng: Mỹ, Nhật, Hồng Kông… Cụ thể, các cuộc tấn công xảy ra khắp nơi trên toàn thế giới, nhưng chủ yếu là Bắc Mỹ và Châu Âu. Phần lớn các máy chủ của OVH, DigitalOcean và Sakura.
Cài đặt bảo mật cho Memcached trên Centos7
Trước tiên chúng ta cần cài đặt Memcached. Nếu bạn chưa cài đặt Memcached trên máy chủ của mình, bạn có thể cài đặt nó từ kho chính thức CentOS. Trước tiên, đảm bảo rằng chỉ mục gói ứng dụng của bạn được cập nhật gõ hoặc copy lệnh như sau:
sudo yum update
Tiếp theo, cài đặt gói bằng cách gõ hoặc copy lệnh như sau:
sudo yum install memcached
Chúng ta có thể cài đặt libmemcached, một thư viện cung cấp một số cung cụ để làm việc với máy chủ memcached của bạn, Gõ hoặc sao chép lệnh sau:
sudo yum install libmemcached
Memcached bây giờ đã được cài đặt như một dịch vụ trên máy chủ của bạn, cũng với các công cụ cho phép bạn kiểm tra kết nối của nó. Bây giờ chúng ta có thể tiếp tục cài đặt cấu hình
Cấu hình bảo mật memcached
Đầu tiên SSH vào VPS và mở file config của Memcached lên. Gõ hoặc copy lệnh sau:
vi /etc/sysconfig/memcached
Ở phần Options ta thêm vào -l 127.0.0.1 -U 0 để chặn băng thông bắn ra cũng như chặn luôn UDP
PORT="11211"
USER="memcached"
MAXCONN="10024"
CACHESIZE="20"
OPTIONS="-l 127.0.0.1 -U 0"
Lưu lại rồi khởi động lại dịch vụ. Bạn cũng hoàn toàn có thể tải File config về máy tính, sửa sau đó up đè lên file config trên server: gõ hoặc copy lệnh như sau
service memcached restart
Kiểm tra lại bằng lệnh
netstat -plunt
Ta sẽ thấy UDP đã bị đóng, Memcached chỉ còn chạy trên TCP 11211 mà thôi
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 2383/memcache
Trên đây là tất cả những thông tin về Memcached mà bạn có thể tham khảo, xem xét và đưa ra được những kinh nghiệm cho bản thân để tránh những rủi ro không đáng có nhé. Chúc bạn thành công.
Hosting tốc độ cao - Chất lượng tốt [ Tặng miễn phí trọn bộ plugin SEO trị giá 359$ ]
Các tìm kiếm liên quan đến chủ đề “Memcached”
Redis là gì
|
Cách sử dụng Redis | Server Redis | Khi nào dụng Redis |
Redis
|
Redis lưu ở đầu | Redis use cases | Ưu và nhược điểm của Redis |
Bài liên quan
- Địa chỉ mua hosting giá rẻ, mua hosting tặng tên miền miễn phí
- Database Hosting là gì? Tại sao website cần Database Hosting?
- Cloud Hosting Windows là gì? Hướng dẫn mua Cloud Hosting Windows rẻ và nhanh
- MongoDB Hosting là gì? Top 5 nền tảng MongoDB Hosting miễn phí
- Nên chọn Hosting Windows hay Linux? Địa chỉ mua hosting rẻ và hời nhất
- Hosting Linux là gì? Những lưu ý cần thiết khi mua Hosting Linux
- Hosting là gì? Phân biệt tên miền và hosting chi tiết nhất
- Hướng dẫn kinh doanh hosting hiệu quả cao, chi phí thấp
- Cloud Hosting là gì? Địa chỉ mua Cloud Hosting tốt và rẻ?
- Cloud Hosting Linux là gì? Từ A-Z về dịch vụ Cloud Hosting Linux mới nhất
- Hướng dẫn cài đặt addon domain vào hosting cPanel chi tiết nhất
- Loạt ưu điểm vượt trội của Google Cloud Hosting có thể bạn chưa biết
- Tìm hiểu 4 phiên bản Managed WordPress Hosting tốt nhất
- Unlimited hosting là gì? Top nhà cung cấp Unlimited hosting tốt nhất
- Laravel hosting là gì? Top nhà cung cấp laravel hosting tốt nhất