12 yıldır çalışmak, BT mimarisinin özünden bahsedin: beş düşüncem

Yazar Cao Yameng

Önsöz

Mimar sıkıcı bir iş

Yaşlı keşiş otuz yıl önce Zen'e gitmediğinde dağları dağlar, suyu su olarak gördü.

Daha sonra bilgiyi görünce içeri girip çıktım.Dağı görmek dağ değildir ve su görmek su değildir.

Şimdi bir dinlenme yerim var, dağların hemen önünde dağları görmek, suyun sadece su olduğunu görmek.

Zen Zen'in üçlü alanı, BT teknoloji çemberinde de geçerlidir. Yeni başlayanlar, her ürünün çok zarif olduğundan, en güçlü IDE'nin peşinden koştuğundan, eski sürücüler ülkeyi yönlendirmek ve en iyi dille dalga geçmek için kendi kendini karşılaştırmayı sever; her şey düzleştiğinde BT bir düşünme uzantısı ve dil çevirisi işidir; bunların arasında teknik mimar, basit ve hatta sıkıcı bir iştir.

Mimarın çalışmasının beş temel ilkesini özetledim. Bu beş deneyim basit, anlaşılır ve derin ve on iki yıllık BT çalışmalarımın bir özeti.

Resim açıklaması: Mimari teknolojisi, bir çocuğu kandıran bir robot kadar basit

1. Talep optimizasyonu en önemli şeydir

Daha az kontrol edin, daha az yazın, daha az güvenin, Daha az daha çoktur

Bir BT sistemi çok rollü, çok modüllü, hiyerarşik ve hiyerarşiktir.Örneğin, OSI modelinin üst uygulaması basitçe daha düşük desteğe dayanır.SOA tasarımında, aynı seviyedeki roller yalnızca diğer tarafın arayüzüne bakar.

Her rol, hızlı iş gerçekleştirmeyi kolaylaştırmak için açıkça bölünmüştür, ancak aynı zamanda mimarinin optimizasyonu için büyük bir boşluk yaratır. En alttaki kör destek, büyük bir kaynak israfıdır ve yatay zamanlama ve işbirliğinde esneklik yoktur. Ön uçtaki küçük bir mantık gereksinimi, arka uçta büyük ölçekli bir bağlantıya yol açar ve farklı hizmetlerin birbirlerinin bellek verilerini anlama yetkisi yoktur.Her roldeki mühendisler yalnızca iş kapsamlarına bakar.Bu normal ve çaresiz bir durumdur.

Mimari tasarımda yapmak istediğimiz en önemli şey, gereksinimleri azaltmak, üst seviye uygulamaların gereksinimlerini optimize etmek ve silmek, böylece aynı seviyedeki iş hataya dayanıklı olabilir. Üst düzey talep optimizasyonu, yani ön uçta daha az girdi ve arka uçta daha az sorgu ve daha fazla hata toleransı bulunurken, aynı düzeyde hata toleransı uygulamalar arasındaki talep optimizasyonu olarak kabul edilebilir.Örneğin, iki hizmet idempotent olabilir ve yeniden deneme, ayırma için iyidir ve A sistemi B sistemini bekleyecektir Çıkmaza kadar beklemek mimari bir trajedidir.

Bir e-ticaret ERP sistemi kullanıcısı sorgu düğmesine bir kez tıklar ve arka uç sistemi bir sorgu için veritabanını kilitler; gerçek işlemde sistem ne kadar yavaşsa, kullanıcı sorgu düğmesini tekrar tekrar tıklar ve daha fazla paralel sorgu, arka uç hızı o kadar yavaş olur. Bu ortamın mimarisini optimize etmek için, öncelikle gerçek kişilerin gerçek zamanlı verilere ihtiyaç duymadığını anlamalıyız.ERP istemcisi, sorgu düğmesini her 15 saniyede bir tıklanacak şekilde sınırlar.Web erişim katmanı, her oturumu dakika başına yalnızca bir sorgu ile sınırlar. Veritabanı bağlantı kitaplığında bir kontrol stratejisi katmanı oluşturun.

Multimedya servis mühendisleri için en iyi Sevgililer Günü hediyesi mükemmel bir oynatıcıdır; self servis hata toleransı için CDN'yi seçebilir, sonraki dakika talep üzerine içeriği aktif olarak önbelleğe alabilir, özel şifre çözme kodlamasını tamamlayabilir ve reklam sisteminden bağımsız olarak ayrıştırılıp yüklenebilir , Hattı değiştirip kütüğü takılı kaldığında saklayabilirsiniz ve hem reklam günlüğü hem de takılan günlüğü arka planda düşük hızda ve zamanında yüklenir.

