java

位置:IT落伍者 >> java >> 浏览文章

Java程序性能优化-负载均衡(3)


发布日期:2019年03月16日
 
Java程序性能优化-负载均衡(3)

负载均衡(

通过这个实验可以看到的Web服务器通过Terracotta服务器共享了同一份缓存在本例中Web应用的缓存配置如以下代码所示

<?xml version= encoding=UTF?>

<ehcache name=ColorCache>

<defaultCache

maxElementsInMemory=

eternal=false

timeToIdleSeconds=

timeToLiveSeconds=

overflowToDisk=true

diskSpoolBufferSizeMB=

maxElementsOnDisk=

diskPersistent=false

diskExpiryThreadIntervalSeconds=

memoryStoreEvictionPolicy=LRU/>

<cache name=colors

maxElementsInMemory=

maxElementsOnDisk=

eternal=false

timeToIdleSeconds=

timeToLiveSeconds=

memoryStoreEvictionPolicy=LFU>

<terracotta/>

</cache>

<terracottaConfig url=localhost:/>

</ehcache>

该缓存是前文中介绍的EhCache缓存的分布式形态在配置文件最后指定了缓存服务器地址在程序中使用分布式缓存的方法也很简单与前文中介绍的EhCache几乎相同如下代码片段

private static final CacheManager cacheManager = new CacheManager()

private Ehcache getCache() {

return cacheManagergetEhcache(colors //与配置文件中的名称一样

}

public Color getColor(String name) {

Element elem = getCache()get(name) //从分布式缓存中获取数据

if (elem == null) { //若不存在则新建颜色

Color color = colorDatabasegetColor(name)

if (color == null) { return null; }

getCache()put(elem = new Element(name color)) //将颜色放入缓存

}

return (Color) elemgetValue()

}

Terracotta的另一个重要的应用是session共享在Terracotta安装目录的sessions\samples\cart子文件夹内有session共享的示例与colorcache示例一样首先需要启动Terracotta服务器接着启动两个Web应用程序分别运行在端口两个Web服务器在各自独立的JVM虚拟机中运行彼此独立

返回目录Java程序性能优化让你的Java程序更快更稳定

编辑推荐

Java程序设计培训视频教程

JEE高级框架实战培训视频教程

JME移动开发实战教学视频

Visual C++音频/视频技术开发与实战

Oracle索引技术

ORACLEG数据库开发优化指南

上一篇:Java程序性能优化-负载均衡(2)

下一篇:Java程序性能优化-负载均衡(4)