İlk halk! Cainiao Esnek Zamanlama Sisteminin Mimari Tasarımı

Alimeis Guide: Cainiaos Ark (ark), Cainiaonun tüm araştırma ve geliştirme çalışmaları için bir kaynak yönetimi ve işletim ve bakım platformudur. Günlük ve temel kaynak ihtiyaçlarını desteklemek için Cainiaonun altyapı kaynaklarının yönetimi ve kontrolünden sorumludur. Esnek zamanlama Cainiao'nun Gemisinin önemli bir parçası ve aynı zamanda Ark'ın önemli bir özelliğidir.

Esnek zamanlama sayesinde uygulamalar, iş baskısı arttığında kaynakları zamanında genişletebilir ve iş baskısı düştüğünde kaynakları serbest bırakabilir, böylece istikrar sağlarken mümkün olduğunca fazla kaynak kullanım verimliliği elde edebilir. Gelecekte, karıştırma veya ayrıntılı kaynak fiyatlandırması için çevrimdışı görevler getirdikten sonra, bu model çaylakların genel BT maliyetini büyük ölçüde azaltacaktır. Bugün, size ilham vermeyi umarak çaylakların Ark esnek planlama sisteminin arkasındaki teknoloji hakkında ayrıntılı olarak konuşalım.

Çaylak neden esnek programlamaya ihtiyaç duyar?

Esnek programlamanın ortaya çıkmasından önce, Cainiao'nun genel kaynak kullanım oranı nispeten düşük bir seviyedeydi. Bunun nedeni:

1. Çevrimiçi uygulamalar genellikle, tek bir makine performans basınç testi gerçekleştirerek ve iş akışını tahmin etmek için deneyimi birleştirerek gereken konteyner sayısını belirler. Bu yöntem, büyük ölçüde değerlendiricinin öznel faktörlerinden etkilenir ve genellikle iş trafiğini tahmin ederken daha fazla fazlalık sağlar.

2. Geçmiş modda, bir uygulama paketinin genişleme ve daralmasının çalışma sıklığı çok düşüktü, bu da günlük en yüksek akışı ve gelecekteki zaman diliminde (genellikle aylar olarak) iş gelişimini alarak iş akışını tahmin etmeyi gerekli kılıyordu. Değerlendirme kriterleri. Genel olarak, en yoğun trafik dönemi tüm günün yalnızca küçük bir bölümünü oluşturabilir ve yoğun olmayan dönemde büyük miktarda kaynak israfı meydana gelir.

Erişim esnek uygulama gruplama performansı perspektifinden, yanlış kapasite değerlendirmesi çok yaygın bir olgudur ve gerçek değerden sapma çok büyüktür. Esnek zamanlama, sistemin çalışma durumunu dinamik olarak değerlendiren ve genişletme ve daraltma konusunda kararlar veren bir sistemdir.Uygulama geliştiricilerin ve operasyon ve bakım personelinin daha somut sayıda kapsayıcıdan daha yüksek bir soyutlamaya kadar kaynaklara odaklanmasına olanak tanır. "Hedefler" (makul kaynak kullanım hedefleri, hizmetler için makul rt hedefleri gibi) manuel değerlendirme sırasında kaçınılmaz olarak ortaya çıkan öznel faktörlerin etkisini azaltır. Ayrıca, Ark platformunun sağladığı güvenilir ve verimli kapasite genişletme ve daraltma yetenekleriyle birleştiğinde, uygulama grupları için genişletme ve daraltma işlemlerinin zamanlılığı dakika seviyesine ulaşarak kaynakların "talep üzerine kullanımını" gerçek anlamda gerçekleştiriyor. Yeni başlayanlar için esnek planlama, kaynak kullanımını artırmanın en etkili yoludur.

Çaylak esnek dağıtım için neden daha uygun?

Esnek zamanlama daha fazla kullanım faydası sağlasa da, tüm şirketler veya kuruluşlar için uygun değildir.Cainiao'daki dağıtımının başarısı esas olarak aşağıdaki nedenlere bağlıdır:

  • Cainiaonun işletme özellikleri, sistemin tüccarlar, cp ve tüketiciler arasındaki bilgi akışını koordine etmek olduğunu belirler ve lojistik sipariş akışının uzun bağlantı ve çoklu etkileşim özellikleri de bilgi akışının gerçek akıştan daha büyük olduğunu belirlediğinden, sistemimiz alışveriş rehberleriyle karşı karşıya kalır. Spike-type impulse peak çaylağın Gemisi esnek zamanlama sistemi sahnesi minimumdur.

  • Cainiao, 2017 başında konteynerizasyonu tam olarak gerçekleştirip hibrit bulut mimari sistemine bağlandıktan sonra kaynak yönetiminin "makine odaklı" dan "uygulama odaklı" dönüşümünü tamamlamış, uygulama dağıtımı, genişletme ve daraltma gibi temel operasyon ve bakım süreçleri elde edilmiştir. Büyük basitleştirme ve verimlilik artışı. Bir konteyner kaynak yönetimi ve kontrol platformu olarak Ark platformu, 2017 yılında 618 ve Double Eleven testine tabi tutuldu ve stabilitesi tamamen doğrulandı, bu da esnek zamanlamanın uygulanması için yeterli bir teknik temel oluşturdu.

  • Cainiao'nun temel uygulamalarının büyük çoğunluğu, devletsiz çevrimiçi bilgi işlem uygulamalarıdır ve günlük iş baskısının tepe ve vadi değerleri arasındaki boşluk açıktır, bu da esnek zamanlamanın uygulanması için yeterli bir iş senaryosu temeli sağlar.

  • Esnek planlama bağımsız bir proje değildir, birçok temel hizmetin desteğini gerektirir ve birleşik ve standartlaştırılmış bir sistem ortamına dayanır. Cainiaonun uygulaması Alibaba Groupun spesifikasyonlarına uygundur. Esnek planlama, alimonitor, Hawkeye ve alimetrics gibi araçlar tarafından sağlanan izleme işlemi ve bakım verilerini doğrudan okuyabilir ve temel uygulamalar tarafından kullanılan teknoloji yığını temelde bir araya getirilmiştir. İniş, yeterli bir çevresel temel sağlar.

