文档详情

分布式缓存与JavaEE.pdf

发布:2017-05-26约7.23千字共56页下载文档
文本预览下载声明
Insert Picture Here 分布式缓存与JavaEE 介绍Oracle Coherence 日程安排 • 什么是缓存 • 为什么要用分布式缓存 • 分布式缓存的特性 • Oracle Coherence的介绍 • 其他的分布式缓存介绍 • Terracotta,Memecached,MySQL Cluster,Dynamo (Cassandra) ,JBoss Cache 什么是缓存 缓存的定义(在BIOS系统工程师眼里) 缓存的定义(文件系统工程师) 缓存的定义(磁盘驱动开发工程师) 缓存的定义(Web工程师) JavaEE 中的缓存 • JSR107 JCACHE-Java Temporary Caching API • Jakarta 的标准项目: Cache Taglib • 缓存页面 • 缓存对象 • ORM (Hibernate,Toplink) 缓存 • 数据库层的缓存 • 业务对象的缓存 缓存的原则 以提高性能为目的 维护缓存的代价要小于创建原始 对象的代价 如何提高系统的性能 如何提高性能--各个层面的应用优化 Java EE 应用编程 Java EE应用服务器 Java 虚拟机 操作系统 硬件(网卡,CPU,内存) (c) Copyright 2010. Oracle Corporation 如何提高性能 •横向扩展 (Scaling Out) 如何获得可扩展性 • 纵向扩展(Scaling Up) • 增加CPU,内存,升级到更强大昂贵的系统 • 但是受单台服务器的限制 • 横向扩展 (Scaling Out) • 增加节点,使用便宜的服务器 • 应用系统的复杂性 (有状态的应用无状态的应用) • 无状态的应用几乎不存在 • 大多数的无状态的应用将状态放在数据库中 • 其实数据库更加难以扩展 • ACID (很多Lock,读写一致性,写的持久性) • 分布式数据库(集群数据库)机制复杂,价格昂贵 数据库横向扩展方案--复制 • Master用于写操作 • Slave用于读操作 • 缓解Master的读操作 • 有不一致的时间窗口 • 不能解决大量写的操 作 数据库横向扩展方案--集群 • Oracle RAC • 共享存储 • 负载均衡读和写 • 数据库写需要同步 到所有节点的内存 中,大大增加了写 的时间延迟
显示全部
相似文档