Oracle 9i AS Availability and Scalability - PowerPoint PPT Presentation

About This Presentation
Title:

Oracle 9i AS Availability and Scalability

Description:

Front-end Apache Web server: Serves static resources and acts as a dispatcher ... Scale on SMP - Apache process based architecture ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 55
Provided by: domi190
Learn more at: http://www.nocoug.org
Category:

less

Transcript and Presenter's Notes

Title: Oracle 9i AS Availability and Scalability


1
Oracle 9i ASAvailability and Scalability Margare
t H. Mei Senior Product Manager, ST
2
Agenda
  • Brief 9iAS Overview
  • Designing and Deploying Applications
  • Scalability
  • Availability

3
Oracle9i Application Server
Create Personalized Portals
Portal
Run All Your Web Sites Applications
Connected Clients
CORBA
Perl
XML/XSL
J2EE
Oracle
Forms Services
Java Stored Procedures
PSPs PLSQL
BC4J
Web Cache
Oracle HTTP Server powered by Apache
Developer Kits LDAP, XML, Database
non-Oracle Data Sources
Oracle9iAS Wireless for wireless clients
Collaborate With Stakeholders
Email, Unified Messaging
Internet File System
non-Oracle Apps
Integrate Your Business
Oracle Applications Interconnect
Oracle Workflow
Oracle Gateways
Manage Your Web Infrastructure
Oracle Enteprise Manager
Oracle Internet Directory
Oracle Advanced Security
4
Agenda
  • Brief 9iAS Overview
  • Designing and Deploying Applications
  • Scalability
  • Availability

5
Layered Scaling
  • Scale each tier independent of the other tiers
  • Middle-tier Scale its two major components
  • Front-end The web server and different plug-ins
    that serve static files and route requests to the
    back-end servers
  • Back-end Execute application logic written in
    Java (JSPs, Servlets), PL/SQL (PSPs, Stored
    Procedures) etc.
  • Data-tier Scale the data-tier

6
Scaling Front-end
  • Front-end Apache Web server Serves static
    resources and acts as a dispatcher for dynamic
    requests
  • The Apache server is stateless (static,
    mod_plsql...)
  • Scale on SMP - Apache process based architecture
  • Scale on Web Farm Run multiple instances on a
    web farm (exact clones) and use a load balancing
    solution
  • Software load balancers Oracle 9i AS Web Cache,
    Network Dispatcher, NLBS etc.
  • Round-Robin DNS (RRDNS)
  • Intelligent IP or Application aware load
    balancing hardware like LocalDirector, BigIP,
    ACEDirector etc.
  • Combination of one or more of the above

7
Deploying Front-end
  • Front-End Web Server Scalability

Front-end Web servers
Back-end servers
Load Balancer Oracle Web Cache
PL/SQL
PL/SQL
Database
Internet
PL/SQL
PL/SQL
Shared disk
8
Deploying Front-end
  • Multiple load balancers using RRDNS

Front-end Web servers
Back-end servers
Load Balancer 1
Database
Internet
Load Balancer 2
9
Back-end Server Application Design
  • Stateless vs. stateful applications
  • A stateful application maintains session state
    information within its runtime environment
    between successive client calls.
  • A stateless application maintains no such
    information within its environment. It may
    persist state information in a common store such
    as a database or in the client browser.

10
Stateful Application Example
  • Step-by-step example of client requests to a
    stateful application

Node A
Load Balancer
Database
Client
Node B
11
Stateful Application Example
  • Step-by-step example of client requests to a
    stateful application

Client issues request request gets routed for
service by Node A. Node A may access db to
service the request
Node A
Load Balancer
Database
Client
Node B
12
Stateful Application Example
  • Step-by-step example of client requests to a
    stateful application

Node A services request maintains session state
for Clients session
Node A
Load Balancer
Database
Client
Node B
Clients session state
13
Stateful Application Example
  • Step-by-step example of client requests to a
    stateful application

On any subsequent request, Client must be
serviced by Node A (and not Node B) to access
Clients session state
Node A
Load Balancer
Database
Client
Node B
Clients session state
14
Stateless Application Example
  • Step-by-step example of client requests to a
    stateless application

Node A
Load Balancer
Database
Client
Node B
15
Stateless Application Example
  • Step-by-step example of client requests to a
    stateless application

Client issues request request gets routed for
service by Node A
Node A
Load Balancer
Database
Client
Node B
16
Stateless Application Example
  • Step-by-step example of client requests to a
    stateless application

Node A services request maintains session state
in Database
Node A
Load Balancer
Database
Client
Node B
Clients session state
17
Stateless Application Example
  • Step-by-step example of client requests to a
    stateless application

On any subsequent request, Client may be serviced
by either Node A or Node B and access session
state
Node A
Load Balancer
Database
Client
Node B
Clients session state
18
Deploying Back-end Stateless
  • Write stateless applications that run on a
    cluster
  • Front-end server(s) load balances across the
    back-end servers

