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.
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.
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.
Ö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.
İş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.
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. .
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.
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.
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.
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.
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