Resimlerle açıklama: Temel talepleri kavrayın ve istememeniz gereken hiçbir şeyi istemeyin

2. Küme tasarımı için genel kurallar

Ön uç çoğaltma ve arka uç sökme, eşzamansız, üç bileşenli değiş tokuşa gerçek zamanlı değişiklik

Ön uç çoğaltma ve arka uç yıkımı, eşzamansız hale gerçek zamanlı değişim, birbirinin yerine geçebilen IO hesaplama güç alanı - mimari kümeleme gerektirir ve küme tasarımı ayarı üç püf noktasıdır:

Ön uç, ardışık düzen mantıktır ve arka uç, durumdur, bu nedenle ön uç, arka ucu kopyalar. Ön uç sunucu ağır baskı altında olduğunda, daha fazla yatay çoğaltma ve genişletme yapın Web sitesi uygulamalarında, durumsuz oturum tutma esnek ölçeklendirme ve diğer teknoloji uygulamaları yeterlidir. Arka ucu kümelemek, daha fazla iş bölmesi yapmaktır. Yaygın olanı, veritabanı bölme, tablo bölme ve anahtar değeri bölmedir. Hizmet bölmeleri ne kadar dağınıksa, mikro işlemler o kadar iyidir, ancak genel işlem yükü daha büyüktür ve kontrol edilmesi daha zordur.

Asenkrona gerçek zamanlı değişim, öğrendiğim son BT teknolojisidir. "Gerçek zamanlı işlemlerin" çoğu iş gereksinimleri değildir, ancak bir uygulama arka uç ve eş durumunu göremez ve sonuçlar varsayılan olarak gerçek zamanlı olarak işlenir. CS modunun gerçek zamanlı çalışması, destek hizmetine muazzam bir baskı getirecek ve Akran işbirliğinin gerçek zamanlı çalışması, veri başvuru sahibini bir gecede bekletebilir. Mimar, beyinsiz büyük bir işlemi çok sayıda küçük işleme ayırır. Bu, eşzamansız bir mimaridir, ancak bir işlemi bölmek, bir veri tablosunu bölmekle aynıdır.Küçük işlemlerin bölünmesi, daha yüksek bir işletme düzeyinde küresel işlem koruması gerektirir.

Küme performans planlamasında, ağ ve sabit disk IO + CPU hesaplama gücü + disk ve bellek alanı birbirinin yerine kullanılabilir ve mimar, eksiklikleri giderme seçimini tamamlamalıdır. Örneğin, veri sıkıştırma teknolojisi, GÇ'yi ve alanı değiştirmek için bilgi işlem kaynaklarını kullanır ve önbellek teknolojisi, bilgi işlem gücündeki baskıyı azaltmak için alan ve GÇ kullanır.Her yeni seçim ayrıntıda binlerce değişiklik getirecektir, ancak her değişiklik tutarlıdır Doğa kanunlarına uymanın kuralları vardır. Klasik bir mikrobilgisayar sistemi, merkezi işlem birimi + ana bellek + IO cihazıdır ve bu kavramlar aslında küme performans planlamasına karşılık gelir.

Resim açıklaması: Yaygın mimari teknikler, hava valsi kadar doğal ve zariftir.

3. Donanımın doğasını anlayın

Rol seçimi, donanımın doğal özelliklerine bağlıdır

Sabit sürücünün performans taşımasına izin vermeyin, belleğin uzun süre kalmasına izin vermeyin, ağ kablosunun kararlılık taşımasına izin vermeyin.

Mimari katman yazılım teknolojisi yeterince olgunlaşmıştır.Sözde teknoloji seçimi sahneye uyum sağlamak için daha iyidir; belirli bir rol seçimi yaparken, en derinlemesine ve en kolay gözden kaçan ilke donanımın doğasına uymaktır.

Ruhani akıl hocam, bir hizmet sabit disklere dayanıyorsa, bu hizmetin performans baskısı için uygun olmadığını söyledi. Sıklıkla / dev / shm'ye okuma ve yazma diyorum; SSD sürücüler birçok detayı hiç yoktan daha iyi yapar ve Fat32'nin ilkbaharda çıkmaza girmesine izin verir; bireysel kuyruklar ve dağıtılmış depolama, sabit sürücülerin performansıyla ilgilenir, ancak hepsi sıralı okuma ve yazma içeriği uygular ve bunlar uygulamaz. Disk alanı israfına dikkat edin.