Yukarıdaki dört noktaya dayanarak, çaylak, küçük bir maliyetle hızlı bir şekilde esnek bir programa ulaşabilir.

Benzer ürünlerden farkı nedir?

Grup içindeki birçok ekip, belirli bir iş alanı için esnek planlama ürünleri geliştirmiştir ve sektördeki bazı genel bulut hizmeti sağlayıcıları da esnek ölçeklenebilirlik hizmetleri sunmaktadır.Cainiao esnek zamanlamanın karşılaştığı sorunlar ve ilgili ürün fikirleri bunlarla ilgilidir. Benzer ürünler arasındaki fark nedir?

Her şeyden önce, Cainiao'nun esnek planlamasının kapsaması beklenen uygulama yelpazesi, Cainiao'nun tüm vatansız çekirdek uygulamalarıdır.Bu temel uygulamalarda yer alan iş bağlantıları, mantık özellikleri, kaynak eğilimleri ve iş trafiği özellikleri çok farklıdır. Bu uygulamaları tanımlamak için genel bir iş modeli soyutlamak zordur. Bu nedenle, belirli bir iş alanı için esnek zamanlamadan farklı olarak, Cainiao esnek çizelgeleme, tasarım sırasında çok fazla iş varsayımı yapamaz ve çizelgeleme algoritmaları ve strateji modları tasarlanırken yeterli çok yönlülük göz önünde bulundurulmalıdır; yapılandırma ihtiyaçları Kullanıcılara farklı iş senaryolarıyla başa çıkabilmeleri için yeterli kişiselleştirme yetenekleri verin; sistem yapısını tasarlarken, stratejinin yatay genişleme yeteneğini göz önünde bulundurmak gerekir.Yeni özel iş senaryoları ortaya çıktığında, doğrusal olarak hızla genişletilebilir.

İkincisi, karmaşık senaryolarla uğraşırken, sistem ne kadar çok yönlü olursa, o kadar fazla konfigürasyon seçeneği getirir.Kamu bulutlarda esnek zamanlama servisleri, tam olarak sorunu çözmek istedikleri için genellikle birçok konfigürasyon parametresi sağlar. Sorunun karmaşıklığını dengelemek ve kullanıcının kendi kararlılığı ve maliyetinden sorumlu olmasına izin vermek için "onu kullanıcıya atın" yaklaşımı. Bu tür esnek programlamanın getirdiği kararlılık riski ve maliyet tasarrufu etkisi, tamamen kullanıcının bu teknolojiyi anlamasına bağlıdır. Bunun aksine, çaylağın temel teknik ekibi olarak rolümüzü, kullanıcılarımıza daha fazla sorun atmak yerine, istikrar ve maliyet sorunlarının çözücüsü olarak tanımlıyoruz.Tüm çaylak uygulamalarının sahibini sağlamayı umuyoruz. Bu, yalnızca genel buluttaki esneklik gibi yeni bir kaynak yönetimi işlevi değil, aynı zamanda maliyetleri düşürür ve kullanıcılarımız için istikrarı artırır. Bu nedenle, ürün tasarımının başlangıcında, çoğu uygulama grubunun tek tıklamayla erişim esnekliği elde edebileceğini, çoğu uygulama yapılandırma sorununu kullanıcılar algılamadan çözebileceğini ve politika parametresi yapılandırmasını Temel sorumluluklar kapsamında. Ve özel gereksinimleri olan uygulamalar için, esnekliğin girişini tamamlamak için az miktarda yapılandırma ile onlara yardımcı olacak yardımcı öneriler sağlayın.

Esnek planlama uygulamalarının mevcut durumu

Şimdiye kadar Cainiao, temelde 15'ten fazla kapsayıcıya sahip (erişimden önce) durum bilgisi olmayan uygulama gruplarına esnek erişim gerçekleştirdi ve erişim uygulama gruplarının genel ortalama CPU kullanım oranı gün boyunca% 20'den fazlasına ulaştı (hesaplama yöntemi) Gruplandırma CPU kullanımının ve gruplama kapsayıcılarının sayısının ağırlıklı ortalamasını almak için). Günlük olarak genişletilen ve daraltılan toplam konteyner sayısı 3.000'den fazladır. 2017'de Double Eleven zamanında, esnek zamanlama bazı uygulama gruplarını 12 Kasım saat 0: 00'dan küçültmek için yardımcı bir yöntem olarak kullanıldı ve bu da fiziksel CPU çekirdeği sayısının çaylakların işgal ettiği paket sayısına oranını önemli ölçüde düşürdü.

Aşağıdaki şekil 1, bir uygulama grubunun bir günündeki CPU kullanımı ile konteyner sayısının değişim eğrisinin karşılaştırmasını gösterir; Şekil 2, aynı zamanda uygulama grubunun belirli bir çekirdek hizmetinin akış değişim eğrisini gösterir:

Cainiao'nun Gemisi Esnek Çizelgeleme Planı Giriş

Esnek zamanlamanın temel modu

Yukarıda belirtildiği gibi, Ark'ın esnek planlaması, kullanıcılara yalnızca küme kaynaklarını esnek bir şekilde çalıştırma yeteneği sağlamayı değil, aynı zamanda tüm kullanıcıların maliyet ve kararlılık optimizasyonundan da sorumlu olmayı umuyor. Hedef uygulama her açıdan çok farklı olduğu için, binlerce yapılandırma öğesi vardır ve her zaman dinamik bir durumdadır.Manuel yapılandırma yönetimimize güvenmek çok gerçekçi değildir.