Front-end servers
Back-end servers
Load Balancer
JServ
JServ
Database
Internet
JServ
JServ
19
Load-balancing Back-end Apache JServ on a cluster
  • Example Load-balancing between multiple nodes
    with Apache JServ.

The HTTP Server will load-balance requests to
Apache JServ instances. Bigger machines may be
allocated more requests
Apache JServ
Load Balancer
Apache JServ
20
Deploying Back-end Server Stateful
  • Stateful Applications Use sticky routing
  • Use Oracle 8i JVM

Front-end servers
Back-end servers
8i JVM PL/SQL
Load Balancer
8i JVM PL/SQL
Database
Internet
8i JVM PL/SQL
8i JVM PL/SQL
21
Load-balancing HTTP Server Oracle8i JVM
The Oracle8i JVM can load-balance over multiple
listener processes
Client
Network Load Balancer
Oracle8i Listeners
Oracle8i Dispatchers
Oracle8i Shared Servers
HTTP Servers
Ports
Processes
22
Load-balancing HTTP Server Oracle8i JVM
A listener will be chosen at random
Client
Network Load Balancer
Oracle8i Listeners
Oracle8i Dispatchers
Oracle8i Shared Servers
HTTP Servers
Ports
Processes
23
Load-balancing HTTP Server Oracle8i JVM
The listener will determine which Oracle8i JVM
node has the lightest load, and then which
dispatcher on that node is most available
Client
Network Load Balancer
Oracle8i Listeners
Oracle8i Dispatchers
Oracle8i Shared Servers
HTTP Servers
Ports
Processes
24
Load-balancing HTTP Server Oracle8i JVM
The dispatcher will then route the request to one
of the server processes
Client
Network Load Balancer
Oracle8i Listeners
Oracle8i Dispatchers
Oracle8i Shared Servers
HTTP Servers
Ports
Processes
25
Scaling Stateless Applications JDK JVM
  • The JDK JVM scales by giving quick performance to
    many clients. This works well for stateless Java
    apps because the VM does not get weighted down by
    holding onto a lot of state.

No state
Additional clients do not contribute additional
state to be managed between successive requests
26
Application Design Scalability JDK JVM
  • However, stateful applications force the VM to
    perform a lot of concurrent memory management
    when multiple users access the system. Managing
    state may inhibit the scalability of the JDK JVM.

Managing this memory may slow down the
performance of the JDK JVM
27
Application Design Scalability Oracle8i JVM
  • The Oracle8i JVM is a session-based JVM that
    handles stateful applications exceedingly well.
    Performance does not degrade until the capacity
    of the hardware is reached.

Oracle8i JVM
No concurrent GC because of segregated memory
spaces
28
Scaling Back-end Server
  • Oracle 9i AS provides scalability for both
    stateless and stateful applications
  • Stateless Java applications scale well in the JDK
    JVM
  • Stateful Java applications scale well in the
    Oracle8i JVM (aka JServer)
  • Oracle 9i AS also provides a highly scalable
    infrastructure for Oracle Forms, Oracle Reports,
    PL/SQL and Perl applications

29
Scaling Data Server Oracle 9i AS
  • Middle-tier database cache
  • Reduces load on back-end database
  • Faster access by avoiding network round trips
  • Works transparently with existing applications
  • Does not slow updates etc..

30
Scaling Data Server Oracle 9i AS
  • Example Web site with catalog

Without Cache Static content served from middle
tier. All catalog queries are resolved on back
end.
Catalog data
Static content
HTTP Server
Data reads Data writes
With Cache Queries resolved at cache, reducing
load on back end. Cache data on many middle tier
nodes for higher Scalability.
Catalog data
Static content
HTTP Server
Oracle8i Cache
Data writes
Data reads
31
Scaling Data Server Database Cache
Partitioned Data-tier
Front-end servers
Back-end servers
jserv
iCache
Load Balancer
OPS Database
jserv
iCache
Internet
jserv
iCache
OPS Database
jserv
iCache
32
Scalability Putting it all together
  • Stateless

Partitioned Data-tier
Front-end servers
Back-end servers
jserv
Apache
iCache
Load Balancer
OPS Database
jserv
Apache
iCache
Internet
jserv
Apache
iCache
OPS Database
jserv
Apache
iCache
33
Scalability Putting it all together
  • Stateful

Partitioned Data-tier
Front-end servers
Back-end servers
Apache
Load Balancer
OPS Database
iCache
OJVM
Apache
iCache
OJVM
Internet
iCache
OJVM
Apache
OPS Database
iCache
OJVM
Apache
34
Oracle 9i AS Services for Scalability
  • Oracle 9i AS enables scalable stateless and
    stateful applications, front-end servers,
    back-end servers and data servers
  • Oracle 9i AS makes it easy to build scalable web
    applications