Belleğin uzun süre dayanmasına izin vermeyin ve ağ kablosunun sabit olmasına izin vermeyin. Kulağa basit geliyor, ancak acemi programcılar her zaman düşük düzeyde hatalar yapacak ve er ya da geç teknik borç ödemek zorunda kalacaklar. Yaygın bir örnek, acemi programların çeşitli istisnaları yakalama alışkanlığına sahip olup olmadığını görmektir. Tartışmalı bir örnek için, bazı bulut hizmeti tasarımcıları kalıcı bir dosya sistemini bir işleme eşleyip bir sürece bağlamayı dener. Bir bellek parçasını bir sabit diske nasıl bağlarım?

Resimli açıklama: Doğa söz konusu olduğunda, aklıma her zaman sorunsuz koşan Xiao Po Niu gelir

4. Verilerin oluşturulması ve kaybolması

Veriler ince havadan oluşturulmayacak, ancak havadan kaybolacak

Veriler basit havadan oluşturulmayacaktır.Bilgisayarlar, giriş cihazlarından veri alır veya diğer veri kaynaklarından veri alır ve orijinal veriler için dönüştürme kuralları insanlar tarafından tanımlanmalıdır. Verileri rahat, hafif, güvenli ve güvenilir bir şekilde elde etmek için veri kaynağını seçmeli, aktarım yolunu sağlamalı ve veri dönüştürme kurallarını tanımlamalıyız.

Bir veri yaşam döngüsünde, verilerin tamamının veya bir kısmının ortadan kaybolmasını önlemek için, hataya dayanıklı doğrulama, ilgili geri yükleme, soğuk ve sıcak yedekleme ve verilerin güvenli bir şekilde silinmesi dikkate alınmalıdır.

Sıradışı işin planlanması ve uygulanması sırasında, hiç kimse bize hangi hizmetlere sahip olacağımızı söylemiyor.Kümedeki rolleri ve bağımlılıkları yalnızca erişim mantığı diyagramını ve veri yaşam döngüsünü birbiri ardına keşfederek keşfedebiliriz.

Mimarın temel becerileri arasında iyi bir erişim mantığı ve veri akış şeması çizmek vardır.Sorunun mevcut durumu açıkça tanımlandığı için sorunun yarısından fazlası çözülmüştür. İyi bir iş erişim mantığı diyagramı yalnızca birkaç daire ve çizgi ile bağlantılı değildir, aynı zamanda bilgi miktarı erişim sürecinin tüm unsurlarını içerecek kadar büyüktür ve kilit noktalar ayrıntılı olarak vurgulanmalıdır.

Resimli açıklama: Huh? Veriler alındı. Evet, götürüldü Ne tesadüf, bir şey yapmak istemiyor muyuz?

5. Tüm bağlantılara körü körüne inanmayın

Felaket kurtarma tasarımında her şeyi yapın ve kadere itaat edin