Sonuç olarak, Ark'ın esnek programlaması bir kapalı döngü geri besleme modu önerir (yukarıdaki şekilde gösterildiği gibi). Esnek zamanlamanın temel yeteneği, uygulama gruplarının çalışma koşullarına ve farklı uygulama gruplarının politika yapılandırma parametrelerine, genişletme ve küçültme kararlarının alınmasına ve Ark'ın konteyner operasyon hizmetleri aracılığıyla küme konteynerlerinin sayısının ayarlanmasına dayanır; uygulama gruplama kümeleri, üretecek olan küme konteynerlerinin sayısındaki değişikliklerden etkilenir. Farklı performans davranışları (örneğin, küme ortalama CPU kullanımı genişletme sırasında değişir, hizmet rt'si belirli bir aralıkta düşer, vb.); Esnek karar verme için uygulama gruplamasının performansı gerçek zamanlı verilerle sağlanır ve geçmiş veriler de çevrimdışıdır Depolama (Alimonitor / EagleEye ve diğer grup standart izleme sistemleri bu tür veri hizmetlerini sağlar); otomatik strateji yapılandırması bu geçmiş verileri periyodik olarak elde edecek ve belirli bir algoritmaya göre farklı stratejiler ile farklı uygulama grupları yapılandırılacak ve bu da tekrar etkileyecektir. Esnek planlama stratejileri için kararlar.

Bu modelin avantajları:

1. Belli bir dereceye kadar kendini geliştirme yeteneğine sahip. Uygulama gruplaması esnekliğe yeni bağlandığında, strateji parametrelerinin çoğu varsayılan değerlerdir ve esneklik belirli bir süre çalıştıktan sonra, otomatik değerlendirme yöntemiyle birleştirildiğinde, daha iyi bir elastik etki elde etmek için çeşitli parametreler sürekli olarak revize edilecektir. Örnek olarak hizmet güvenliği stratejisini alın: gerçek zamanlı karar verme aşamasındaki hizmet güvenliği stratejisi, mevcut hizmet rt'sini hizmet sla eşiğiyle karşılaştırmaktır.Esnekliğe henüz erişildiğinde, hizmet erişim esnekliğinden önceki tarihsel rt'ye dayalı olarak hizmet sla'sı elde edilir. Evet, genel olarak konuşursak, esnek olmayan durumda hizmet rt performansı, esnek durumdaki hizmet performansından çok farklıdır Başlangıçta, hizmet sla mantıksız bir şekilde (genellikle çok küçük) ayarlanabilir. "Çoklu genişletme" olgusu vardır ve hizmet rt ihlali sla'sının neden olduğu genişleme, genel genişletme nedenlerinin çoğunu açıklayacaktır. Bu fenomen, her gün düzenli olarak gerçekleştirilen analiz görevleri tarafından yakalanacaktır ve sla ayarının mantıksız olduğuna karar verilir ve hizmet sla'sı, son birkaç günün çalışma durumuna göre yeniden hesaplanır, böylece eşik ayarının rasyonelliğini artırır;

2. Yaygın sorunları çözmek için büyük parametreleri daha yüksek bir soyutlama düzeyinde yapılandırın. Veya örnek olarak hizmet rt sla eşiğini ele alalım. Yapılandırma perspektifinden belirli bir hizmete odaklandığımızda, bir hizmetin belirli iş mantığına, ilgili çağrı bağlantısının ne olduğuna ve yukarı akış hizmetine karışabiliriz. Bunun ve diğer ayrıntıların toleransı, bu şekilde, farklı Cainiao uygulamaları tarafından sağlanan binlerce hizmetle karşılaşıldığında, bunları tek tek yapılandırmak imkansızdır (Not: Her gün, hizmet çevrimiçi ve çevrimdışı olacak ve hizmet olacak İş mantığı da değişebilir ve yapılandırmanın sık sık güncellenmesi gerekir, bu da şüphesiz manuel yapılandırmayı daha gerçekçi hale getirir). Otomatik politika yapılandırma mantığı, çeşitli parametreleri daha yüksek bir soyutlama düzeyinde ele alır. Servis rt'si için, genel olarak geçerli bir varsayıma dayanır: "Servis rt, günün çoğu için makul bir durumda" ve olasılık dağılımı yoluyla Hesaplayın (hizmet rt'sinin gerçek dağılımı, tarihsel veri istatistikleri yoluyla da elde edilebilir) ve matematiksel bir sla eşiği elde edilebilir (rt dağılımının bir süre boyunca ortalama rt ve standart sapmasını bulmak için normal dağılımı örnek olarak alın, yani Farklı olasılıklar altında ayarlanması gereken eşiği alabilir).

Yukarıdaki şekilde normal dağılım eğrisinde gösterildiği gibi, eşiği ortalama rt + 2 standart sapma olarak belirlersek, olasılığın kaba hesaplamasına göre, yüksek rt (1440 dakika * (1-0.9544) ile bir günde yaklaşık 33 dakikalık hizmet olduğunu varsayıyoruz. ) / 2) ve böylece matematiksel olarak makul bir eşik elde edin (mantığın bu kısmı, politika daha sonra tanıtıldığında özellikle açıklanacak olan hizmet güvenliği politikası mantığının yalnızca küçük bir parçasıdır). Bu şekilde, çeşitli hizmetler için, geçmiş izleme verileri elde edilebildiği sürece, bu matematiksel eşik otomatik ve hızlı bir şekilde elde edilebilir.

Esnek planlama mimarisi sistemi

Bu kısım burada aşırı yorumlama olmayacak, bu makalenin diğer kısımları aşağı yukarı söz konusu olacaktır.

