Jadual Kandungan
开源项目以及Terracotta公司" >Terracotta开源项目以及Terracotta公司
核心平台DSO" >Terracotta核心平台DSO
Rumah pangkalan data tutorial mysql Terracotta 3.2.1简介 (一)

Terracotta 3.2.1简介 (一)

Jun 07, 2016 pm 03:30 PM
pengenalan

Terracotta 开源 项目以及Terracotta公司 Terracotta是一款由美国Terracotta公司开发的著名开源Java集群平台。它在JVM与Java应用之间实现了一个专门处理集群功能的抽象层,以其特有的增量检测、智能 定向 传送、分布式协作、服务器镜像、分片等技术,允许用

Terracotta开源项目以及Terracotta公司

Terracotta是一款由美国Terracotta公司开发的著名开源Java集群平台。它在JVM与Java应用之间实现了一个专门处理集群功能的抽象层,以其特有的增量检测、智能定向传送、分布式协作、服务器镜像、分片等技术,允许用户在不改变现有系统代码的情况下实现单机Java应用向集群话应用的无缝迁移。使得用户可以专注于商业逻辑的开发,由Terracotta负责实现高性能、高可用性、高稳定性的企业级Java集群。

Terracotta公司目前在美国、欧洲、澳大利亚、印度等地有近百名员工,为Terracotta商业用户提供7x24技术支持、解决方案咨询等服务。同时在Terracotta开源产品之上提供适用于企业用户的高端产品。

Terracotta公司在2009年收购了著名的Java开源缓存项目Ehcache以及Java任务调度项目Quartz。经过对该项目的深度整合,Terracotta推出了易用性更高的分布式缓存、分布式任务调度以及分布式Web Session等快捷解决方案,进一步方便了开发人员开发分布式Java应用。

Terracotta核心平台DSO

Terracotta核心平台是一个基于JVM的集群解决方案,允许用户在不修改代码的情况下把单机Java应用程序运行在多JVM的集群中。

其主要功能特点如下:

  • 实现单机Java应用到集群环境的平滑移植
  • 允许Java程序像访问本地数据数据一样访问集群共享数据,并且实现对共享数据的集群范围内的访问同步
  • 提供给予网络的虚拟内存管理,允许Java程序访问超过其内存空间(heap)的数据
  • 数据保存在服务器端,因此客户端JVM宕机不会造成数据丢失
  • 增量数据传递,智能数据推送,最大限度减少对网络的负担,使得客户端JVM可以横向扩展
  • 主从服务器配置,支持多台从服务器,实现高可用服务器
  • 服务器分片,实现服务器数据存储及数据吞吐量横向扩展
  • 通过JMX开放服务器监控信息
  • 提供可视化监控和管理界面,大大方便对整合集群的共享数据、性能数据、软硬件指标等的实施监控、调试、优化

 

Terracotta 3.2.1简介 (一)

Terracotta DSO核心平台提供了一个稳健、高效、高可用、易用、易管理的Java集群平台。

Terracotta为了进一步帮助J2EE开发人员充分利用其核心平台提供的各项特性,针对Java开发人员常用的Java技术平台提供了一系列快捷模式(Express Mode)的解决方案,包括Ehcache分布式缓存、Hibernate分布式二级缓存、Web Session集群、

分布式Java任务调度Quartz等等。

Terracotta 3.2.1简介 (一)

使用快捷模式,可以避免客户端程序对JDK和应用服务器的依赖、避免配置tc-config.xml文件等等。用户直接拷贝相应的jar文件,对方案相关的配置文件进行简单修改(比如ehcache.xml, hibernate.cfg.xml文件等等),就可以实现集群化了。

后面将逐一介绍Terracotta快捷模式支持的解决方案。

分布式缓存-Terracotta EhcacheHibernate二级缓存

Ehcache是独立于Terracotta开发的开源Java缓存项目。由于其高效、易用等特点,已经被超过70%Java开发人员直接活间接使用。

Ehcache也是Hibernate项目缺省,也是功能支持最完备的耳机缓存解决方案。

Terracotta2009年收购了Ehcache项目,并且对其进行深度整合。

Terracotta 3.2.1简介 (一)

 

