[Chuyên đề Tết Trung thu] Nhà phát triển Naver (Andy) giải thích về Valkey vs Redis -> Chinh phục hoàn toàn hơn 1 triệu TPS!
Khi chỉ Redis không còn đảm bảo được hiệu năng, chúng ta có những lựa chọn nào?? Có Valkey, tương thích 100% với Redis và được tối ưu dựa trên IO. Thông qua khóa học này, hãy cùng tìm hiểu cách Valkey đảm bảo hơn 1 triệu++ TPS, đồng thời học về các cấu trúc dữ liệu phù hợp với từng loại lưu lượng và cách triển khai tính năng.
Backend thương mại điện tử với bộ nhớ đệm, giỏ hàng, bảng xếp hạng, tồn kho và quy trình xử lý đơn hàng (dự án mini TypeScript)
Chiến lược bộ nhớ đệm: từ cache-aside đến vô hiệu hóa, phòng chống cache stampede và jitter TTL
Khả năng xử lý đồng thời để kiểm soát việc quản lý tồn kho và bán hàng bằng các thao tác nguyên tử, khóa phân tán và Lua
Tiêu chí phân biệt và lựa chọn giữa hàng đợi List, Pub/Sub và nhóm consumer của Stream
Thiết kế cơ chế lưu trữ bền vững, lựa chọn chính sách RDB·AOF·eviction phù hợp với từng tình huống
Khả năng chẩn đoán để phát hiện big key·hot key bằng SLOWLOG và bigkeys
Năng lực vận hành cấu hình failover tự động bằng tính năng sao chép và Sentinel
Mở rộng theo chiều ngang, bao quát việc xây dựng Cluster 6 node, resharding và hashtag
Phương pháp tinh chỉnh hiệu suất để xác định vị trí nút thắt bằng pipelining và phân luồng I/O
Đánh giá khi chuyển từ Redis sang Valkey (giấy phép, khả năng tương thích, khác biệt đo được)
VALKEY · CƠ SỞ DỮ LIỆU TRONG BỘ NHỚ
Valkey vs Redis : Chinh phục toàn diện 1 triệu TPS cùng nhà phát triển của Naver
Tái hiện chân thực những tình huống tôi đã trải qua trong 10 năm xây dựng hệ thống máy chủ tại Naver. Những khoảnh khắc như hàng tồn kho hiển thị số âm, hay cơ sở dữ liệu chao đảo khi bộ nhớ đệm đồng loạt hết hạn. Bạn sẽ xây dựng một hệ thống thương mại điện tử nhỏ, lần lượt học từ bộ nhớ đệm đến vận hành replication, Sentinel và cluster, rồi cuối cùng trực tiếp vượt mốc 1 triệu yêu cầu mỗi giây chỉ với một chiếc laptop.
1,331,558 RPS
Đây là số lượng yêu cầu mỗi giây được đo thực tế bằng lệnh GET trên máy tính xách tay của giảng viên (Apple Silicon 8 lõi, Valkey 9.1). Kết quả này được ghi nhận trong điều kiện gộp 16 lệnh vào mỗi pipeline, và khi điều kiện thay đổi, con số đôi khi giảm xuống còn 980 nghìn. Chúng tôi cũng sẽ trình bày nguyên vẹn cả độ chênh lệch đó trong khóa học. (Cụm từ '100만 TPS' trong tiêu đề khóa học là cách gọi chung cho thông lượng, còn nhãn đo thực tế được ghi là RPS.)
Biết các câu lệnh, nhưng vận hành lại là một câu chuyện khác
"Tôi biết SET, GET nhưng không biết cách sử dụng chúng trong thực tế"Có nhiều khóa học chỉ liệt kê các lệnh, nhưng hiếm có khóa học nào đề cập đến quy trình thực tế dẫn đến chiến lược bộ nhớ đệm, tính đồng thời và pipeline sự kiện.
"Tồn kho đã bị âm nhưng tôi không biết nguyên nhân"Bạn sẽ không hiểu sự cố đồng thời là gì nếu chưa từng trải qua. Khóa học này cố tình tạo ra sự cố đó, giúp bạn tận mắt xác nhận rồi học cách ngăn chặn.
"Nếu máy chủ bị sập thì dịch vụ cũng sập theo thôi"Sao chép, tự động chuyển đổi khi gặp sự cố, phân mảnh — bạn sẽ tự xây dựng các khía cạnh vận hành bằng Docker, rồi trực tiếp làm máy chủ sập để kiểm chứng.
WHY VALKEY
Tại sao lại là Valkey thay vì Redis?
CƠ SỞ DỮ LIỆU TRONG BỘ NHỚ
Valkey
9.1 · BSD · Linux Foundation
Valkey là cơ sở dữ liệu in-memory hoàn toàn mã nguồn mở do cộng đồng tạo ra bằng cách fork Redis ngay sau khi Redis thay đổi giấy phép vào năm 2024. Valkey được AWS, Google và Oracle hỗ trợ dưới sự bảo trợ của Linux Foundation. Nếu hiện giờ bạn mới học về cơ sở dữ liệu in-memory, bắt đầu từ bước ngoặt này sẽ giúp bạn hiểu nhanh hơn.
Valkey
Mã nguồn mở hoàn toàn (duy trì giấy phép BSD)
Thuộc Linux Foundation · AWS, Google và Oracle hỗ trợ phát triển
Sau khi fork, tập trung đầu tư mạnh vào hiệu năng, bao gồm việc thiết kế lại luồng I/O.
Được cung cấp với giá rẻ hơn công cụ Redis trên AWS ElastiCache
Redis
Sau khi chuyển sang giấy phép thương mại vào năm 2024, mở lại một phần vào năm 2025
Dự án gốc, hệ sinh thái tài liệu phong phú
Giao thức và lệnh tương thích với Valkey
Khóa học này được thực hiện dựa trên Valkey, nhưng vì giao thức tương thích nên phần lớn nội dung học được cũng áp dụng nguyên vẹn cho Redis. Với những người đã sử dụng Redis, trong suốt khóa học chúng tôi sẽ chỉ ra những “điểm khác biệt trong Valkey” ở từng phần.
Và thêm một điều nữa — tài liệu tiếng Hàn về Valkey từ căn bản đến vận hành vẫn chưa có nhiều. Học ngay bây giờ sẽ giúp bạn sở hữu một kiến thức mà ít người biết.
MEASURED, NOT CLAIMED
Mọi con số trong khóa học này đều là số liệu đo thực tế.
Tôi không chép lại các benchmark của nhà sản xuất. Tất cả các số liệu trong khóa học đều là kết quả do giảng viên trực tiếp chạy trên cùng một chiếc laptop, và ngay cả những kết quả không tốt cũng được trình bày nguyên vẹn, không cắt bỏ — vì hiểu được tại sao kết quả không như mong đợi mới là điều quan trọng hơn để học hỏi.
46 so với 0
Lượng hàng tồn kho biến mất khi 50 người đồng thời mua hàng (trạng thái tranh chấp) so với kết quả được ngăn chặn bằng phép toán nguyên tử
4,5 giây → BUSY
Cảnh một lệnh chậm khiến toàn bộ máy chủ bị đình trệ — tận mắt xác nhận cơ chế đơn luồng
15 giây
Sau khi tắt master, cho đến khi Sentinel tự động bầu ra master mới
6,6 lần
Chênh lệch thông lượng chỉ do pipelining — bí mật của 1 triệu
Tôi cũng đưa nguyên vẹn kết quả đo thực tế theo hướng ngược lại. Khi tăng số luồng I/O lên 6, trên chiếc laptop của tôi, GET ngược lại chậm hơn 12%. Tại sao lại như vậy, và rốt cuộc điều gì đã tạo nên con số 1 triệu, chúng ta sẽ trực tiếp mổ xẻ ở cuối bài giảng.
WHAT ACTUALLY HAPPENS
Những cảnh xuất hiện các con số đó
Tôi đã minh họa bằng hình ảnh bốn con số trên lần lượt xuất hiện ở màn hình nào. Trong bài giảng, tôi sẽ trực tiếp tái hiện chúng trên terminal.
PHẦN 1
Đơn luồng — lệnh trước phải hoàn tất thì lệnh sau mới được thực hiện
EVAL
PING
BUSY
Valkey xử lý từng lệnh một. Trong khi tập lệnh Lua nặng đang được thực thi, lệnh PING vốn thường mất 7 mili giây đã phải chờ 4,5 giây. Nếu thời gian chiếm dụng vượt quá 5 giây, máy chủ sẽ trả về lỗi BUSY cho các máy khách tiếp theo.
PHẦN 5
Tình trạng tranh chấp — Một yêu cầu khác xen vào giữa GET và SET
máy khách A
GET → 50SET 49
client B
GET → 50SET 49
46
Tồn kho còn lại qua GET, tính toán và SET
0
Nếu thay bằng một dòng lệnh DECRBY
Đã xử lý 50 lượt nhưng chỉ ghi nhận trừ 4 lượt. Đó là vì hai client đã đọc cùng một giá trị và ghi cùng một giá trị. Việc kết quả thay đổi thành 46 hoặc 47 mỗi lần chạy là đặc điểm của tình trạng tranh chấp (race condition).
PHẦN 9
Sentinel — Tự động xử lý phán định sự cố và thăng cấp mà không cần con người
sentinel-1
sentinel-2
sentinel-3
master
Thăng cấp replica-2
Nếu phản hồi bị gián đoạn 5 giây (down-after), mỗi Sentinel sẽ đánh dấu là ngừng hoạt động theo nhận định chủ quan; khi đạt quorum 2, trạng thái này được xác nhận là ngừng hoạt động khách quan. Sau khi trực tiếp dừng tiến trình master, sau 15 giây, master mới sẽ được thăng cấp.
PHẦN 2 · 11
Nút thắt không nằm ở hiệu năng máy chủ mà ở số lần khứ hồi (round trip).
Từng cái một
128,534
Gộp mỗi lần 10 cái
850,000
1,331,558
Trên một máy tính xách tay, RPS theo GET · p50 0.975ms
Giữ nguyên máy chủ và câu lệnh, chỉ gom các lượt round trip thành từng nhóm 10, khoảng cách đã lên tới 6.6 lần (128,534 → 850,000). Ở cuối khóa học, khi tăng mỗi nhóm lên 16 và đồng nhất các điều kiện, con số này có thể đạt tới 133 vạn.
PREVIEW
Trăm lời giải thích không bằng, hãy tự mình xem.
Đây không phải là slide lý thuyết mà là màn hình terminal thực tế. Tôi đã cắt ngắn bốn cảnh được trực tiếp thực hiện trong bài giảng.
Dựng một cụm 6 nút.
Đây là cảnh khởi chạy các nút bằng compose và phân chia 16384 hash slot bằng --cluster create.
Trực tiếp bắt các key chậm.
--bigkeys và SLOWLOG giúp theo dõi khóa nào chiếm nhiều bộ nhớ và lệnh nào làm chậm phản hồi.
Xác nhận dữ liệu vẫn còn sau khi tắt rồi bật lại.
Lưu snapshot bằng BGSAVE, bật appendonly rồi khởi động lại để tận mắt kiểm tra dữ liệu có thực sự được giữ lại hay không.
Ngăn không cho tồn kho giảm xuống số âm
Đưa script Lua khấu trừ có điều kiện lên và thực thi bằng EVALSHA, xác nhận rằng không xảy ra bán quá mức ngay cả khi có các đơn hàng đồng thời.
Học bằng cách trực tiếp tái hiện những bằng chứng này.
Bốn cảnh vừa xem được tái hiện nguyên vẹn trong bài giảng.
HOW IT FLOWS
Khi nền tảng thương mại điện tử nhỏ phát triển, bạn học đúng những gì cần thiết
Không học thuộc các cấu trúc dữ liệu theo thứ tự. Mỗi khi dịch vụ cần một tính năng, chúng ta lấy công cụ ra sử dụng. Khi hoàn thành khóa học, bạn sẽ có trong tay một backend thương mại điện tử được trang bị từ bộ nhớ đệm đến vận hành cụm máy chủ.
Trang sản phẩm chậmThêm bộ nhớ đệm — String, TTL, cache-aside, phòng chống hiệu ứng stampede
Khách hàng thêm sản phẩmGiỏ hàng và phiên — Hash, thời hạn trượt
Hãy hiển thị thứ hạng phổ biếnDanh sách yêu thích và bảng xếp hạng — Set, ZSet, HyperLogLog, Bitmap
Đơn hàng dồn dập khiến hàng tồn kho biến mấtTái hiện sự cố đồng thời — phép toán nguyên tử, khóa phân tán, Lua
Hậu xử lý đơn hàng bị dồn ứĐường ống sự kiện — hàng đợi List, Pub/Sub, nhóm người tiêu dùng Stream
Từ lệnh đến mãDự án mini TypeScript — CLI và mã tương ứng 1:1
Tắt rồi bật lại là mấtTính bền vững và bộ nhớ — RDB, AOF, eviction, công cụ chẩn đoán
Nếu một máy chủ gặp sự cốReplication và Sentinel — trực tiếp quan sát failover tự động
Nếu dữ liệu lớn hơn khả năng của một máy chủCluster — hash slot, phân mảnh lại, failover cụm
Lời hứa cuối cùngSau khi thấy kết quả đo thực tế cho thấy bật I/O threading lại khiến tốc độ chậm hơn, hãy tìm ra nút thắt cổ chai thực sự và vượt mốc 1 triệu trên máy tính xách tay
WHY NOW
Bạn vẫn chỉ biết Redis thôi sao ?
Suy nghĩ của một người đã xây dựng máy chủ tại Naver suốt 10 năm là như thế này. Không phải là bạn không cần biết về Redis, mà là sau sự việc về giấy phép năm 2024, cục diện đã thực sự thay đổi. Nhìn vào những con số sẽ càng rõ hơn.
1 tỷ RPS
Số yêu cầu mỗi giây mà Valkey 9 xử lý trong một cụm lớn gồm 2.000 node. Ngay cả trên một máy chủ duy nhất cũng đạt 2,1 triệu RPS.
15.000 máy chủ
Số lượng máy chủ mà Aiven đã chuyển từ Redis sang Valkey chỉ trong 3 tháng. Đây là đợt di chuyển lớn nhất trong số các cuộc di chuyển được công khai.
45%
Chi phí cơ sở hạ tầng mà Amazon Ads đã cắt giảm khi chuyển sang Valkey. Ngược lại, thông lượng còn tăng 12%
27 nghìn
Sao GitHub. Có 1.300 fork và hơn 700 người đóng góp tham gia.
900만
Số lượt tải xuống image chính thức của Docker. Tính theo valkey/valkey.
AWS ElastiCache và Google Memorystore cung cấp Valkey làm mặc định cho các cụm mới. Các gói bộ nhớ đệm mặc định của những bản phân phối Linux chính cũng là Valkey. Nếu muốn dùng Redis, giờ đây bạn phải chọn riêng.
Tuy nhiên, sau khi chuyển đổi, việc vận hành cuối cùng vẫn do con người đảm nhận. Đó là gắn bản sao, kiểm tra failover và phân chia lại các slot. Khóa học này sẽ đề cập đến những phần đó.
Nguồn: Ghi chú phát hành Valkey 9.0·9.1 · AWS Database Blog (Valkey turns two, trường hợp Amazon Ads) · Trường hợp di chuyển của Aiven · GitHub valkey-io · Docker Hub valkey/valkey
WHAT YOU CAN CLAIM
Đưa thẳng vào portfolio và CV .
"Tôi đã từng sử dụng Redis" và "Tôi đã giảm số ca bán vượt mức từ 50 lượt mua đồng thời xuống còn 0" là hai câu hoàn toàn khác nhau. Nếu muốn viết theo cách sau, bạn phải tự mình gây ra sự cố và tự đo lường, và khóa học này sẽ hướng dẫn bạn trong suốt quá trình đó. Sáu dòng dưới đây có thể được chép nguyên văn sau khi hoàn thành khóa học.
Viết trong CV như thế này
01Ngăn chặn tình trạng tải DB tăng vọt do cache stampede bằng TTL jitter và cơ chế giành quyền trước NXTái hiện tình huống thời điểm vô hiệu hóa bị trùng lặp và thiết kế chiến lược phòng vệ khi hai worker đồng thời cập nhật
02Cải thiện tình trạng bán vượt tồn kho phát sinh khi 50 giao dịch mua diễn ra đồng thời xuống 0 trường hợp bằng các phép toán nguyên tử và LuaSau khi tái hiện trạng thái tranh chấp GET·SET và xác nhận tồn kho bị sai lệch tới 46 đơn vị, tôi đã ngăn chặn vấn đề này
03Triển khai distributed lock dựa trên token chủ sở hữu để ngăn chặn sự cố tiến trình khác giải phóng lockDùng SET NX PX để giành quyền trước và giải phóng nguyên tử bằng unlock.lua, đồng thời phân tích cả khả năng bị chiếm lock hai lần khi hết hạn và failover
04Thiết lập failover tự động dựa trên Sentinel và xác nhận việc thăng cấp trong vòng 15 giây khi master gặp sự cốTrực tiếp dừng tiến trình master, đồng thời quan sát khoảng thời gian tạm thời xuất hiện hai master cũng như quá trình giáng cấp và bắt kịp
05Xây dựng Cluster 6 nút và giải quyết CROSSSLOT bằng resharding trực tuyến·hashtagĐã trực tiếp thực hiện mọi việc từ phân bổ 16384 hash slot, di chuyển slot không gián đoạn cho đến failover cluster
06Cải thiện thông lượng gấp 6,6 lần bằng pipelining và xác định nút thắt nằm ở thời gian khứ hồiĐồng thời đo lường cả những đoạn mà việc tăng số luồng I/O lại khiến tốc độ chậm hơn 12%, để lại cơ sở xác định đâu mới là nút thắt thực sự
Cả sáu mục đều là những thứ bạn trực tiếp xây dựng và trực tiếp đo lường trong khóa học này. Ngay cả khi trong buổi phỏng vấn nhận được câu hỏi "Vậy bạn đã xác minh như thế nào?", bạn vẫn có cơ sở để trả lời.
Sau khi khóa học kết thúc, bạn sẽ có một repository backend thương mại điện tử, và nó sẽ trở thành portfolio của bạn.
WHO & WHAT
Phù hợp với những người như sau
Lập trình viên backend mới bắt đầu học cơ sở dữ liệu in-memory và người đang chuẩn bị xin việc (không yêu cầu kiến thức nền tảng)
Dành cho những ai mới chỉ sử dụng Redis ở mức câu lệnh và muốn mở rộng kiến thức đến chiến lược bộ nhớ đệm, tính đồng thời và vận hành.
Những người đang cân nhắc chuyển sang Valkey sau vấn đề về giấy phép của Redis
Dành cho những ai muốn tự mình xây dựng replication, failover và cluster.
Chuẩn bị: macOS (khuyến nghị Apple Silicon) + Homebrew. Chỉ sử dụng Docker Desktop trong phần thực hành sao chép và cụm máy ở nửa sau. Trước đó, chỉ cần một terminal là đủ. Phần thực hành bắt đầu với valkey-cli, tiếp nối bằng client TypeScript iovalkey, và trực tiếp đo thông lượng bằng valkey-benchmark.
INSTRUCTOR
Giới thiệu giảng viên
Được cùng xây dựng bởi Ande, nhà phát triển backend 10 năm kinh nghiệm tại trụ sở Naver, và Hong, nhà phát triển máy chủ nền tảng tại Pangyo.
NAVER · KỸ SƯ BACKEND · 10 năm kinh nghiệm
Ande
Tôi là một lập trình viên backend với 10 năm kinh nghiệm, hiện đang phát triển hệ thống máy chủ tại trụ sở chính của Naver. Những sự cố như hàng tồn kho hiển thị số âm hay cơ sở dữ liệu chao đảo khi bộ nhớ đệm hết hạn cùng lúc — hầu hết các tình huống tôi tái hiện và trình bày trong khóa học đều là những sự cố từng thực sự xảy ra trong công việc. Cứ thoải mái để lại câu hỏi, tôi sẽ kiểm tra và giải đáp trong khả năng tốt nhất.
Tôi không chỉ cho bạn xem những con số đẹp. Bởi vì chúng ta học được nhiều hơn từ những con số không đạt như mong đợi.
Hiện là nhà phát triển máy chủ tại Naver (trụ sở chính) · Trước đây là nhà phát triển backend tại Tập đoàn Shinsegae · Trước đây là nhà phát triển máy chủ tại một startup chăm sóc sức khỏe · Tốt nghiệp chuyên ngành Khoa học máy tính tại một trường đại học hệ 4 năm ở Seoul
lưu lượng truy cập lớnkiến trúc backendbộ nhớ đệm trong bộ nhớứng phó sự cố
Người chia sẻ kiến thức · Phát triển máy chủ nền tảng tại Pangyo
Hong
Tôi đang phụ trách phát triển máy chủ nền tảng tại Pangyo. Tôi tiếp tục hoạt động chia sẻ kiến thức để chia sẻ những phương pháp tự học cũng như các vấn đề và cách giải quyết gặp phải trong thực tế. Trong khóa học này, tôi đã xây dựng giáo trình và đảm nhiệm việc quay giảng.
Tôi phải bắt đầu bằng việc giải thích cho những người chỉ biết Redis tại sao họ nên tìm hiểu Valkey. Tôi đã đưa nguyên trình tự đó vào bài giảng.
Hiện là lập trình viên máy chủ nền tảng tại Pangyo · Trước đây phát triển backend blockchain·metaverse · Người chia sẻ kiến thức trên Inflearn
Thiết kế chương trình họcNhiều khóa học backendMáy chủ nền tảng
MESSAGES
Vậy, Hong có thực sự hữu ích không?
Tôi đã học xong toàn bộ khóa học, cảm ơn bạn vì khóa học tuyệt vờiTin nhắn bạn để lại trong phòng trò chuyện mở sau khi hoàn thành khóa họcNhờ khóa học, tôi đã nhận được sự giúp đỡ rất lớn và đậu vào công tyTin vui đậu việc bạn đã chia sẻ trong phòng chat mở
Những lúc nhận được những lời nhắn như thế này chính là lý do tôi tiếp tục xây dựng các khóa học. Hy vọng khóa học lần này cũng sẽ trở thành một dòng nhắn như vậy.
FAQ
Câu hỏi thường gặp
Valkey là gì? Có mối quan hệ gì với Redis?
Valkey là cơ sở dữ liệu khóa-giá trị trong bộ nhớ hoàn toàn mã nguồn mở (BSD), do cộng đồng fork từ Redis 7.2 sau khi Redis thay đổi giấy phép vào năm 2024. Dự án được phát triển dưới sự bảo trợ của Linux Foundation với sự hỗ trợ của AWS, Google và Oracle, đồng thời tương thích với giao thức Redis. Trong video đầu tiên của khóa học, chúng tôi sẽ kể lại bối cảnh ra đời này một cách sinh động.
Công ty vẫn đang sử dụng Redis, vậy việc này có còn ý nghĩa không?
Có. Valkey và Redis tương thích về giao thức và câu lệnh, nên kiến thức về chiến lược bộ nhớ đệm, xử lý đồng thời, sao chép, Sentinel và vận hành cụm học trong khóa học đều có thể áp dụng nguyên vẹn cho môi trường Redis. Ngược lại, khóa học cũng đề cập đến bối cảnh giấy phép và những khác biệt qua đo lường thực tế, giúp làm cơ sở để đưa ra quyết định khi công ty cân nhắc chuyển sang Valkey.
Mức độ khó ở mức nào? Có nhất thiết phải xem từ đầu đến cuối không?
Phần đầu là nội dung có thể theo dõi mà không cần kiến thức nền, còn phần sau đi sâu vào vận hành như tính bền vững dữ liệu, sao chép, cluster và hiệu năng. Vì khóa học được xây dựng theo cấu trúc tiếp tục phát triển một dịch vụ thương mại điện tử nên khuyến nghị bạn xem từ đầu, nhưng nếu đã có kinh nghiệm với Redis, bạn có thể chọn xem từ các phần về tính đồng thời hoặc vận hành chuyên sâu. Nội dung của từng video được ghi rõ trong danh sách chương trình học bên dưới.
Không biết Redis cũng được chứ?
Được. Khóa học được thiết kế để bắt đầu mà không cần kiến thức nền tảng. Ngược lại, nếu đã có kinh nghiệm với Redis thì gần như mọi nội dung quen thuộc vẫn được áp dụng nguyên vẹn, còn những điểm khác biệt trong Valkey (cải thiện giá trị mặc định·tính năng mới) sẽ được nhấn mạnh riêng trong suốt khóa học.
Windows có thể thực hành được không?
Khóa học được tiến hành theo môi trường macOS + Homebrew. Windows có giao diện và quy trình cài đặt khác nên không được hỗ trợ chính thức.
Thực sự có đạt 1 triệu TPS không?
Trên máy tính xách tay của giảng viên (Apple Silicon 8 lõi), với GET và điều kiện pipeline gom 16 lệnh mỗi lần, chúng tôi đã đo được thực tế 1,331,558 RPS. Chúng tôi sẽ trình bày nguyên vẹn cảnh thực thi và các lệnh đó trong khóa học. Ngay cả với cùng điều kiện, trong một số lần chạy, tốc độ giảm xuống còn 980.000, và chúng tôi cũng công khai kết quả đo thực tế cho thấy việc bật luồng I/O thậm chí còn làm chậm hơn. Xin lưu ý, “TPS” trong tiêu đề khóa học là cách gọi chung cho thông lượng, còn nhãn đo thực tế trên trang được ghi là RPS theo tiêu chuẩn GET.
Ngay cả khi không giỏi lập trình thì có thể theo kịp không?
Hai phần ba khóa học là thực hành lệnh terminal nên gần như không cần kinh nghiệm lập trình. TypeScript được tập trung ở một phần (dự án mini), và chúng tôi sẽ tiến hành bằng cách giải thích từng dòng mã.
Bạn sử dụng phiên bản nào?
Dựa trên Valkey 9.1. Tất cả các lệnh và cấu hình trong khóa học đều đã được trực tiếp thực thi và kiểm chứng trên phiên bản này.
Hãy trực tiếp tắt máy chủ và tự mình vượt qua con số 1 triệu.
Đây không phải là khóa học ghi nhớ các câu lệnh, mà là khóa học giúp bạn giải quyết từng vấn đề phát sinh khi dịch vụ phát triển. Khi khóa học kết thúc, bạn sẽ từng bước ngăn chặn sự cố tồn kho bằng phép toán nguyên tử, trực tiếp tắt rồi khởi động lại master, và dựng một cụm gồm sáu node.
COMMUNITY
Bạn không cần phải học một mình.
Hãy cùng chia sẻ những vướng mắc trong quá trình học, băn khoăn về sự nghiệp và những câu chuyện thực tế trong nghề tại phòng chat mở quy tụ các nhà phát triển. Hoan nghênh cả những câu hỏi về bài giảng.
Sự nghiệp・chuyển việcBackend thực tếHỏi đáp kỹ thuậtHọc nhóm
Tôi bắt đầu học lập trình sau một thời gian dài lười biếng ở nhà và cảm thấy hứng thú với nó, hiện tại tôi đang đảm nhận việc phát triển máy chủ nền tảng (platform server) tại Pangyo. Tôi tiếp tục hoạt động với tư cách là người chia sẻ kiến thức vì muốn cung cấp cho các bạn phương pháp tôi đã học cũng như những vấn đề và giải pháp khác nhau mà các bạn có thể gặp phải trong thực tế.
Bài giảng không chỉ được tạo ra từ kiến thức của riêng tôi. Mọi bài giảng đều có sự đồng hành của những người cộng sự.