Bulut Bilişim ve Veri Merkezleri

Cloudflare, nadir bir önbellekleme hatasını düzelttikten sonra Hyperdrive’da MySQL desteğini sunuyor

Cloudflare, Workers platformu için veritabanı bağlantılarını havuzlayan hizmeti Hyperdrive’da MySQL desteğinin genel kullanıma sunulduğunu açıkladı. Bu duyuru, önbelleğe alınan isteklerin yaklaşık %0,001’inde boş yanıtlar veya takılma durumlarına yol açan protokol hatasının düzeltilmesinin ardından yapıldı.

2026-10-14
3 dk okuma
8 görüntülenme
certi.news Editorial Team
Cloudflare, nadir bir önbellekleme hatasını düzelttikten sonra Hyperdrive’da MySQL desteğini sunuyor

Cloudflare, Hyperdrive’da MySQL desteğinin genel kullanıma sunulduğunu açıkladı. Hyperdrive, Workers kullanıcılarına yönelik olarak veritabanı bağlantılarını şirketin ağı üzerinden havuzlayan ve yeniden kullanan bir hizmettir. Hizmetin beta sürümünden genel kullanıma geçişi, aralarında sorgu sonuçlarının önbelleğe alınmasında verilerin mevcut olması beklenmesine rağmen boş yanıtlar döndüren nadir bir sorunun da bulunduğu yaklaşık 20 hatanın giderilmesinin ardından gerçekleşti.

Sorun yaklaşık %0,001 oranında ortaya çıktığı için izleme günlükleri üzerinden tespit edilmesi zordu. Cloudflare, hatanın yalnızca önbellekleme etkinleştirildiğinde ortaya çıktığını ve beta aşamasında MySQL hizmetini en yoğun kullanan müşterinin bildirmesinin ardından keşfedildiğini belirledi.

Hyperdrive nasıl çalışır?

Hyperdrive, SQL bağlantılarını Cloudflare ağı üzerinde sıcak ve açık tutar, ardından her istek için yeni bir bağlantı oluşturmak yerine bu bağlantıları Workers istekleri arasında paylaşır. Ayrıca yaygın sorguların sonuçlarını yerel CDN önbelleğinde depolayabilir; bu da gecikmeyi ve asıl veritabanı üzerindeki yükü azaltır.

Hizmetin mimarisi, Worker’ın yakınında çalışan bir Client düğümü ile bağlantı havuzunu yöneten ve asıl veritabanına yakın bir veri merkezinde bulunan bir Endpoint düğümünden oluşur. Her iki düğüm de aynı veri merkezinde çalıştığında aynı önbelleği paylaşabilir.

Hata, MySQL protokol biçimindeki farklılıktan kaynaklanıyordu

Hyperdrive, MySQL ile iki farklı yönden etkileşim kurar: Worker’ın karşısında sunucu, asıl veritabanının karşısında ise istemci olarak çalışır. Worker’ın üzerinde anlaşmaya vardığı protokol yetenekleri, Hyperdrive’ın veritabanıyla kullandığı yeteneklerden farklı olabileceği için hizmetin sonuç mesajlarını nihai istemciye uygun olacak şekilde yeniden biçimlendirmesi gerekir.

İnceleme, sonuç kümelerinin sonlandırılma yöntemine odaklandı. Node.js’te yaygın olarak kullanılan mysql2 kitaplığı da dahil olmak üzere bazı MySQL kitaplıkları CLIENT_DEPRECATE_EOF yeteneğini desteklemiyor. Bu yetenek bulunmadığında sunucu EOF paketlerini kullanırken, protokolün daha yeni davranışında sonuç kümesinin sonunda bunların yerine OK paketi kullanılır.

Client düğümü bazen Worker’ın yeteneklerine uyacak şekilde çevrilen baytları önbelleğe alırken Endpoint düğümü Hyperdrive’ın yeteneklerine sahip standart bir sürüm bekliyordu. Düğümlerden biri diğerinin depoladığı sonucu okuduğunda mesajları uygun olmayan bir biçimde ele alabiliyor ve bu da erken EOF’a, takılmaya veya boş sonuca yol açabiliyordu.

Uygulamada ne değişti?

