Penyebab kejadian: Ada proyek utama "gambar yang menggambarkan hal-hal indah", dan sub-fungsi lainnya adalah fungsi entri pemilik merek, yang merupakan proyek terpisah dari proyek utama Untuk berbagi informasi pengguna yang masuk, sesi berbagi diterapkan, dua kucing jantan, satu kucing jantan6, satu kucing jantan7
Mewujudkan berbagi sesi di bawah sistem windows proyek web
Langkah pertama:
Konfigurasikan kode berikut dalam file konteks.xml dari dua kucing jantan:
<Manajer className="de.javakaffee.web.msm.MemcachedBackupSessionManager"memcachedNodes="n1:127.0.0.1:11211"lockingMode="auto"sticky="true"requestUriIgnorePattern=".*/.(ico|png|gif|jpg| css|j s)$"sessionBackupAsync="false"sessionBackupTimeout="100"transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"copyCollectionsForSerialization="true"/>
Langkah kedua:
Paket jar ditambahkan di bawah Tomcat6:
Paket jar ditambahkan di bawah Tomcat7:
PS: Gunakan memcache untuk menyimpan sesi Tomcat
Tujuan utama penulisan artikel ini adalah untuk memperbaiki beberapa kesalahan di Internet.
Prasyarat:
1. memcached berfungsi normal
2. Tomcat berfungsi normal.
1. Metode instalasi dan paket instalasi
javolution-5.4.3.1.jar
memcached-2.4.2.jar
memcached-session-manager-1.3.0.jar
msm-javolution-serializer-cglib-1.3.0.jar
msm-javolution-serializer-jodatime-1.3.0.jar
Metode instalasi: Letakkan paket-paket ini di /usr/local/Tomcat6.0/lib.
2. Edit file konfigurasi Tomcat.
<Ini penting karena sebagian besar artikel di Internet berbicara tentang memodifikasi konfigurasi di server. Saat ini, ditemukan bahwa mengedit file konteks.xml dapat langsung membuang sesi ke memcache. >
# vim /usr/local/tomcat6.0/conf/context.xml <Konteks> <!-- Tambahkan konten berikut di bawah kolom ini. Silakan isi ip server memcached dan nomor port Anda saat memasuki node --> <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:10.254.41.197:11211" requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$" sessionBackupAsync="false" sessionBackupTimeout="100" transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory" copyCollectionsForSerialization="false" /> </Konteks>
3. Bagaimana cara mengujinya?
Metode pengujian saya saat ini adalah mengimplementasikan penyeimbangan beban melalui mod_jk Apache (ditulis di artikel sebelumnya) dan mengaktifkan replikasi sesi antar kucing jantan.
Hasilnya adalah ID seesion akan mengubah node dengan setiap pengiriman pengguna, tetapi ID tidak akan berubah.
Misalnya:
ID CFC1ACAC6B0B8C27BEA76919F3A99BF8-n1.Tomcat2
Pengajuan berikutnya akan menjadi: <Node telah dialihkan, tetapi ID tetap tidak berubah>
ID CFC1ACAC6B0B8C27BEA76919F3A99BF8-n1.Tomcat1
Dikombinasikan dengan status memcache: <Ketika saya gagal melemparkan sesi ke memcache, cmd_set adalah 0>
# perl memcached-tool.pl 10.254.41.197:11211 statistik
cmd_dapatkan 27
cmd_set 15
dapatkan_hits 12
# perl memcached-tool.pl 10.254.41.197:11211 statistik
cmd_dapatkan 31
cmd_set 17
dapatkan_hits 14
Menurut saya berdasarkan penilaian di atas, konfigurasi berhasil!