35
--- Open Source & Friends Share … Fun Camp Welcome 基基 Terracotta 基 Continuent 基基基基基基基基 © 2008 TargetSource ter Cheng | 基基 mmunity Strategist & Open Source Evangelist

Terracotta And Continuent Based Clustering Architecture

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Terracotta And Continuent Based Clustering Architecture

--- Open Source & Friends

Share … Fun

Camp

Welcome基于 Terracotta 和 Continuent 的可扩展集群架构

© 2008 TargetSource

Peter Cheng | 程勇Community Strategist & Open Source Evangelist

Page 2: Terracotta And Continuent Based Clustering Architecture

--- Open Source & Friends

Share … Fun

CampAbout Peter Cheng | 程 勇

Community Strategist & Open Source Evangelist Founder of TargetSource, The Open Source Services CompanyFounder of Open Source Camp, Open Source University EventsCo-founder of Huihoo.org (From 2001)JFoxSOAF, JFox Committer (http://code.google.com/p/jfox)

General Speaker2007 ~ 08 LinuxWorld China Beijing2007 China SOA Conference2007 Redhat Conference2006 Redhat Day2006 IBM DeveloperWorks Conferce2005-2006 BEA User Group (Beijing,Shanghai,Changsha,HangZhou)2004-2008 China Software Conference

Open Source University & Enterprise (From 2003 …)

Page 3: Terracotta And Continuent Based Clustering Architecture

--- Open Source & Friends

Share … Fun

Camp议程

关键业务系统待解决的高可靠性问题基于 JVM 的透明化数据复制技术Oracle RAC 的开源数据库集群替代技术

Page 4: Terracotta And Continuent Based Clustering Architecture

--- Open Source & Friends

Share … Fun

Camp当前的计算架构体系

DataWarehouse

Web Servers

ApplicationServers

ApplicationServers

Workstation

ReportServer

DataMarts

DataMarts

Data

Data

Data

Page 5: Terracotta And Continuent Based Clustering Architecture

--- Open Source & Friends

Share … Fun

Camp应用驱动 --- > 服务驱动

应用 服务

Page 6: Terracotta And Continuent Based Clustering Architecture

--- Open Source & Friends

Share … Fun

Camp未来的计算架构体系

LegacyMainframes

Web Servers

ReportServer

EnterpriseInteroperability

Hub(Service Bus)Workstation Application

Servers

ApplicationServers

Data

Data

Data

DataMarts

DataMarts

DataWarehouse

Exposed Service

Exposed Service

Exposed Service

Exposed Service

Exposed Service

Data

Data

Data

Data

Data

Data

Page 7: Terracotta And Continuent Based Clustering Architecture

--- Open Source & Friends

Share … Fun

Camp关键业务系统高可用性挑战

“… 希望更专注于设计的本职工作少做或者不做 IT 工作”

“… 部署管理一个高性能计算机群实在太困难了”

“… 编程很困难“… 没有足够好用的开发

工具与环境”

高性能计算应用基于开放平台的提供与集成简单易用的计算作业提交与监控

更加简单的部署与建立计算机集群简单统一的集群管理环境并与现有的 IT 架构一致

零编程的集群配置模式无需额外的二次开发

最终使用者

IT 系统管理人员

应用开发者

Page 8: Terracotta And Continuent Based Clustering Architecture

--- Open Source & Friends

Share … Fun

Camp全面的高可用性解决方案

系统

用户群

Load Director Terracotta Continuent

Linux HA 解决方案

政府、研究机构、大型商业企业、互联网企业

负载均衡 JVM 集群 数据库集群

典型客户 www.abc.com , www.real.com, www.eds.com , www.ctrip.com

Page 9: Terracotta And Continuent Based Clustering Architecture

--- Open Source & Friends

Share … Fun

Camp议程

关键业务系统待解决的高可靠性问题基于 JVM 的透明化数据复制技术Oracle RAC 的开源数据库集群替代技术

Page 10: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

基于负载均衡的集群

Internet

Load Director

Page 11: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

负载均衡与集群的节点

Web ServerWeb ServerInstanceInstance

Node 1Node 1

Node 2Node 2

Node NNode N

Web ServerWeb ServerInstanceInstance

Node 1Node 1

Node 2Node 2

Node NNode N

硬件或软件负载均衡硬件或软件负载均衡

集群集群 负载均衡负载均衡

节点间相互不连接节点间相互连接

Page 12: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

传统的应用服务器集群技术

Load Balancer

State Replication

Failover

R1

R1

R2

R2

R3

R3

Page 13: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

LiveJournal Backend: TodayRoughly.

User DB Cluster 1User DB Cluster 1uc1a uc1b

User DB Cluster 2User DB Cluster 2uc2a uc2b

User DB Cluster 3User DB Cluster 3uc3a uc3b

User DB Cluster 4User DB Cluster 4uc4a uc4b

User DB Cluster 5User DB Cluster 5uc5a uc5b

MemcachedMemcached

mc4

mc3

mc2

mc12

...

mc1

mod_perlmod_perl

web4

web3

web2

web50

...

web1

BIG-IPBIG-IP

bigip2bigip1 perlbal

(httpd/proxy)perlbal (httpd/proxy)

proxy4

proxy3

proxy2

proxy5

proxy1

Global DatabaseGlobal Database

slave1

master_a master_b

slave2 ... slave5

MogileFS DatabaseMogileFS Database

mog_a mog_b

Mogile TrackersMogile Trackers

tracker2tracker1

Mogile Storage NodesMogile Storage Nodes

...

sto2

sto8

sto1

Page 14: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

如何让 JavaEE 应用使用内存像使用 NAS 一样

Page 15: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

什么是集群的 JVM?

多个 JVM 如何解决内存共享的问题? .

JVM 内存共享比较满足以下条件 1. 对于应用来说应该像 RAM 一样2. 必须作为一个基础设施服务

特性内存堆级别的复制中心化存储虚拟内存可监控和管理

可扩展

J2EE 应用服务器

Web App

JVM DSO Libraries

SharedObjects

Terracotta Server集群的 JVM

Terracotta Server集群的 JVM

J2EE 应用服务器

Web App

JVM DSO Libraries

SharedObjects

J2EE 应用服务器

Web App

JVM DSO Libraries

SharedObjects

Page 16: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

Terracotta 如何来实现?

业务逻辑

JVM

框架

框架

Java 应用服务器

业务逻辑

JVM

框架

框架

Java 应用服务器

Terracotta DSO

Terracotta 服务器

管理控制台

Page 17: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

Terracotta 如何工作

Page 18: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

配置级管理,零编程 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>

Page 19: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

示例

JVM JVM

Terracotta

Page 20: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

Terracotta 控制台 :

Page 21: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

Tomcat Http Session Cluster

Page 22: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

开源软件第三方集成HibernateSpringEHCacheTomcat, WebLogic etc.

易于使用1 line of config

预打包1 JAR file

Terracotta 集成模块

Page 23: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

议程

关键业务系统待解决的高可靠性问题基于 JVM 的透明化数据复制技术Oracle RAC 的开源数据库集群替代技术

Page 24: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

DB 的高可用性问题

• 客户端连接到应用服务器• 应用都基于数据库来构建• 大量的工具解决应用层的可用性问题• 数据库仍然有单点故障

Internet

应用服务器

用户

Page 25: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

ORACLE RAC uses “Shared Everything”

Users

Database

Server Server Server Server

Page 26: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

Load-Balancing

Users

Database

Node 4 Node 1 Node 2 Node 3

Page 27: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

Failover

Users

Database

Server Server Server Server X

Page 28: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

开源 DBMS 集群常见解决方案

主数据库

备份

客户端

从数据库

只读应用

恢复 : 客户端访问 :

从数据库

从数据库

Page 29: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

• 主数据仍然会是单点故障

• 故障恢复不是自动的,并不能透明的完成

• 异步更新 – 从数据库总是在后端

• 配置和管理非常复杂

• 没有一致的复制管理方式o MySQL vs. PostgreSQL

DBMS 集群解决方案 – 限制

Page 30: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

Uni/Cluster 数据库解决方案

互联网

Database 节点

磁盘

应用服务器 uni/clusterControllers

Page 31: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

冗余的数据库集群架构

• 和磁盘 RAID 概念一样• uni/cluster 数据库集群中间件

o 透明性 : 为客户端提供数据库的单一视图 cliento 可扩展性 : 平衡后台数据库的负载o 高可靠性 : 管理实务,重新恢复和自动故障切换 .

数据库

uni/cluster controller(s)

数据库

SQL statements

数据库 数据库 数据库

Page 32: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

Oracle Solution

Page 33: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

Oracle & Mysql Solution

Page 34: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

谁在使用

Page 35: Terracotta And Continuent Based Clustering Architecture

Enterprise-Ready Cluster Solution

谢谢!

即将发布 2009.2

1. Terracotta 中文社区www.terracottatech.org.cn2. Continuent 中文社区www.continuent.org.cn