整合后的Ehcache保留了其原有的API,增加基于Terracotta集群的分布式缓存。用户可以通过对ehcache.xml的简单配置,实现对原有基于Ehcache构建的代码的集群化升级。

            maxElementsInMemory="10000"

            eternal="false"

            timeToLiveSeconds="120"

            />

 

           maxElementsInMemory="10000"

           eternal=”true”>

          

 

           maxElementsInMemory="10000"

           timeToLiveSeconds="3000">

          

 

整合后的分布式Ehcache有如下特点:

  • 简单、易用的分布式缓存
    • 沿用Ehcache单机版API
    • 直接支持Hibernate二级缓存实现
    • 服务器集群支持
    • 减少数据库30%-90%负载
  • 高效、可靠
    • 本地内存的访问速度
    • 动态缓存数据持久话
    • 客户端于服务器端均可横向线性扩展
    • 自动数据分片
    • 虚拟缓存内存管理,无限缓存空间
    • 多级缓存动态均衡
  • 企业用户支持
    • 支持工业标准JMX
    • 可视化管理工具
    • 动态监控、调试、优化

由于Ehcache本身就是Hibernate标准二级缓存实现,因此将单机版的Hibernate二级缓存扩展到分布式缓存于将Ehcache扩展成分布式缓存一样简单。其优势也可以自动继承。

Terracotta 3.2.1简介 (一)

 

20103月,Terracotta推出了Ehcache 2.0,其中包含了大量的新的功能:

  • Hibernate 3.3二级缓存SPI的支持
    • Hibernate3.3以前为了保证数据库于缓存数据的一致性,对二级缓存的访问有大量的锁操作,导致并发性能不高;
    • 3.3以后,Hibernate二级缓存部分代码进行了重构,提出了新的CacheRegionFactory的接口。大大提高对二级缓存的使用效率。Ehcache 2.0完全支持新的缓存接口;
  • Java分布式事务的全面支持
    • Ehcache可以通过配置,设定一个缓存为XAResource,自动加入分布式事务管理器启动的分布式事务;
    • 能够自动检测常用的分布式事务管理器;
    • 支持Spring、EJB等的分布式事务管理
  • 延迟写(Write Behind)和直通写(Write Through)
    • 提供Writer接口,负责将缓存数据写入数据库或者其他存储介质中;
    • Write Behind允许将数据保存在缓存中,再用后台线程把缓存数据异步保存到数据库或者其他存储介质中。由于缓存数据保存在Terracotta服务器上,不会由于客户端JVM宕机导致数据丢失。Write Behind是通过缓存提高数据写入速度的有效方式;
    • Write Through则是在将数据写入缓存后,马上调用Writer写入数据库中;
  • 批量导入缓存数据
    • 为了保证缓存数据一致性,每一次写操作都有同步处理,对于大量数据导入影响比较大;
    • 提供了coherent标记,来打开或者关闭同步处理。缺省为true,提供同步功能;进行大量数据导入的时候,可以暂时关闭该标记,或者10倍以上的数据导入速度;
    • setCoherent(), isCoherent(), waitForCoherent()
  • Cache级别的一致性、可用性、数据分片等支持
    • Coherent标记
    • syncrhonizedWrite
    • copyOnRead/copyOnWrite
    • 集群事件监听
    • UnlockedReadsView
  • NonStopCache
    • 在Terracotta服务器阵列出故障的时候仍然能够继续工作
    • 不会锁死本地应用
    • 超时设置
  • 管理功能
    • 新的基于Web的管理界面
    • 大部分Cache配置可以在配置界面中实时修改、即时生效

Terracotta 3.2.1简介 (一)

 

 待续。。。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penanda Aras Prestasi ORM Python: Membandingkan Rangka Kerja ORM Berbeza Penanda Aras Prestasi ORM Python: Membandingkan Rangka Kerja ORM Berbeza Mar 18, 2024 am 09:10 AM