Neden üç aşamalı bir karar verme modeli benimsemeli?

İlk olarak, teknenin esnek programlaması için üç seviyeli karar verme sürecini tanıtacağız:

1. İlk katman stratejik karar vermedir Stratejik karar verme katmanı, birçok farklı stratejiden oluşur ve hızlı genişlemeyi destekler. Stratejiler arasındaki mantık tamamen izole edilmiştir.Her strateji hesaplaması tamamlandıktan sonra, eylemler (genişleme, küçülme, değişmemiş) ve miktar bağımsız olarak çıkarılacaktır. Farklı uygulamalar arasındaki heterojenliğe uyum sağlayabilmek için, her bir uygulama grubu da fiili duruma göre farklı stratejiler başlatabilir veya kapatabilir.

2. İkinci katman, toplu karar verme sürecidir. Toplu karar verme, ilk katmanın tüm stratejilerinin karar sonuçlarını toplar ve toplama kurallarına göre bir birleştirme elde eder < Eylem, miktar > grubu. Bu seviyedeki kurallar çok basittir: hem genişleme hem de daralma karar sonuçları olduğunda, genişleme geçerli olacak ve küçülme sonucu göz ardı edilecektir; birden fazla genişleme sonucu olduğunda, en büyük genişletme sayısına sahip sonuç nihai sonuç olacaktır; daha fazlası olduğunda Bir indirgeme sonucu olması durumunda, nihai sonuç olarak daha az sayıda indirgemeli sonuç kullanılır.

3. Üçüncü katman, yürütme kararıdır. Kararın bu bölümü esas olarak bazı kuralları dikkate alacak ve son olarak genişletme ve daraltma hizmetine şunu söyleyecektir: genişletme veya daraltma, kaç konteyner genişletme veya daraltma, eğer ölçeklenecekse, hangilerinin ölçeklenmesi gerektiği Konteyner, eğer genişleme ise, o zaman belirli konteyner özellikleri, bilgisayar odasının genişletilmesi vb. Karar verirken ve hüküm verirken dikkate alınması gereken kurallar çok karmaşıktır. İşte bazı görece önemli kurallar:

  • Makine odasını paylaşma kuralları;

  • Mevcut uygulama gruplama genişletme ve daraltma durumu kuralları, örneğin, bu genişletme ise: Genişleme sürüyorsa, genişletme hedeflerinin sayısı hedef genişletme sayısından daha büyük olduğunda, fark başka bir genişletmeyi başlatmak için kullanılır, böylece paralel genişletme sağlanır; Genişletme hedeflerinin sayısı, genişletme hedeflerinin sayısından az olduğunda, genişletme talebi göz ardı edilir; genişletme devam ediyorsa, ölçeklendirme hemen durdurulacak ve genişletme, hedef konteyner sayısı ve mevcut konteyner sayısına göre başlatılacaktır.

  • Mod kuralları: Esnek planlama şu anda otomatik genişletme ve daraltma modunu ve manuel onay modunu desteklemektedir. Mevcut gruplama manuel onay modundaysa, yöneticinin bu kararı onaylaması gerekecektir.

  • Maksimum ve minimum koruma kuralları: Uygulama grupları maksimum ve minimum değerlerle yapılandırılabilir Yürütme kararı, esnek zamanlama ile başlatılan ölçeklendirme görevlerinin nihai konteyner sayısının maksimumu aşmasına veya minimumdan daha az olmasına neden olmamasını sağlayacaktır.

Ek olarak, yürütme karar katmanı tek bir grup için güçlü bir şekilde tutarlıdır ve ikinci katmanın karar sonucu çıktısı, kümenin ulaşması gereken hedef konteyner sayısıdır.Bu tasarım, ilk iki katmanın tamamen durumsuz ve idempotent olabilmesidir. Anahtar faktör.

Üç aşamalı karar verici, her katmanın yalnızca kendi karar mantığına dikkat etmesini sağlar, "değişim ve değişim" iş mantığını ayırır ve "çaylak uygulamalarının çoğunu kapsayacak şekilde" genişleme ve daralma katman katman nihai kararını doğrular. Hedefin temeli.

Vatansız, idempotent ve yüksek oranda erişilebilir bilgi işlem nasıl elde edilir?

1. Ark'ın esnek çizelgelemesi, büyük bir terfi testini deneyimlemiş ve Cainiao'nun birçok çekirdek işletmesi için eşzamansız görev planlama hizmetleri sunan yüksek düzeyde kullanılabilir bir ara yazılım olarak ISS'ye derinlemesine dayanmaktadır. ISS, işlev, performans ve kararlılık açısından çok güvenilirdir. Ark esnek programlaması, çevrimiçi veri toplama için "kısa frekanslı periyodik aktif çekme" modunu benimser ISS tarafından sağlanan periyodik asenkron görev çağrısı fonksiyonu vasıtasıyla, esnekliğe erişilirken her uygulama grubu için otomatik olarak bağımsız bir ISS periyodu kaydedilir. görev. ISS bir görevi başlattığında, hedef kümeden rastgele seçer, yürütme sırasında görevin yaşam döngüsünü yönetir ve görevin yeniden denemesini destekler. Ek olarak, ISS istemcisi kaynak koruma yetenekleri de sağlar.Kümedeki bir işlem baskı altında olduğunda, hedef makinenin yerini alacak ve tekrar deneyecektir.

2. Ark'ın esnek planlamasının çevrimiçi hesaplama verileri, yerleşik izleme sistemi simetriklerinden gelir. Alimetrics, çok sayıda izleme öğesi içeren web kapsayıcısına eşlik eden gömülü bir ölçüm sistemidir. Uygulama gruplarının ayrıntılı izleme verilerini elde etmek gerektiğinde, bu veri sorgulama, okuma ve aktarım basıncı, merkezi bir veri merkezi yerine her bir hedef konteynere tahsis edilir.Bu tasarım, veri kaynağını tek bir Nokta, veri kaynaklarının güvenilirliği ve stres toleransı, merkezi bir veri hizmetine güvenmekten çok daha üstündür.

