• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Terracotta And Continuent Based Clustering Architecture
 

Terracotta And Continuent Based Clustering Architecture

on

  • 1,678 views

 

Statistics

Views

Total Views
1,678
Views on SlideShare
1,677
Embed Views
1

Actions

Likes
0
Downloads
37
Comments
0

1 Embed 1

http://www.slideshare.net 1

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Terracotta And Continuent Based Clustering Architecture Terracotta And Continuent Based Clustering Architecture Presentation Transcript

  • Welcome 基于 Terracotta 和 Continuent 的可扩展集群架构 © 2008 TargetSource Peter Cheng | 程勇 Community Strategist & Open Source Evangelist
  • About Peter Cheng | 程 勇
    • Community Strategist & Open Source Evangelist
      • Founder of TargetSource, The Open Source Services Company
      • Founder of Open Source Camp, Open Source University Events
      • Co-founder of Huihoo.org (From 2001)
      • JFoxSOAF, JFox Committer (http://code.google.com/p/jfox)
    • General Speaker
      • 2007 ~ 08 LinuxWorld China Beijing
      • 2007 China SOA Conference
      • 2007 Redhat Conference
      • 2006 Redhat Day
      • 2006 IBM DeveloperWorks Conferce
      • 2005-2006 BEA User Group (Beijing,Shanghai,Changsha,HangZhou)
      • 2004-2008 China Software Conference
    • Open Source University & Enterprise (From 2003 …)
  • 议程
    • 关键业务系统待解决的高可靠性问题
    • 基于 JVM 的透明化数据复制技术
    • Oracle RAC 的开源数据库集群替代技术
  • 当前的计算架构体系 Web Servers Application Servers Application Servers Workstation Report Server Data Warehouse Data Marts Data Marts Data Data Data
  • 应用驱动 --- > 服务驱动 应用 服务
  • 未来的计算架构体系 Legacy Mainframes Web Servers Report Server Enterprise Interoperability Hub (Service Bus) Workstation Application Servers Application Servers Data Data Data Data Marts Data Marts Data Warehouse Exposed Service Exposed Service Exposed Service Exposed Service Exposed Service Data Data Data Data Data Data
  • 关键业务系统高可用性挑战
    • “… 希望更专注于设计的本职工作少做或者不做 IT 工作”
    • “… 部署管理一个高性能计算机群实在太困难了”
    • “… 编程很困难
    • “… 没有足够好用的开发工具与环境”
    • 高性能计算应用基于开放平台的提供与集成
    • 简单易用的计算作业提交与监控
    • 更加简单的部署与建立计算机集群
    • 简单统一的集群管理环境并与现有的 IT 架构一致
    • 零编程的集群配置模式
    • 无需额外的二次开发
    最终使用者 IT 系统管理人员 应用开发者
  • 全面的高可用性解决方案 系统 用户群 Load Director Terracotta Continuent Linux HA 解决方案 政府、研究机构、大型商业企业、互联网企业 负载均衡 JVM 集群 数据库集群 典型客户 www.abc.com , www.real.com , www.eds.com , www.ctrip.com
  • 议程
    • 关键业务系统待解决的高可靠性问题
    • 基于 JVM 的透明化数据复制技术
    • Oracle RAC 的开源数据库集群替代技术
  • 基于负载均衡的集群 Internet Load Director
  • 负载均衡与集群的节点 硬件或软件负载均衡 集群 负载均衡 节点间相互 不连接 节点间相互连接 Web Server Instance Node 1 Node 2 Node N Web Server Instance Node 1 Node 2 Node N
  • 传统的应用服务器集群技术 Load Balancer State Replication Failover R1 R1 R2 R2 R3 R3
  • LiveJournal Backend: Today Roughly. User DB Cluster 1 uc1a uc1b User DB Cluster 2 uc2a uc2b User DB Cluster 3 uc3a uc3b User DB Cluster 4 uc4a uc4b User DB Cluster 5 uc5a uc5b Memcached mc4 mc3 mc2 mc12 ... mc1 mod_perl web4 web3 web2 web50 ... web1 BIG-IP bigip2 bigip1 perlbal (httpd/proxy) proxy4 proxy3 proxy2 proxy5 proxy1 Global Database slave1 master_a master_b slave2 ... slave5 MogileFS Database mog_a mog_b Mogile Trackers tracker2 tracker1 Mogile Storage Nodes ... sto2 sto8 sto1
  • 如何让 JavaEE 应用使用内存像使用 NAS 一样
  • 什么是集群的 JVM?
    • 多个 JVM 如何解决内存共享的问题? .
    • JVM 内存共享比较满足以下条件
      • 1. 对于应用来说应该像 RAM 一样
      • 2. 必须作为一个基础设施服务
    • 特性
    • 内存堆级别的复制
    • 中心化存储
    • 虚拟内存
    • 可监控和管理
    可扩展 J2EE 应用服务器 Web App JVM DSO Libraries Shared Objects Terracotta Server 集群的 JVM J2EE 应用服务器 Web App JVM DSO Libraries Shared Objects J2EE 应用服务器 Web App JVM DSO Libraries Shared Objects
  • Terracotta 如何来实现? 业务逻辑 JVM 框架 框架 Java 应用服务器 业务逻辑 JVM 框架 框架 Java 应用服务器 Terracotta DSO Terracotta 服务器 管理控制台
  • Terracotta 如何工作
  • 配置级管理,零编程 DEMO
    • Shared JTable (spreadsheet)
    <terracotta-config> <dso> <server-host>localhost</server-host> <server-port>9510</server-port> <dso-client> <roots> <root> <field-name> demo.jtable.TableDemo. model </field-name> </root> </roots> <included-classes> <include><class-expression>demo..*</class-expression></include> </included-classes> </dso-client> </dso> </terracotta-config>
  • 示例 JVM JVM Terracotta
  • Terracotta 控制台 :
  • Tomcat Http Session Cluster
    • 开源软件第三方集成
      • Hibernate
      • Spring
      • EHCache
      • Tomcat, WebLogic etc.
    • 易于使用
      • 1 line of config
    • 预打包
      • 1 JAR file
    Terracotta 集成模块
  • 议程
    • 关键业务系统待解决的高可靠性问题
    • 基于 JVM 的透明化数据复制技术
    • Oracle RAC 的开源数据库集群替代技术
  • DB 的高可用性问题
      • 客户端连接到应用服务器
      • 应用都基于数据库来构建
      • 大量的工具解决应用层的可用性问题
      • 数据库仍然有单点故障
    Internet 应用服务器 用户
  • ORACLE RAC uses “Shared Everything” Users Database Server Server Server Server
  • Load-Balancing Users Database Node 4 Node 1 Node 2 Node 3
  • Failover Users Database X Server Server Server Server
  • 开源 DBMS 集群常见解决方案 主数据库 备份 客户端 从数据库 只读 应用 恢复 : 客户端访问 : 从数据库 从数据库
      • 主数据仍然会是单点故障
      • 故障恢复不是自动的,并不能透明的完成
      • 异步更新 – 从数据库总是在后端
      • 配置和管理非常复杂
      • 没有一致的复制管理方式
        • MySQL vs. PostgreSQL
    DBMS 集群解决方案 – 限制
  • Uni/Cluster 数据库解决方案 互联网 Database 节点 磁盘 应用服务器 uni/cluster Controllers
  • 冗余的数据库集群架构
      • 和磁盘 RAID 概念一样
      • uni/cluster 数据库集群中间件
        • 透明性 : 为客户端提供数据库的单一视图 client
        • 可扩展性 : 平衡后台数据库的负载
        • 高可靠性 : 管理实务,重新恢复和自动故障切换 .
    数据库 uni/cluster controller(s) 数据库 SQL statements 数据库 数据库 数据库
  • Oracle Solution
  • Oracle & Mysql Solution
  • 谁在使用
  • 谢谢! 即将发布 2009.2 1. Terracotta 中文社区 www.terracottatech.org.cn 2. Continuent 中文社区 www.continuent.org.cn