Hala Tom kedi hakkında cahil misin? Bu Tomcat mimari analiz kitabına bir göz atın

Toncat, Java diline dayalı dünyanın en ünlü hafif uygulama sunucusudur.Tamamen açık kaynaklı ve ücretsiz bir Servlet kapsayıcı uygulamasıdır. Aynı zamanda HTML ve JS gibi statik kaynakların işlenmesini destekler, böylece hafif bir web sunucusu olarak kullanılabilir. Bu kitabın başlangıcı olarak, bu bölüm kısaca Tomcat'in geliştirme sürecini ve temel kurulum ve kullanımını tanıtacak, böylece okuyucular Tomcat hakkında bir ön izlenime sahip olacak. Esas olarak aşağıdaki hususları içerir.

  • Tomeat tanıtımı
  • Tomeat genel mimarisi
  • Catalina
  • Çakal
  • Jasper
  • Tomeat konfigürasyon yönetimi
  • Web sunucusu entegrasyonu
  • Tomeat kümesi
  • Tomeat güvenliği
  • Tomeat performans ayarı
  • Tomeat ek özellikleri
  • Tomeat genel mimarisi

    Tanınmış bir hafif uygulama sunucusu olarak Tomcat'in mimari tasarımı (yaşam döngüsü yönetimi, ölçeklenebilir konteyner bileşeni tasarımı, sınıf yükleme yöntemi gibi), sunucu ara yazılımımız ve hatta uygulama sistemi bileşeni tasarımımız için çok iyi bir tasarım sağlayabilir. Referans önemi. Bu bölüm kısaca Tomcat'in genel mimarisini tanıtır.Bu bölümün çalışmasıyla, Tomcat bileşenlerinin temel kavramlarını anlayabilir ve sonraki bölümlerde açıklanan bileşenlerin daha iyi anlaşılması için iyi bir temel oluşturabilirsiniz.

    Catalina

    Bu bölüm esas olarak Tomcat'in Servlet konteyneri-Catalina'nın gerçekleştirilmesini anlatmaktadır. Tomcat için, Servlet kapsayıcısı onun temel bileşenidir. JSP / Servlet tabanlı tüm Java Web uygulamalarının, harici hizmetleri çalıştırmak ve sağlamak için Servlet kapsayıcısına güvenmesi gerekir. Catalina aracılığıyla, çeşitli uygulama formları, dağıtım senaryoları ve Servlet spesifikasyonlarının kapsamlı bir şekilde ele alınması dahil olmak üzere Tomcat'in çalışma mekanizmasına aşina olabiliriz.

    Çakal

    Önceki bölümdeki açıklamadan, Catalina'nın istemcilerden gelen istekleri işlemek ve yanıtları çıkarmaktan sorumlu olan Tomcat tarafından sağlanan bir Servlet kapsayıcı uygulaması olduğunu biliyoruz. Ancak, yalnızca Servlet kapsayıcı sunucusu harici hizmetler sağlayamaz .. Bağlayıcının ayrıca istemciden isteği alması, onu kurulu protokole göre ayrıştırması (HTTP gibi) ve ardından işlenmek üzere Servlet kabına teslim etmesi gerekir. Servlet konteyneri ve bağlayıcının Tomcat'in iki temel bileşeni olduğu söylenebilir ve bunlar bir Java uygulama sunucusunun temelini oluşturur.

    Bu bölüm temel olarak Tomcat tarafından sağlanan bağlayıcı uygulamasını, desteklenen protokolleri ve IO yöntemlerini tanıtmaktadır.

    Jasper

    İşlem performansını iyileştirmek için, uygulama sunucusu JSP sınıflarını ve örneklerini önbelleğe alacak ve JSP sayfasının güncellemesini periyodik olarak tespit edecek. Bir değişiklik varsa, yeniden derlenecektir. ISP sayfası ayrı bir sınıf yükleyici kullandığından, yeniden derleme tüm uygulamanın yeniden yüklenmesine neden olmaz, bu nedenle JSP sayfasını çalışır durumda güncelleyebiliriz.

    Sonra anlamaya geldik - Tomcat'in JSP motoru Jasper.

    • Jasper'a Giriş
    • JSP derleme yöntemi
    • JSP derleme prensibi

    Tomeat konfigürasyon yönetimi

    Tomcat kullanma sürecinde, yapılandırmasını gereksinimlerimizi karşılayacak şekilde özelleştirmek kaçınılmazdır. Bu yapılandırmalar, bellek, sistem özellikleri gibi JVM ile ilgili olabilir; ayrıca bağlantı noktaları, sanal ana bilgisayarlar, IO gibi sunucu ile ilgili veya URL eşleme, filtreler vb. Gibi web uygulamasıyla ilgili olabilir. Bu yapılandırmalar, geliştirme kısıtlamaları, dağıtım mimarisi, performans, güvenlik, izleme yönetimi vb. Gibi birçok yönü içerecektir. Bu nedenle, proje geliştirme aşamasında veya üretim ortamında çalışıyor, ister geliştirici ister mimar olsun, Toncat'in çeşitli konfigürasyonlarını anlamak gerekir, bu da Tomcat'in çeşitli özelliklerinden tam olarak yararlanmamızı sağlayarak ilgili çalışmayı tamamlamamızı sağlar. .

    Web sunucusu entegrasyonu

    Tomcat gibi uygulama sunucuları HTML, JavaScript ve görüntüler gibi statik kaynakların işlenmesini desteklese de, bir Web sunucusu olarak kullanılabilirler. Bununla birlikte, sistem eşzamanlılığının artması ve uygulama dağıtımının karmaşıklığının artmasıyla, geleneksel Java tabanlı uygulama sunucuları Web sunucularının rolünü pek üstlenemez. Bunun başlıca nedeni, uygulama sunucularının statik kaynakları işlemede göreceli olarak düşük performansa sahip olması, Web sunucularının ise işletim sisteminin yerel G / Ç'sinden tam olarak yararlanabilmesidir. Aynı zamanda, statik kaynaklar için Web sunucusu, önbelleğe alma gibi çeşitli yöntemlerle erişim performansını artırabilir. Ek olarak, web sunucuları genellikle yük dengelemeyi desteklemek için bir ön istek planlayıcısı olarak destekler. Bunların tümü Java tabanlı uygulama sunucularında eksiktir.

    Tomcat kümesi

    Kümeleme, uygulama sunucularının vazgeçilmez bir özelliğidir. İster oldukça eşzamanlı bir İnternet uygulaması isterse iş ağırlıklı bir kurumsal uygulama sistemi olsun, dağıtım mimarisinin farklı derecelerde kümelerin desteğini dikkate alması gerekir. Küme, yalnızca uygulama sunucusunun ilgili yönetim, senkronizasyon ve diğer işlevleri sağlamasını gerektirmez, aynı zamanda uygulama sisteminin, uygulama sistemi mimarisi için daha yüksek gereksinimleri ortaya koyan karşılık gelen ölçeklenebilirliğe sahip olmasını gerektirir.

    Tomcat güvenliği

    Güvenlik, sistem mimarisindeki en önemli konulardan biridir.Güvenlik dediğimiz genel olarak ağ güvenliği, veri güvenliği, işletim sistemi güvenliği, sunucu güvenliği ve uygulama sistemi güvenliğini kapsar.

    Bir uygulama sunucusu olarak Tomea, varsayılan olarak çoğu senaryonun güvenlik gereksinimlerini karşılayabilir, ancak nispeten yüksek güvenlik gereksinimleri olan bir ortamda, yine de onu birçok açıdan yapılandırmamız gerekir. Bu bölüm temel olarak aşağıdaki yönlerden Tomcat'teki güvenlikle ilgili bazı yapılandırmaları ve işlev uygulamalarını tanıtır.

    Tomeat performans ayarı

    Performans her zaman önemli olmuştur, ancak Donald Knuth'un dediği gibi: "Erken optimizasyon kötülüğün kökenini keser". Geliştirme sırasında yaygın performans sorunlarını (N + 1 sorguları gibi) önleyebilen, ancak sistemi nasıl optimize edip hangi performansı elde edeceğimizle ilgili performans stres testlerini projenin kilit düğümlerinde (yayına başlamadan önce olduğu gibi) düzenleyebiliriz. Göstergeler, proje durumunu kapsamlı bir şekilde ele almalıyız (projenin eşzamanlı kullanıcı sayısı ve erişim yanıt süresi için gereksinimleri ve gelecekteki iş geliştirme için makul tahminler vb.) Ve aşırı optimizasyondan kaçınmaya çalışmalıyız. Geliştiriciler, sık kullanılmayan küçük bir bileşenin performansını ayarlamak için birkaç saat harcarlar ve sonunda genellikle gerçek performans sorununun başka bir kaynağı olduğunu fark ederler.

    Tomeat ek özellikleri

    Son olarak, Tomcat tarafından sağlanan çeşitli işlevlere kısa bir girişe odaklanacağız. Bu işlevler karmaşık değildir, ancak bazı uygulama senaryolarında yaygın olarak kullanılmaktadır.

    Okuduğunuz için teşekkür ederiz, ancak metin yazımının kısıtlılığı nedeniyle Tomcat mimarisinin analizi herkese resim şeklinde gösterilir. Bu Tomcat mimarisinin analiziyle ilgilenen arkadaşlar, lütfen bu makaleyi iletmeye yardım edin ve ücretsiz olarak almak için [kitap] 'a yanıt verin

    Kitaplar nasıl alınır:

    Yönlendir + ilet + beni takip et özel mesajı [kitap] alını yönlendirdikten sonra yanıt

    Dağıtılmış sistemlerin CAP teorisini anlamak için bir makale
    önceki
    Redis'in beş veri türünü ve uygulama senaryo analizini kolayca anlayın (Redis gerçek savaş belgeleriyle)
    Sonraki
    Nginx girişinde ustalaşma, Nginx öğrenme deneyimi e-kitap paylaşımı
    Shuangfei / üç lisans / teknik okuldan mezun olduktan sonra büyük bir fabrikaya girme şansınız var mı?
    Mimar, Bahar serisini pratik kitaplardan tavsiye ediyor ve okuduktan sonra, Bahar hakkında net bir anlayışa sahip oluyor.
    BAT teknik dokümantasyonu: Yay ailesi kovası, Docker, Redis e-kitabı
    A-hisseleri iyi bir başlangıç yaptı VS Moutai sert bir şekilde düştü, piyasa nasıl gidiyor?
    Boğa pazarı şiddetli kuş mu? On milyar yabancı yatırımcı bu hisse senetlerini kopyaladı; büyük adam teknoloji hisselerini 400 milyon yuan'a satın aldı, Zhang Jianping 900 milyon yuan sattı
    Bu şirket yıl sonunda 2 milyon göl manzaralı oda veriyor mu? Yanıt: Zor durumda olan çalışanlara yardım
    Bu 15 hikaye 2020'nin sırlarını gizliyor! Milyarder domuz çiftçisi muazzam bir kâr elde edecek mi?
    Çin'in kişi başına düşen GSYİH'si 10.000 ABD dolarını aşıyor; 2019'da A hisseleri kişi başına 100.000 kazanıyor ve 80'ler sonrası 90'lar demokratik bir güç haline geliyor
    Chongqing'deki 30 katlı bina alev aldı ve geliştiricinin yüzlerce adli riski vardı. Sektördeki uzmanlar yeterli park yeri olmadığını söyledi
    Merkez bankası 800 milyar serbest bıraktı, bahar pazarı doğrulandı
    Resimli | Vientiane güncellemesi çok yönlü bir şekilde hızlanıyor. Bu, Çin'in "iyileşme gücü"
    To Top