3. Hataları filtrelemek için, tüm hesaplamalar daha büyük veya daha küçük kayan zaman pencerelerine dayanmaktadır. Simetrikler aracılığıyla kısa bir zaman aralığında (1 saat içinde) veri elde etmek çok yüksek performansa sahip olabilir ve uygulamaya çok az müdahale edebilir, bu da hesaplamaları yeniden deneme maliyetini düşürür. Bu beceriye dayalı olarak, esnek zamanlama hesaplama görevleri, esnek zamanlama hesaplamasının durumsuz temeli olan, kendi belleğinde kayan bir pencere sürdürmeden, her yürütüldüğünde bir zaman penceresinde tüm izleme verilerini alabilir;

4. Esnek planlama için üç katmanlı karar vericide, üçüncü katman, diğer iki katmandan farklı kümelerde konuşlandırılır. Uygulama gruplama durumundan bağımsız olarak, birinci ve ikinci katmanlar kısa frekanslı periyodik hesaplamalar yapmalıdır ve yalnızca genişletme ve daraltma gerektiğinde (günün yalnızca küçük bir kısmı) görevler üçüncü tarafa gönderilecektir. Bu nedenle, güçlü tutarlılık aralığı, güvenilirlik sağlarken performans üzerinde en az etkiye sahip olan üçüncü katmanla sınırlıdır. İkinci katmandan üçüncü katmana çıkarılan kararların sayısı, "ölçekleme kapasitesi" yerine "hedef konteyner numarası" şeklinde verilir, böylece bir uygulama grubu için aynı anda birden fazla esnek karar görevi olsa bile Yürütme sırasında, üçüncü katmana birden fazla karar sonucunun çıkarılması, nihai genişleme ve daralma davranışını etkilemeyecektir.

Karar stratejisi

Ark'ın esnek planlamasının karar stratejisi hızlı yatay genişlemeyi desteklemektedir. Şu anda birden fazla karar stratejisi içermektedir ve bunlardan bazıları test ve doğrulama aşamasındadır. İşte aynı zamanda ilk çevrimiçi olan en temel stratejilerden birkaçı:

Kaynak güvenliği stratejisi

Kaynak güvenliği politikası, sistem kaynaklarının kullanımına odaklanır. Şu anda, önceki işletim ve bakım deneyimine ve Cainiao'nun iş özelliklerine dayalı olarak, kaynak güvenliği stratejisi CPU, LOAD1 ve Process Running kuyruğunun üç sistem parametresine odaklanmaktadır. Bunlardan birden fazlası, son zaman penceresindeki küme ortalaması (aksaklıkların ve düzensiz trafiğin etkisini ortadan kaldırmak için) üst eşiği ihlal ettiğinde (kişiselleştirilmiş yapılandırmayı destekler), genişletmeyi başlatın. Birden fazla ihlal olduğunda, en fazla genişletme sayısına sahip öğeyi geçerli politika karar sonucu olarak alın (sayı hesaplama yöntemi daha sonra verilir).

Yukarıdaki şekil, bir kaynak güvenlik politikası genişletme sonucunu aldığında kaynak kullanımıdır.

Kaynak optimizasyonu stratejisi

Kaynak optimizasyonu stratejisi, sistem kaynaklarının kullanımına da dikkat eder, ancak sistem boştayken kaynakları kurtarmak için vardır. Ayrıca yukarıdaki üç sistem parametresine de dikkat edin, bu üç öğe aynı anda alt eşikten düşük olduğunda, küçültmeyi başlatın. İkinci düzey karar vericinin varlığı nedeniyle, diğer karar vericiler kapasite artırımı talep ettiğinde, kaynak optimizasyonu stratejisi tarafından üretilen kapasite azaltma talebinin bastırılacağını unutmayın.

Yukarıdaki şekil, bir kaynak optimizasyonu stratejisinin küçülme sonucunu aldığında kaynak kullanımıdır.

Zaman stratejisi

Mevcut esnek karar verme modeli bir sonradır, yani genişletme ancak eşik ihlal edildikten sonra başlatılır. Bazı işletmeler için, bazı programlanmış bilgi işlem görevleri gibi düzenli trafik dalgalanmaları yaşanır. Otomatik politika yapılandırması, uygulamanın geçmiş trafik değişikliklerine dayanmaktadır.Trafik değişikliklerinin periyodik olduğu ve değişimin çok büyük olduğu ve posterior esnekliğin zamanında yetişemediği belirlendiğinde, bu grup için yani günlük olarak bir zaman politikası yapılandırması oluşturulacaktır. Belirli bir süre içinde küme kapsayıcılarının sayısını belirli bir sayının üzerinde tutun. İkinci düzey karar vericinin varlığından dolayı, diğer stratejiler bu süre boyunca gereken konteyner sayısının belirtilen konfigürasyon sayısından daha fazla olduğunu belirlediğinde, sonuç daha büyük olacaktır; ve bu süre zarfında, zaman stratejisi nedeniyle Genişletme sonuçlarını oluşturmaya devam edin (sayı karşılanırsa, genişletme kararları oluşturun, ancak sayı 0'dır) ve küçültme kararlarının diğer sonuçları sürekli olarak bastırılır.

Hizmet güvenliği politikası

Hizmet güvenliği stratejisi şu anda en karmaşık stratejidir. Şu anda hizmetler arasında ileti kuyruğu Tüketici, RPC hizmeti ve HTTP hizmeti bulunmaktadır. Genişletme görevlerinin en az yarısı her gün hizmet güvenliği politikası tarafından başlatılır.

Qps veya rt'yi seçin.

Birçok esnek zamanlama sistemi, en önemli husus olarak hizmetin qps'sini seçecektir.Ancak, bir dizi ön düşünce ve tartışmadan sonra, aşağıdaki nedenlerle qps'yi terk etmeye ve rt'yi kullanmaya karar verdik:

1. Qps bir hizmet değişkenidir ve değişiklikleri kullanıcının kullanımı ile sınırlıdır. Şu anda qps'nin xx işi için makul olup olmadığına karar verebilirsiniz, ancak sistem için, hizmet başarı oranı ve rt makul bir aralıkta olduğu sürece, herhangi bir qps değeri makuldür. Başka bir deyişle, mevcut toplam qps, işletmenin sağlığını değerlendirmek için temel olarak kullanılabilir, ancak sistemin sağlığını değerlendirmek için temel olarak kullanılamaz (dar anlamda) (tek bir makinenin maksimum kabul edilebilir qps'si bundan farklıdır, farka dikkat edin). rt ve hizmet başarı oranı, bir hizmetin en temel performans özellikleridir.