Tüm BT sisteminde güvenilir bileşenler yoktur.Mimarlar ne büyük şansa körü körüne güvenebilirler ne de sonsuz fazlalıkla kendilerini korkutabilirler, ancak kendi işlerini yapmakla kadere itaat etmek arasında iyi bir denge kurabilirler. Örneğin, TCP güvenilir bir bağlantı kurmaktır ve şimdi performans optimizasyonu yaparken herkes TCP'nin çok hantal olduğunu düşünüyor.

  • İş uygulamaları güvenilmezdir.Uygulama diğer uygulamaları engellemeden hızlı bir şekilde yeniden oluşturulabilirse, ara sıra aylık bellek sızıntıları ve kazayla oluşan çökmeler kabul edilebilir.
  • Destek hizmetleri güvenilmezdir. Çoğu işletme için yılda bir kez veri kaybı yaşanmadığı ve SLA'nın% 99,95'e ulaşabileceği tahmin edilmektedir.
  • İşletim sistemi çöktü ve çöktü.Şimdi ticari sistem çekirdekleri çok kararlı.Genel olarak, hatalar donanım sürücülerinin uyumluluğundan kaynaklanıyor veya kitabı izleyen bazı aptallar, varsayılan parametreleri rastgele değiştiriyor.
  • Ağ istikrarsızdır ve dahili ağ için genel teknik çözüm olgunlaşmıştır. Dahili ağ, karmaşık gereksinimlerden bahsetmeden çok kararlı olabilir. En can sıkıcı şeyimiz, tek bir ağ kablosunun yarı ölü durumda olmasıdır; IDC'nin harici ağ SLA'sı varsayılan olarak 39sn'dir, bu yüzden destek dedim Cinsel hizmetler% 99,95'e ulaşabilir ve zaten çok güvenilirdir.
  • Donanım dengesizdir. Çoğu mimar donanımı hiç anlamaz.Donanımda toplu bir arıza olmadığı sürece, mimar güvenilirlik tasarımı için tek noktalı donanımı sisteme ve hizmete bağlayabilir.
  • İnsan gücünün yanlış işleyişi, başarısız olamayan insanları işe alamayız ve hata yok standardına ulaşamıyorum. Çalışanlar kötü niyetle sabote edilmedikleri sürece, büyük ölçekli bir başarısızlık, küme sağlamlığı tasarımının yerinde olmadığı anlamına gelir.Operatörün teknik direktör ve mimara bir sözleşme vermesine izin vermeyin.
  • İzleme ve yedekleme, işletim ve bakımın sorumluluklarıdır, ancak mimarın amacın doğruluğunu onaylamaya yardımcı olması gerekir.Atık verileri uzun süre yedeklemeyin.Sadece telnet80 izleyin.
  • Resimlerle açıklama: Sorun çıkaranlar kadar, hatta daha fazlası kadar rol vardır.

    son sözler

    Mimari hantal ve mimari basit

    Bu makale mimarlık çalışmasının "dao'sundan" bahsediyor ve mimarinin "tekniği" nden bahsetmiyor. Farklı iş sistemlerinin mimarisi tamamen farklıdır ve özetlemek ve öğrenmek için kullanılabilecek yalnızca birkaç basit ilke vardır.

    Bir mimar, yapıyı optimize etmenin belirli bir yöntemini gösteriyorsa, ancak seçimin mantığından bahsetmiyorsa, aslında şirketin işi ile kumar oynamaya çalışıyor demektir.

    Düşüncemizi destekleyecek bir yapımız varsa, yeni bir iş türünü devralsak bile, Pao Ding inekleri çözebilir ve domuzları öldürebilir ve bunu kolaylıkla yapabiliriz. Bir zamanlar üç tür belirsiz işi devralmıştım.Bu makalenin ilkelerine göre sökmek ve planlamak, özellikle zor olan bir şey yok.

    Resimli açıklama: Panik yapmadan uçalım!

    Shimin bulut bilişimden bahsediyor: 5G hakkında konuşun
    önceki
    Netease de otele girdi, tüketim yükseltmesi kapsamında oteli oynamanın yeni yolları neler?
    Sonraki
    İş planı çıktı! Girişimlerin dönüşümüyle yüzleşirken, Lean Canvas'ı nasıl kullanacağınızı öğrenmeniz gerekir.
    Merkezi işletmelerin denizaşırı ağ iletişim yeteneklerine ilişkin 2018 raporu yayınlandı.Havacılık endüstrisi neden ilk üçe hükmediyor ve iletişim endüstrisi ilk beş arasında yer alıyor?
    Riemann'ın varsayımı tam olarak kanıtlanmadı! İngiliz Matematiğinin "Vaftiz Babası" süreci az önce kamuoyuna gösterdi.
    Yalnızca BT çalışanlarının okuyabileceği Batı'ya Yolculuk (1. Bölüm)
    Şiirlerini sevdiğiniz 20 kısa listeye alınmış şair? Hall of Fame 2018 Şair Aday Listesi burada
    64 yaşındaki Turing Ödülü sahibi, blok zinciri "imkansız üçgeni" kırıyor Exclusive
    Shandong: Liaocheng halkı Jinan'da 2019 grup görüşmesi yaptı
    2018'de bulut bilişim trendleri hakkında dokuz önemli kelime: sunucusuz, hibrit bulut, çoklu bulut, orta Tayvan, vb.
    Wuhan Kış Katal Sezonu Hakkında Konuşmak, Büyük Balık Tam Net
    Bu bağlantının şirketin gelişimini engellemesine izin vermeyin! Girişimciler için "detoks" zamanı
    OpenShift ağının SDN'sini anlayın
    İhraç, İnovasyon ve Aşırılık: Eski Ethereum CTO'sunun Blockchain Yolculuğu
    To Top