Rangka kerja pemetaan hubungan objek (ORM) memainkan peranan penting dalam pembangunan ular sawa, ia memudahkan akses dan pengurusan data dengan membina jambatan antara objek dan pangkalan data hubungan. Untuk menilai prestasi rangka kerja ORM yang berbeza, artikel ini akan menanda aras terhadap rangka kerja popular berikut: sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM Kaedah Ujian Penanda aras menggunakan pangkalan data SQLite yang mengandungi 1 juta rekod. Ujian melakukan operasi berikut pada pangkalan data: Masukkan: Masukkan 10,000 rekod baharu ke dalam jadual Baca: Baca semua rekod dalam jadual Kemas kini: Kemas kini satu medan untuk semua rekod dalam jadual Padam: Padam semua rekod dalam jadual Setiap operasi

Aplikasi Python ORM dalam projek data besar Aplikasi Python ORM dalam projek data besar Mar 18, 2024 am 09:19 AM

Pemetaan hubungan objek (ORM) ialah teknologi pengaturcaraan yang membolehkan pembangun menggunakan bahasa pengaturcaraan objek untuk memanipulasi pangkalan data tanpa menulis pertanyaan SQL secara langsung. Alat ORM dalam python (seperti SQLAlchemy, Peewee dan DjangoORM) memudahkan interaksi pangkalan data untuk projek data besar. Kelebihan Kesederhanaan Kod: ORM menghapuskan keperluan untuk menulis pertanyaan SQL yang panjang, yang meningkatkan kesederhanaan dan kebolehbacaan kod. Abstraksi data: ORM menyediakan lapisan abstraksi yang mengasingkan kod aplikasi daripada butiran pelaksanaan pangkalan data, meningkatkan fleksibiliti. Pengoptimuman prestasi: ORM sering menggunakan operasi caching dan kelompok untuk mengoptimumkan pertanyaan pangkalan data, dengan itu meningkatkan prestasi. Mudah alih: ORM membenarkan pembangun untuk

Pengenalan kepada Rangka Kerja Yii: Fahami konsep teras Yii Pengenalan kepada Rangka Kerja Yii: Fahami konsep teras Yii Jun 21, 2023 am 09:39 AM

Rangka kerja Yii ialah rangka kerja pembangunan PHP berprestasi tinggi, sangat berskala dan sangat boleh diselenggara yang sangat cekap dan boleh dipercayai semasa membangunkan aplikasi Web. Kelebihan utama rangka kerja Yii ialah ciri unik dan kaedah pembangunannya, di samping menyepadukan banyak alatan dan fungsi praktikal. Konsep teras rangka kerja Yii, corak MVC, Yii mengamalkan corak MVC (Model-View-Controller), iaitu corak yang membahagikan aplikasi kepada tiga bahagian bebas, iaitu model pemprosesan logik perniagaan dan model persembahan antara muka pengguna. .

Dapatkan pemahaman mendalam tentang 7 corak reka bentuk Java yang biasa digunakan Dapatkan pemahaman mendalam tentang 7 corak reka bentuk Java yang biasa digunakan Dec 23, 2023 pm 01:01 PM

Memahami Corak Reka Bentuk Java: Pengenalan kepada 7 corak reka bentuk yang biasa digunakan, contoh kod khusus diperlukan adalah penyelesaian universal kepada masalah reka bentuk perisian. Ia menyediakan satu set idea reka bentuk dan kod tingkah laku yang diterima secara meluas. Corak reka bentuk membantu kami menyusun dan merancang struktur kod dengan lebih baik, menjadikan kod lebih mudah diselenggara, boleh dibaca dan berskala. Dalam artikel ini, kami akan memperkenalkan 7 corak reka bentuk yang biasa digunakan dalam Java dan memberikan contoh kod yang sepadan. Singleton Patte

Laksanakan ketekunan data yang cekap menggunakan Python ORM Laksanakan ketekunan data yang cekap menggunakan Python ORM Mar 18, 2024 am 09:25 AM