2. Mevcut konteyner sayısı, kaynaklar tamamen izole edildiğinde ve her sorgu tarafından kullanılan kaynaklar hemen hemen eşit olduğunda oluşturulan tek bir makinenin mevcut qps ve maksimum tolere edilebilir qps'si ile elde edilir. Çaylak başvurusu için:

  • Çoğu temel uygulama, çapraz iş bağlantılarıdır ve çeşitli şekillerde hizmet verir. Bir veri sorgulama hizmeti ve iş operasyonlarını içeren bir hizmet muhtemelen aynı uygulama grubunda görünecektir Bu zamanda, toplam qps kavramı anlamsız hale gelir ve farklı hizmetler için bireysel talepler ve kaynaklar arasındaki ilişkiyi elde etmek imkansızdır.

  • Mevcut konteyner izolasyon etkisi özellikle mükemmel değil.Tam bağlantılı stres testinde, homojen kaynakları aynı fiziksel makine konteyneri ile kullanma olgusu genellikle birbirleriyle rekabet ediyor gibi görünmektedir ve bu da gerçek çevrimiçi çalışma ortamını ve tek makineli performans stres testi ortamını imkansız kılmaktadır. Aynı şekilde, bağımsız performans basınç testi verilerinin referans önemi şüphelidir.

  • Hizmetler herhangi bir zamanda değişebilir ve bağımsız bir makinenin performans basınç testi, bir değişiklik meydana geldiğinde her zaman izlenemez ve zamanlılık garanti edilemez.

Eşik karşılaştırması ve çok hizmetli oylama

Toplu hizmetler için rt eşiğinin otomatik olarak nasıl yapılandırılacağı önceki örnekte zaten tanıtılmıştır ve burada tekrarlanmayacaktır. Bununla birlikte, bu eşik ayarı yalnızca matematiksel "makul bir eşik" olduğundan, onu değiştirmek için başka araçlara ihtiyaç duyulduğu belirtilmelidir. Bu nedenle, başka bir varsayım getiriyoruz: rt, yetersiz kaynakların neden olduğu eşiği ihlal ederse, gruptaki tüm hizmetler etkilenecektir. Bunun nedeni, uygulama grubundaki hizmetler arasında kullanılan kaynakların izole edilmemiş olmasıdır. Aynı sistem ortamını kullanmaları (etkilenen, tüm hizmetlerin eşiği ihlal edeceği anlamına gelmez. Farklı hizmetler, farklı kaynak türlerine dayanır. Kaynak kıtlığı toleransı da farklıdır).

Bu nedenle, rt kararları vermek için bir "çoklu hizmet oylama" modeli benimsiyoruz. Her hizmet bağımsız bir eşik karşılaştırması yapar.Toplam hizmetlerin eşiğini ihlal eden rt oranı belli bir seviyeye ulaştığında genişletme kararı verilir Hizmet güvenliği kararının genişletme sayısı eşik ihlali ile belirlenir (ihlal yüzdesi ile hesaplanır). Servis kararı.