Cloudflare, tüm düğümlerin sorgu sonucunun standart bir sürümünü önbelleğe yazmasını sağlayarak sorunu düzeltti. Bu sürüm, hangi düğüm tarafından depolandığına bakılmaksızın her zaman Hyperdrive’ın yeteneklerine göre kodlanıyor. Cloudflare’a göre düzeltmenin kullanıma sunulmasının ardından boş satır sorunu ortadan kalktı ve Client bağlantılarındaki başarı oranı %99,99’a ulaştı.

Şirket ayrıca testler sırasında ortaya çıkan başka sorunları da giderdi; bunlar arasında emoji karakterlerinin kodlanmasındaki hata da bulunuyordu. utf8 kullanımı gerçekte tüm dört baytlık Unicode kod noktalarını desteklemeyen utf8mb3 anlamına geliyordu. Hizmet utf8mb4’e geçirildi. Ayrıca COM_RESET_CONNECTION komutu yürütüldükten sonra kodlama yeniden ayarlandı; çünkü bu komut bağlantıyı, latin1 olabilen sunucunun varsayılan ayarına döndürüyor.

Kullanılabilirlik ve sınırlamalar

MySQL desteği bugün itibarıyla Cloudflare paneli veya wrangler aracı üzerinden genel kullanıma sunuldu ve yeni bir PlanetScale veritabanına bağlantı da dahil olmak üzere MySQL uyumlu veritabanlarıyla kullanılabiliyor. Bu durum, bir ara katmanda bağlantı havuzlama ve önbelleklemenin yalnızca SQL’in doğruluğuna bağlı olmadığını; aynı zamanda protokol durumları ile her katmanın beklediği biçim arasında hassas bir uyum gerektirdiğini gösteriyor.

Haber kaynağı
Cloudflare Blog
Özgün kaynağı aç ↗
c
Yazar

certi.news Editorial Team

Bilmeniz gerekenler

Cloudflare, nadir bir önbellekleme hatasının boş yanıtlar veya takılma durumlarına yol açmasına neden olan sorunu düzelttikten sonra, Workers platformuna yönelik Hyperdrive hizmetinde MySQL desteğini genel kullanıma sundu. Destek artık Cloudflare kontrol paneli ve wrangler aracı üzerinden kullanılabilir; MySQL protokolü uyumluluğu ve Unicode kodlamasında da iyileştirmeler yapıldı.

  • Hyperdrive, Workers istekleri arasında MySQL bağlantılarını Cloudflare ağı üzerinden havuzlar ve yeniden kullanır.
  • Sorun, önbellekleme etkinleştirildiğinde isteklerin yaklaşık %0,001'inde ortaya çıkıyordu ve MySQL protokol mesajlarının Client ile Endpoint düğümleri arasında farklı biçimlerde temsil edilmesinden kaynaklanıyordu.
  • Artık tüm düğümler, sorgu sonuçlarının Hyperdrive yeteneklerine göre standartlaştırılmış bir sürümünü depoluyor. Cloudflare'a göre bu değişiklik boş satır sorununu ortadan kaldırdı ve Client bağlantılarındaki başarı oranını %99,99'a çıkardı.
  • Cloudflare ayrıca utf8mb3'ten utf8mb4'e geçerek emoji desteğini ele aldı ve COM_RESET_CONNECTION komutundan sonra kodlamayı yeniden ayarladı.
  • MySQL desteği genel olarak Cloudflare kontrol paneli veya wrangler aracı üzerinden kullanılabilir. Yeni PlanetScale veritabanları da dahil olmak üzere MySQL ile uyumlu veritabanlarıyla kullanılabilir.

SSS

Hyperdrive nedir?

Workers kullanıcıları için Cloudflare tarafından sunulan ve SQL bağlantılarını havuzlayıp yeniden kullanan bir hizmettir. Ayrıca yaygın sorguların sonuçlarını isteklere yakın konumlarda önbelleğe alabilir.

Cloudflare'ın düzelttiği hataya ne neden oldu?

Hata, Worker ile iletişim kuran düğümler ile asıl veritabanıyla iletişim kuran düğümler arasında MySQL protokolü yeteneklerinin farklı olmasından kaynaklandı. Bu durum, önbelleğe alınan mesajların zaman zaman uygun olmayan bir biçimde okunmasına yol açıyordu.

MySQL desteği nasıl kullanılabilir?

Artık Cloudflare kontrol paneli veya wrangler aracı üzerinden genel kullanıma açıktır.

Aynı kategoride

Bunlar da ilginizi çekebilir

Tüm haberleri gör