Pemetaan hubungan objek (ORM) ialah teknologi yang membolehkan membina jambatan antara bahasa pengaturcaraan berorientasikan objek dan pangkalan data hubungan. Menggunakan pythonORM boleh memudahkan operasi kegigihan data dengan ketara, dengan itu meningkatkan kecekapan pembangunan aplikasi dan kebolehselenggaraan. Kelebihan Menggunakan PythonORM mempunyai kelebihan berikut: Kurangkan kod boilerplate: ORM secara automatik menjana pertanyaan sql, dengan itu mengelakkan menulis banyak kod boilerplate. Permudahkan interaksi pangkalan data: ORM menyediakan antara muka bersatu untuk berinteraksi dengan pangkalan data, memudahkan operasi data. Tingkatkan keselamatan: ORM menggunakan pertanyaan berparameter, yang boleh menghalang kelemahan keselamatan seperti suntikan SQL. Galakkan ketekalan data: ORM memastikan penyegerakan antara objek dan pangkalan data serta mengekalkan ketekalan data. Pilih ORM untuk dimiliki

Python vs. Jython: Siapakah raja pembangunan merentas platform? Python vs. Jython: Siapakah raja pembangunan merentas platform? Mar 22, 2024 pm 12:21 PM

Kedua-dua python dan Jython adalah bahasa pengaturcaraan yang popular, tetapi ia dioptimumkan untuk kes penggunaan yang berbeza dan mempunyai kelebihan dan kekurangan unik apabila ia berkaitan dengan pembangunan merentas platform. Kelebihan Python: Sokongan perpustakaan dan komuniti yang luas Mudah dipelajari dan digunakan, sesuai untuk pemula Sangat mudah alih, boleh dijalankan merentasi pelbagai platform Menyokong pelbagai paradigma pengaturcaraan, termasuk pengaturcaraan berorientasikan objek, berfungsi dan penting Kelemahan: Prestasi rendah, Tidak sesuai untuk memproses pengkomputeran intensif tugas Penggunaan memori yang tinggi Mungkin memerlukan alatan dan konfigurasi tambahan pada sesetengah platform Kelebihan Jython: Serasi sepenuhnya dengan Python, boleh menggunakan semua perpustakaan dan alatan Python Jalankan pada Mesin Maya Maya (JVM), menyediakan integrasi yang lancar dengan ekosistem Java berprestasi lebih baik daripada Py

Alat pemprosesan data Python Pandas, mesti dibaca untuk pemula! Alat pemprosesan data Python Pandas, mesti dibaca untuk pemula! Mar 20, 2024 pm 06:21 PM

Pandas ialah perpustakaan pemprosesan data yang berkuasa dalam python, direka khas untuk memproses data berstruktur (seperti jadual). Ia menyediakan set kaya dengan ciri yang memudahkan penerokaan, pembersihan, transformasi dan pemodelan data. Bagi pemula dalam bidang analisis data dan sains, menguasai Panda adalah penting. Struktur Data Pandas menggunakan dua struktur data utama: Siri: Tatasusunan satu dimensi, serupa dengan tatasusunan NumPy, tetapi mengandungi label (indeks). DataFrame: Jadual dua dimensi yang mengandungi lajur dan perpuluhan berlabel. Data Import dan Eksport Import data: Gunakan fungsi seperti read_csv(), read_excel() dan fungsi lain untuk mengimport data daripada CSV, Excel dan fail lain. Eksport data: gunakan untuk_

Tambahkan daya tarikan GUI pada projek anda dengan Python Tkinter Tambahkan daya tarikan GUI pada projek anda dengan Python Tkinter Mar 24, 2024 am 09:46 AM

Tkinter ialah perpustakaan yang berkuasa untuk mencipta antara muka pengguna grafik (GUI) dalam python. Ia terkenal dengan kesederhanaan, keserasian merentas platform dan integrasi yang lancar dengan ekosistem Python. Dengan menggunakan Tkinter, anda boleh menambah antara muka mesra pengguna pada projek anda, meningkatkan pengalaman pengguna dan memudahkan interaksi dengan aplikasi anda. Mencipta aplikasi GUI Tkinter Untuk mencipta aplikasi GUI menggunakan Tkinter, lakukan langkah berikut: Import perpustakaan Tkinter: importtkinterastk Cipta tetingkap utama Tkinter: root=tk.Tk() Konfigurasikan tetingkap utama: Tetapkan tajuk tetingkap, saiz, kedudukan , dsb. Tambah elemen GUI: Menggunakan Tki

See all articles