Gerçek işlemden yola çıkarak, "hizmet eşiği ihlal ettiği sürece genişleme" modunda çalışırken, yanlış genişletme ve çoklu genişletme sıklığı çok yüksektir ve bu "çok hizmetli oylama" modunun kullanılmasından sonra, yanlış genişletme , Çoklu genişletme temelde ortadan kaldırılır (aslında, bir genişletmenin yanlış genişletme olup olmadığına manuel olarak karar verilirse, bu mod genellikle çoklu genişletme olduğunda kullanılır ve aynı anda birden fazla hizmetin rt'si yüksek bulunursa, genişletme makul kabul edilir). Ek olarak, bir uygulama grubu ne kadar çok hizmet sağlarsa, bu modun etkisi o kadar iyi olur.

Aşağı akış analizi

Tüm BT ihlali eşikleri genişletme gerektirmez. Bağımlı ara yazılım veya aşağı akış hizmetlerinin neden olduğu RT artışı sorunu çözmez ve hatta daha kötü etkilere neden olabilir (örneğin, db iş parçacığı havuzu dolu) . Bu nedenle, hizmet güvenliği politikasının hesaplanması sırasında, bir hizmetin eşiğini ihlal ettiği tespit edilirse, önce aşağı akış bağımlı hizmetlerini ve ara yazılım çağrısının kendi SLA'sını ihlal edip etmediğini sorgular.Sadece hizmetin kendisi eşiği ihlal ettiğinde, ancak aşağı akış hizmetleri ve Ara yazılım eşiği ihlal etmediğinde, genişletme oylamasına katılacaktır. Çevrimdışı görev, geçmiş verilere dayanarak hizmetin sla'sını hesapladığında, bağımlı hizmetlerinin ve ara katman yazılımının eşiğini de hesaplar.Bağlantı yapısı verileri Eagle Eye'ın çevrimdışı verilerinden gelir.

Diğer bazı özel konular

Çapaklarla nasıl baş edilir?

Esnek zamanlama, genişletmenin yeterince zamanında olmasını sağlamalıdır, ancak aynı zamanda sistem arızalarına karşı yeterli toleransa sahip olmalıdır, aksi takdirde yanlış genişlemeye ve daralmaya neden olur. Aksaklık, gerçek ortamda yaygın bir fenomendir.Sadece düzensiz trafik ve ağ titreşimi gibi çevresel problemler hatalara neden olmaz, aynı zamanda izleme istatistikleri sistemindeki olası anormallikler ve hatalar da aksaklıklara neden olabilir.

Bu nedenle, Ark'ın esnek planlaması, herhangi bir hesaplama yapılırken hesaplama kaynağı olarak zaman penceresi verilerini sunacak ve her bir zaman bloğunun verileri, bir kümedeki tüm kapların verilerini içerir:

Hesaplanırken, gerekli her bir izleme öğesi için, zaman penceresindeki maksimum ve minimum değerler kaldırılacak ve ardından çapakların etkisini silmek için ortalama alınacaktır. Ek olarak, zaman penceresinin boyutu çapak giderme ve zamanındalık üzerinde büyük bir etkiye sahiptir. Şu anda, Ark'ın esnek programlamasında 5 dakika ve 10 dakikalık iki farklı zaman penceresi var. Genişlemeye neden olabilecek stratejiler için daha küçük bir zaman aralığı seçin ve küçülmeye neden olabilecek stratejiler için daha geniş bir zaman aralığı seçin (genişlemenin küçülmekten daha radikal olacağını umuyoruz).

Genleşme ve daralma sayısı nasıl hesaplanır?

Genişletme veya daralma konusunda karar verdikten sonra, ikinci adım genişletme sayısını belirlemektir. Önce küçülmeyi tanıtın. Çekme hızı genişlemeye göre nispeten hızlı olduğundan ve yavaş küçülme kararlılığı etkilemediğinden, Ark'ın esnek çizelgesi küçültmeye karar verildiği sürece "küçük adım ve hızlı çalışma" yönteminin kullanımını küçültür, o zaman Sabit çekmeli konteyner sayısı, kümedeki mevcut konteyner sayısının% 10'u kadardır.

Genişletme sayısının yargısı, küçültmekten çok daha karmaşıktır Burada, en yaygın eşik karşılaştırma stratejisinin nicel kararını örnek olarak alıyoruz. İlk olarak, büyük bir ilkeyi tanımlayın: her seferinde maksimum genişletme sayısı, kümedeki mevcut konteyner sayısının% 50'sini geçmemelidir. Bu aralıkta, eşik ihlali ne kadar yüksek olursa, genişletilmiş konteyner sayısı o kadar fazla olur. Bu nedenle, burada sigmoid işlevini tanıtıyoruz, hesaplama sonucunu belirli bir dönüşümle 0 ile 0.5 arasında yapıyoruz ve genişleme yüzdesini elde etmek için sigmoid işlevine bir girdi olarak eşik ihlali yüzdesini değiştiriyoruz (tabii ki bazı parametre ayarlamaları yapılacaktır) .

Sigmoid işlevi, 0 ile 1 arasında değişen bir eğridir ve genellikle verilerin normalizasyon hesaplamasında kullanılır. F (x) = sigmoid (x) -0.5 için, x > 0'da, bu işlevin değeri 0 ile 0,5 arasındadır.

CPU kullanımı gibi veriler için bir fark, bu öğenin maksimum değerinin 100'ü geçmemesi ve bir üst sınır olması; hizmet rt gibi verilerin bir üst sınırı olmamasıdır. Açıktır ki, aynı formülü kullanmak, CPU tarafından tetiklenen genişletme sayısının, hizmet rt tarafından tetiklenen genişletme sayısından daha az olmasına neden olacaktır. Şu anda tek bir hedefin belirlenmesi gerekiyor. Örneğin, CPU kullanımı% 80'e ulaştığında, yani ihlal derecesi (% 80-eşik) / eşik olduğunda, genişletme oranının% 50'ye yakın olduğunu umuyoruz. Bu hedefe göre f (x) tersine çevrilir. A katsayısı hesaplama ile elde edilebilir ve beklenen sonuç, CPU için genişletme sayısı hesaplanırken a katsayısı girilerek elde edilebilir.

Bağlantı kapasitesinin esnekliği nasıl gerçekleştirilir?

Bağlantıdaki tüm uygulama paketlerinin esnekliğe erişimi olduğu sürece, bu bağlantının kapasitesinin de esnek olduğu düşünülebilir.

Büyük tanıtım sahnesiyle nasıl başa çıkılır?

Ark, "konteyner planı" ve esnek zamanlama işbirliği ile büyük promosyon için eksiksiz bir kaynak yönetimi çözümü sağlar. Kapsayıcı planı, her uygulama sahibinin promosyonun belirli bir dönemi içinde (stres testi ve promosyon dönemi dahil) kapasite için başvurmasına olanak tanır. Esnek uygulama gruplarına erişim büyük promosyon dönemine girdiğinde, elastik zamanlamanın genişletme ve daraltma modu derhal manuel onay moduna geçecek ve küme konteynerlerinin sayısı konteyner planının talep ettiği sayıya genişletilecektir. Büyük promosyon dönemi sona erdiğinde, esnek olmayan uygulama grupları doğrudan orijinal konteyner sayısına indirilecek; esnek uygulama grupları ise esnek stratejiler yoluyla kaynakları yavaş yavaş geri kazanacaktır.

Büyük terfi döneminde, esnek zamanlama otomatik olarak genişlemese veya daralmasa da, genişletme veya sözleşme yapma kararı halen devam etmektedir. Esnek planlama, yöneticiye veya büyük promosyon karar verme ekibine kapsayıcı genişletme ve daraltma önerileri yayınlamaya devam edecek. Bir yandan, trafik beklentileri aştığında ve kaynaklar yetersiz olduğunda, derhal uyaracak ve önerilen miktarda genişletme sağlayacaktır. Ayrıca yöneticiye bazı kaynakların zamanında uygulanmasına yardımcı olabilir. Geri dönüşüm, kararların küçülmesine yardımcı olmak için.

Esnek planlama, işletmenin gelişimini nasıl teşvik eder?

İşletmenin gelişimini teşvik etmek için esnek zamanlama hedefimiz olmuştur ve bizim için ancak bu şekilde gerçek bir kapalı iş döngüsü oluşturabiliriz. Bu tanıtım, esas olarak veri analizi yoluyla gerçekleştirilmektedir. Şu anda, esnek programlama aşağıdaki veri türlerini üretecektir:

  • rt | Kaynak alaka düzeyi, hizmet rt ve CPU ve diğer sistem kaynak kullanım oranları arasındaki korelasyon derecesini yansıtır.İlinti derecesi ne kadar yüksekse, hizmet kullanımı kaynaklara o kadar duyarlı ve esnek zamanlama kullanmanın faydaları o kadar açık olur;

  • Ara yazılım kararlılığı, eşiği aşan ara yazılımın neden olduğu hizmet rt ihlalini yansıtır. Hizmet rt'sinin artması hizmetin kullanılabilirliğini doğrudan etkilediğinden, bu veriler çok yüksek olduğunda ara yazılım kullanımının kontrol edilmesi ve optimize edilmesi önerilir;

  • Aşağı akış kararlılığı, alt akış hizmetinin eşiği aşmasının neden olduğu hizmet rt ihlalini yansıtır. Bu veriler çok yüksek olduğunda, aşağı akış hizmet kararlılığı yükseltmelerini teşvik etmek veya aşağı akış esnekliğini teşvik etmek için mevcut uygulamaları önerecektir;

  • Uygulama başlangıcı zamanında, bir kapasite genişletme görevi, uygulama örneği başlatılıncaya ve normal olarak hizmet verilinceye kadar başarılı olarak kabul edilir.Uygulama başlatma süresi ne kadar kısaysa, esnek zamanlamanın genişletilmesi o kadar zamanında ve trafik zirvesi olduğunda en hızlı koruma

  • Makul akım sınırlayıcı konfigürasyon. Birçok bağlı uygulamanın, hizmet rt'si normal aralıkta olduğunda ve sistem kaynak kullanımı son derece düşük olduğunda yapılandırılmış akım sınırlarını tetiklediğini bulduk.Bu durumda, uygulamanın makul iş analizi yapmasını önereceğiz Ve mevcut limit yapılandırmasını ayarlamak için test edin.

gelecekteki gelişme

Şu anda, Ark'ın esnek planlaması hala geliştirme ve büyüme sürecindedir ve bazı uygulamaların zamanlama etkisinin daha da iyileştirilmesi gerekmektedir. Ayrıca, kapsayıcılar, zamanlama ve ara katman teknolojileri hakkında daha fazla bilgi sahibi olan daha fazla çocuk ayakkabısının bir araya gelip birlikte çalışmasını bekliyoruz. Teslim posta kutusunu devam ettirin: jian.weng@alibaba-inc.com Bunu dört gözle bekliyoruz ~

8 yıl Çin'e girdikten sonra Toyota RAV4 ne tür cevaplar verdi?
önceki
İngiltere'nin istihdamdaki en büyük başarısızlığı: 6 maçta 0 gol, Manchester City forvet nasıl ana güç haline geldi?
Sonraki
Ferrari geliştirme tarihi: Enzo Ferrari'nin efsanevi yaşamına tanıklık etti
Rockets'ın en büyük başarısızlığı I.Dünya Savaşı'nda tespit edildi ve Paul öfkeliydi! Morey onu Yeni Yılda tutuyor mu?
"Wembiya" yaklaştı, Jinshan Bölgesi, depolama kapasitesi oluşturmak, sakinleri tahliye etmek ve yerleştirmek için acilen suyu boşalttı
Ulusal Futbol Asya Kupası'nın en büyük boncuğu! Bir dakikadır oynamadı ama taraftarlar bunu dört gözle bekliyorlardı!
Sohu'nun web sitesinin dışında bir çiftliği mi var? Dün, Pentium X40 sürücüleri bütün gün oradaydı
Real Madrid bu yaz iki büyük şey yapacak mı? Cristiano Ronaldo BBC'yi dağılmak üzere terk ediyor ve şimdi bazı üyeler de ayrılmayı düşünüyor
Mahayana G70S'nin geçmişi ve bugünü, Damai X7 için gerçekten çapraz giyinme oyunu mu?
Houston Clippers? Harden'in rokette bulunmaması ölümcül bir tehlikeyi ortaya çıkarır! Paul bunu kendi başına yapabilir mi?
Fengning otlak yazında kendi kendine sürüş turu, neden bu SUV'u kullanasınız?
Dünya Kupası Altın Küre Ödülü teselli ödülü mü oluyor? Üst üste 5 kez şampiyon olmayan oyunculara verilen ödül, 3
Copa America kurası milli futbol takımı tarafından öfkeyle eleştirildi: Doğduğunuz yıl utanmayın!
Wade Jr. Thomas All-Star adayı oldu, ancak Amerikalı netizenler aynı fikirde olmayı reddetti: Bu çok mu fazla?
To Top