35
Agenda
  • Goals for PAS
  • Designing and Deploying Applications
  • Scalability
  • Availability

36
AvailabilityDeath-detection and restart
  • Oracle 9i AS will detect the failure of given
    threads or processes and restart them as
    appropriate.
  • Watchdog in HTTP Server
  • PMON in Oracle8i JVM, Oracle8i PL/SQL, and
    Oracle8i Cache
  • HTTP Server will detect death of Apache JServ
    instance and not route requests to it. Restart of
    remote Apache JServ in a future release.

37
Availability Redundancy Failover
  • For web server failure, Oracle 9i AS web cache
    can reroute requests to other web server
    instances.
  • For failure of stateless services, Oracle 9i AS
    will failover a request to an alternate instance
    of the service. This is similar to connection
    re-routing.

38
Oracle 9i AS High Availability
  • Oracle 9i AS can be deployed to create a system
    with no single point of failure

No single point of failure in database tier with
OPS
HTTP Server
Network load-balancer
HTTP Server
HTTP Server
Network load-balancer
HTTP Server
39
Oracle 9i AS Session Isolation
  • There is no session isolation in a typical JDK
    JVM. The failure of one users session may cause
    all users sessions to fail.

BUG
One client may encounter a buggy session
40
Oracle 9i AS Session Isolation
  • There is no session isolation in a typical JDK
    JVM. The failure of one users session may cause
    all users sessions to fail.

The one bug could bring down all users sessions
41
Oracle 9i AS Session Isolation
  • JServer isolates sessions from one another. In
    the case that one fails, the others are
    unaffected.

BUG
Oracle8i JVM
One client may encounter a buggy session
42
Oracle 9i AS Session Isolation
  • JServer isolates sessions from one another. In
    the case that one fails, the others are
    unaffected.

Oracle8i JVM
Only the buggy session is lost. Other sessions
are unaffected
43
Oracle 9i AS Connection Re-routing
  • In the case of failure of a stateless service of
    Oracle 9i AS, requests can be re-routed to
    alternate instances of the service.
  • If a client is accessing a stateful application,
    the client may be re-routed to the instance of
    the application through an alternate route
  • Lets look at an example with the HTTP Server and
    a stateful application running in Oracle8i JVM...

44
Oracle 9i AS Connection Re-routing
  • Example Failure of an HTTP Server node.
    Subsequent requests can be re-routed through
    alternate nodes.

Network load-balancer
45
Oracle 9i AS Connection Re-routing
  • Example Failure of an HTTP Server node.
    Subsequent requests can be re-routed through
    alternate nodes.

A client request comes in and is routed to an
HTTP Server instance and an Oracle8i JVM instance
Network load-balancer
46
Oracle 9i AS Connection Re-routing
  • Example Failure of an HTTP Server node.
    Subsequent requests can be re-routed through
    alternate nodes.

The application in Oracle8i JVM is stateful, and
session state is retained in the instance. Also,
a cookie may be returned to the clients browser
Network load-balancer
47
Oracle 9i AS Connection Re-routing
  • Example Failure of an HTTP Server node.
    Subsequent requests can be re-routed through
    alternate nodes.

Now, in between requests, the HTTP Server on
Node A goes down
Network load-balancer
48
Oracle 9i AS Connection Re-routing
  • Example Failure of an HTTP Server node.
    Subsequent requests can be re-routed through
    alternate nodes.

The next request can be routed to the destination
Oracle8i JVM instance through an alternate HTTP
Server
Network load-balancer
49
Oracle 9i AS Connection Re-routing
  • Example Failure of an HTTP Server node.
    Subsequent requests can be re-routed through
    alternate nodes.

If it were just an HTTP Server process that went
down, Oracle 9i AS would detect this and restart
it
Network load-balancer
50
Oracle 9i AS Failover
  • Oracle8i Cache features transparent application
    failover (TAF). In the case that a cache node
    goes down, client sessions will be automatically
    recreated on an alternate instance.

A client has a stateful session with a cache
instance
Oracle8i Cache
Oracle8i Cache
51
Oracle 9i AS Failover
  • Oracle8i Cache features transparent application
    failover (TAF). In the case that a cache node
    goes down, client sessions will be automatically
    recreated on an alternate instance.

The cache instance may go down
Oracle8i Cache
Oracle8i Cache
52
Oracle 9i AS Failover
  • Oracle8i Cache features transparent application
    failover (TAF). In the case that a cache node
    goes down, client sessions will be automatically
    recreated on an alternate instance.

The session automatically re-connects to the new
instance. The cache session is transparently
recreated on the alternate instance
Oracle8i Cache
Oracle8i Cache
53
Availability
  • Minimize planned downtime
  • No Single Point of Failure
  • Session Isolation
  • Automatic Death Detection And Restart
  • Redundancy and Automatic Failover
  • Oracle 9i AS makes it easy to build highly
    available web applications

54
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com