
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>AnhDH</title>
      <link>https://www.anhdh.net/vi/blog</link>
      <description>Backend &amp; DevOps engineering notes — deep dives into distributed systems, databases, caching, and the infrastructure that keeps software running at scale. Practical, no-fluff writing for engineers who care about how things actually work.</description>
      <language>vi-VN</language>
      <managingEditor>anhdh.cv@gmail.com (Do Hung Anh)</managingEditor>
      <webMaster>anhdh.cv@gmail.com (Do Hung Anh)</webMaster>
      <lastBuildDate>Mon, 02 Dec 2024 00:00:00 GMT</lastBuildDate>
      <atom:link href="https://www.anhdh.net/vi/feed.xml" rel="self" type="application/rss+xml"/>
      
  <item>
    <guid>https://www.anhdh.net/vi/blog/redis-distributed-locking</guid>
    <title>Distributed Lock và Cách Triển Khai với Redis</title>
    <link>https://www.anhdh.net/vi/blog/redis-distributed-locking</link>
    <description>Trong các hệ thống phân tán, việc đảm bảo tính nhất quán của dữ liệu (data consistency) và ngăn chặn tranh chấp tài nguyên (race condition) là một thách thức lớn, đặc biệt khi nhiều tiến trình hoặc service truy cập đồng thời vào các tài nguyên dùng chung. Distributed lock là giải pháp hiệu quả để xử lý vấn đề này. Bài viết này mình sẽ giúp bạn hiểu rõ distributed lock là gì, tại sao nó cần thiết, các phương pháp để thực hiện và cách triển khai nó với Redis nhé.</description>
    <pubDate>Mon, 02 Dec 2024 00:00:00 GMT</pubDate>
    <author>anhdh.cv@gmail.com (Do Hung Anh)</author>
    <category>medium</category><category>backend</category><category>redis</category>
  </item>

  <item>
    <guid>https://www.anhdh.net/vi/blog/cronjob-and-cron-expressions</guid>
    <title>CronJob &amp; Cron Expressions</title>
    <link>https://www.anhdh.net/vi/blog/cronjob-and-cron-expressions</link>
    <description>CronJob là một công cụ quan trọng giúp lập trình viên tự động hóa các tác vụ theo lịch trình định kỳ. Tuy nhiên, để thiết lập CronJob một cách chính xác, bạn cần nắm vững Cron Expression – biểu thức giúp xác định lịch trình cho các công việc tự động. Bài viết này sẽ giới thiệu về CronJob, cách xây dựng Cron Expression, và các công cụ hữu ích để tạo biểu thức cron một cách dễ dàng.</description>
    <pubDate>Thu, 21 Nov 2024 00:00:00 GMT</pubDate>
    <author>anhdh.cv@gmail.com (Do Hung Anh)</author>
    <category>beginner</category><category>backend</category>
  </item>

  <item>
    <guid>https://www.anhdh.net/vi/blog/message-broker</guid>
    <title>Message Broker</title>
    <link>https://www.anhdh.net/vi/blog/message-broker</link>
    <description>Bạn có bao giờ tự hỏi điều gì giúp các dịch vụ thanh toán, mạng xã hội hay giao hàng hoạt động mượt mà mỗi ngày? Bí mật nằm ở Message Broker – công cụ “kết nối vô hình” giúp thông tin truyền đi an toàn và hiệu quả giữa các hệ thống. Hãy cùng mình khám phá Message Broker là gì nhé!</description>
    <pubDate>Thu, 31 Oct 2024 00:00:00 GMT</pubDate>
    <author>anhdh.cv@gmail.com (Do Hung Anh)</author>
    <category>medium</category><category>backend</category><category>Kafka</category>
  </item>

  <item>
    <guid>https://www.anhdh.net/vi/blog/count-star-vs-count-one</guid>
    <title>Sự khác biệt giữa count(*) và count(1) và cái nào hiệu quả hơn?</title>
    <link>https://www.anhdh.net/vi/blog/count-star-vs-count-one</link>
    <description>Khi chúng ta đếm các bản ghi trong bảng dữ liệu, chúng ta đã quen với việc sử dụng hàm count để đếm, nhưng có nhiều loại tham số có thể  được truyền trong hàm count, chẳng hạn như count(1), count(*), count(field), ... Vậy hàm count nào sẽ đem lại hiệu suất tốt nhất?</description>
    <pubDate>Tue, 02 Apr 2024 00:00:00 GMT</pubDate>
    <author>anhdh.cv@gmail.com (Do Hung Anh)</author>
    <category>database</category><category>sql</category><category>medium</category><category>backend</category><category>mysql</category><category>InnoDB</category>
  </item>

    </channel>
  </rss>
