SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
The following is intended to outline our general
product direction. It is intended for information
purposes only, and may not be incorporated into any
contract. It is not a commitment to deliver any
material, code, or functionality, and should not be
relied upon in making purchasing decisions.
The development, release, and timing of any
features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.
Connected Clouds: Middleware
    Infrastructure
Brian Oliver                                      劳虎 Tiger Hsiao
Global Solutions Architect | Oracle Coherence |   首席解决方案架构师 | 产品战略部 |
Oracle Fusion Middleware Product Management       Oracle 大中华区
Agenda


• Not about…
  –   Amazon EC2, EBS, S3, VIP (or other cloud vendor)
  –   Licensing and Pricing Models
  –   Auto-Scaling
  –   Fault Tolerance
  –   High Availability
  –   “On demand” / “Map Reduce” …


• There’s enough information available about these
  things.
Agenda


• How to make a globally distributed stateful
  application appear and operate as a single stateful
  application.

• A stateful application that may be deployed across
  multiple;
  – Cloud Regions
  – Cloud Providers
  – Data Centers


• Case Study: Globally Distributed Auction
Agenda


•   Why one site isn’t enough…         <Insert Picture Here>

•   Introduction to Oracle Coherence
•   Multi-Site Challenges
•   The Push Replication Pattern
•   Deployment Models
•   Real-World Use Case
•   Demonstration
Why one site isn’t enough…


• Two reasons for multi-site deployments
  – Business Continuity (disaster recovery)
  – Regional Scalability (reduce latency)


• You don’t need to be a multi-national corporation
  – Simple Web-based Application with global adoption
  – Simple iPhone Application with global adoption


• Use Coherence for Shared Memory
  – Local high-availability and scalability
  – Interconnect for global availability and scalability
Agenda


•   Why one site isn’t enough…         <Insert Picture Here>

•   Introduction to Oracle Coherence
•   Multi-Site Challenges
•   The Push Replication Pattern
•   Deployment Models
•   Real-World Use Case
•   Demonstration
Introduction to Oracle Coherence


• Software Development Library
  – Provides a Data Grid for Application Developers
     • Clustering Technology
     • Distributed Data Structures and Compute Services
  – Pure Java 1.4.2+ (servers & clients)
  – Pure .Net 1.1, 2.x, 3.x (client)
  – Pure C++ (client)
  – No Third-Party or Open Source Dependencies

• Other Libraries Support…
  – Database and File System Integration
  – Top Link, Hibernate, Http Session Management…
Introduction to Oracle Coherence

                         • Peer-to-Peer Clustering and
                           Data Management Technology
                         • No Single Points of Failure
                         • No Single Points of Bottleneck
                         • No Masters / Slaves / Registries etc
                         • All members have responsibility for;
                             • Managing Cluster Health & Data
                             • Perform Processing and Queries
                             • Self healing
                         • Communication is point-to-point
                           (not TCP/IP) and/or one-to-many
                         • Scale to limit of the back-plane
                         • Use with commodity infrastructure
                         • Linearly Scalable By Design
Introduction to Oracle Coherence

  • Data is automatically partitioned and
 load-balanced across the Server Cluster
  • Data is synchronously replicated for
           continuous availability



                                     • Servers monitor the health of each other
                                     • When in doubt, servers work together to
                                                 diagnose status



• Healthy servers assume responsibility for
         failed server (in parallel)
• Continuous Operation: No interruption to
service or data loss due to a server failure
Introduction to Oracle Coherence

                         • Dynamically scale-out during operation

                         • Data automatically load-balanced to
                           new servers in the cluster

                         • No repartitioning required

                         • No reconfiguration required

                         • No interruption to service during
                           scale-out

                         • Scale capacity and processing on-the-fly
Coherence, Virtualization and Cloud

• Coherence is optimally designed…
  – For single data-center
  – To take advantage of physical infrastructure

• Virtualized Infrastructure can suffer packet loss
     • Physical 1Gb network = 110MB/sec throughput
     • Virtualized 1Gb network = 5MB/sec throughput!
        – Worst seen. Usually < 50% physical


• Can Coherence be used virtually or in a cloud?
  – Yes
  – Remember: Clouds are designed to provide capacity,
    scalability and better utilization… not performance
Coherence in the Cloud: Best Practises


Infrastructure         Audience             Model
Provider
Public (out-sourced)   Public               Virtualized
                                            Physical
                       Private              Virtualized
                                            Physical
Private (in-sourced)   Public               Virtualized
                                            Physical
                       Private              Virtualized
                                            Physical


     … use physical for production and/or multi-virtual core …
Agenda


•   Why one site isn’t enough…         <Insert Picture Here>

•   Introduction to Oracle Coherence
•   Multi-Site Challenges
•   The Push Replication Pattern
•   Deployment Models
•   Real-World Use Case
•   Demonstration
Challenge #1: User Expectations


• Most users (and some developers) assume;
  – “It doesn’t matter where I am in the world, everything should
    perform the same way”
     • ie: Local and Distributed Applications should perform the
       same
  – All networks perform at the same perceived speed
  – The network is not shared
     • ie: All of the available bandwidth is theirs. This is rarely
       the case.
Challenge #1: The Reality


• Applications aren’t deployed or deployable
  everywhere
  – They often rely on local resources
• All networks behave differently
• Network is always shared by many
• The speed of light is actually incredibly SLOW!
  – Very noticeable over long distances
  – Networks are slower than the speed of light
Challenge #1: Distance Matters
Typical Network Latencies
Challenge #1: Distance Matters
Typical Network Latencies
Challenge #1: Distance Matters
Typical Network Latencies
Challenge #1: Distance Matters
Typical Network Latencies
Challenge #1: Distance Matters
Typical Network Latencies
Challenge #1: The Reality


• Communicating between UK and AU servers is 3
  orders of magnitude (1000x) slower than “locally”
  – Ie: Do 1000x more work locally than between UK and AU
  – All users will notice this delay


• But… Bandwidth is usually very high 
  – Unfortunately latency is as well.
Challenge #1: The Lessons


• Architectures that work “locally” between servers
  rarely work without significant change between
  “globally” distributed servers
  – Global Architectures must be structured differently (from local
    architectures) to meet user expectations



• Achieving good performance in a globally distributed
  system means “keeping and operating on data
  locally”
  – Avoiding long-trips to data/operations
  – This means introducing “copies” = challenge of “consistency”
Challenge #1: The Lessons


• It’s easy to give users the “illusion” of good
  performance
  – Perform operations asynchronously
  – This will change the application model for the user


• The greater the physical distance between servers,
  the more “illusion” is required
  – Asynchronous APIs are very different from Synchronous APIs


• Take advantage of available bandwidth!
  – Batch work for Asynchronous Processing
Challenge #2: Where to locate data/services?


• Deciding on “where” isn’t easy
• Different Strategies:
  – Site-based, Geography-based, Team/User-based, Domain-
    based, Legality-based
  – Can be Static or Dynamic
    eg: follow the sun or load-based
Challenge #2: The Reality


• Global Architectures typically require many strategies
  – Case Study uses two strategies
• Some data/services need to be everywhere 
  – “reference data” needs to be everywhere
• Achieving “efficiency” may require changing the
  business model
Challenge #3: How is Data updated?


• Pessimistic Strategy:
  – “Global Locking Transactions”
  – Incredibly slow due to multiple round trips
  – Rarely viable over long distances or with multiple sites
  – Delivers “Guaranteed Consistency”
• Optimistic Strategy:
  – “Perform Updates Locally, Replicate and Resolve Conflicts”
  – Latency is close to theoretically possibilities (Real time)
  – Relies on “Eventual Consistency”
  – May be impossible to resolve conflicts
Agenda


•   What is a DataGrid?            <Insert Picture Here>

•   Why one site isn’t enough…
•   Multi-Site Challenges
•   The Push Replication Pattern
•   Deployment Models
•   Real-World Use Case
•   Demonstration
The Push Replication Pattern
The Rationale




… provides and extensible, flexible, high-
 performance, highly-available and scalable
 solution to support the in-order optimistic replication
 of data and operations occurring in one Coherence
 Data Grids to one or more possibly globally
 distributed other Coherence Data Grids.
The Push Replication Pattern


• The Push Replication Pattern advocates that
  – Operations (such as insert, update and delete) occurring on
    Data in one Location should be pushed using one or more
    Publishers to an associated Device.

  – A Publisher is responsible for optimistically replicating
    Operations (in the order in which the said Operations
    originally occurred) on or with the associated Device.

  – If a Device is unavailable for some reason, the associated
    Publisher will be queued and executed (in the original order)
    at a later point in time.
Agenda


•   What is a DataGrid?            <Insert Picture Here>

•   Why one site isn’t enough…
•   Multi-Site Challenges
•   The Push Replication Pattern
•   Deployment Models
•   Real-World Use Case
•   Demonstration
Deployment Models
“Master/Slave”
aka "Hot and Warm" aka "Active and Standby”


Updates to data made in the active grid are are sent
to the passive grid asynchronously and ordered
Deployment Models
“Hub and Spoke”
aka ”Master/Slaves”


Updates to data made in the active grid are are sent
to any number of passive grids asynchronously
and ordered
Deployment Models
“Hot Hot”
aka ”Federated”


Updates to data made in either of the active grids
are are sent to other active grid asynchronously
and ordered. (Conflicts are resolved on arrival)
Deployment Models
“Federated”
aka ”Multi-Master”


Updates to data made in any active grid are are
sent all other active grids asynchronously and
ordered. (Conflicts are resolved on arrival)
Agenda


•   What is a DataGrid?            <Insert Picture Here>

•   Why one site isn’t enough…
•   Multi-Site Challenges
•   The Push Replication Pattern
•   Deployment Models
•   Real-World Use Case
•   Demonstration
Real-World Usecase
Real-Time Auction



• Real-Time Auction- Real-time online auction
  between independent New York and London Data
  Grids

• Fairness – Customers (Bidders) in either location see
  recent “global” bids, and if they make the highest bid it
  will be replicated to other locations.

• Scalability - Application must support increase in
  demand, usage, catalogue, etc.
Real-World Usecase
The Players



• Auctioneer
  – Runs as a single instance at a single site (e.g. London)
  – Establishes the auction with items that are to be bid against
  – Establishes the starting price
  – Controls the auction duration
  – Signals to the bidders that the auction has started (in both
    London and New York)
  – Signals that the auction has stopped. The auctioneer then
    terminates.
Real-World Usecase
The Players



• Bidders
  – Run as independent threads in New York and London Data
    Grids
  – Wait for an auction to start
  – Picks an item up for bid, gets the current bid, increases the
    bid and submits it to the auction (locally)
  – Bidders compete with each other within a site
     • Replication between sites means they compete against
        each other globally
  – All bids are processed
  – Bidder stops bidding when the auctioneer signals that the
    auction is closed.
Real-World Usecase
What is Going On?



• Two separate Coherence clusters are running in New
  York and London operating against two caches (i.e.
  the bidding-cache and the control-cache)
• The clusters are using Coherence Incubator Push
  Replication to push bidding activity to New York from
  London and vice versa (active-active replication).
• It is also using Push Replication to push a single
  control object to both clusters (active-passive
  replication).
• Concurrent bidding is happening both within a cluster
  and between clusters.
Real-World Usecase
What is Going On?

                     London          New York


           Bidders                          Bidders

                    bidding-items
                        Cache




        Auctioneer

                     control Cache
Real-World Usecase
What is Going On?



• Within a cluster, standard Coherence Entry
  Processors are used to reconcile concurrent bids
  between competing bidders in the same cluster.
• When bids are replicated to either New York or
  London, a registered Conflict Resolver object
  reconciles bids across the pond.
• Logic in both the Conflict Resolver and the Entry
  Processor is the same: is the bidding price higher
  than the existing price in the cache? If it is,then it
  becomes the current high bid in the cache. If it isn’t,
  the bid is dropped.
Agenda


•   What is a DataGrid?            <Insert Picture Here>

•   Why one site isn’t enough…
•   Multi-Site Challenges
•   The Push Replication Pattern
•   Deployment Models
•   Real-World Use Case
•   Demonstration
Other uses


• Global Http Session Management
  – Using Coherence and Push Replication to permit highly
    available multi-continent seamless availability
• Coherence Global System of Record
  – Trades / Shopping Carts
  – Integrating Multi Domain Systems
• Messaging
  – Replacing traditional message-based systems
  – Systems become “state based” not message-based.


• “If you can cache it, Coherence can distribute it”
For More Information




          search.oracle.com
               Coherence




                    or
oracle.com/products/middleware/coherence
The Push Replication Pattern and today’s Demo




            Coherence Incubator




       Coherence Incubator Auction Demo
The preceding is intended to outline our general
product direction. It is intended for information
purposes only, and may not be incorporated into any
contract. It is not a commitment to deliver any
material, code, or functionality, and should not be
relied upon in making purchasing decisions.
The development, release, and timing of any
features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.
Tiger oracle

Mais conteúdo relacionado

Mais procurados

BranchReduce Distributed Branch-and-Bound on YARN
BranchReduce Distributed Branch-and-Bound on YARNBranchReduce Distributed Branch-and-Bound on YARN
BranchReduce Distributed Branch-and-Bound on YARN
DataWorks Summit
 
Patterns of enterprise application architecture
Patterns of enterprise application architecturePatterns of enterprise application architecture
Patterns of enterprise application architecture
thlias
 
Oracle Systems _ Nathan Kroenert _ New Software New Hardware.pdf
Oracle Systems _ Nathan Kroenert _ New Software New Hardware.pdfOracle Systems _ Nathan Kroenert _ New Software New Hardware.pdf
Oracle Systems _ Nathan Kroenert _ New Software New Hardware.pdf
InSync2011
 
Backing up your virtual environment best practices
Backing up your virtual environment   best practicesBacking up your virtual environment   best practices
Backing up your virtual environment best practices
Interop
 
Simplifying network management with Platespin
Simplifying network management with PlatespinSimplifying network management with Platespin
Simplifying network management with Platespin
Advanced Logic Industries
 

Mais procurados (20)

Introduction to Distributed Computing & Distributed Databases
Introduction to Distributed Computing & Distributed DatabasesIntroduction to Distributed Computing & Distributed Databases
Introduction to Distributed Computing & Distributed Databases
 
Migrating P2V: SUSE Linux Enterprise Server with Xen
Migrating P2V: SUSE Linux Enterprise Server with XenMigrating P2V: SUSE Linux Enterprise Server with Xen
Migrating P2V: SUSE Linux Enterprise Server with Xen
 
BranchReduce Distributed Branch-and-Bound on YARN
BranchReduce Distributed Branch-and-Bound on YARNBranchReduce Distributed Branch-and-Bound on YARN
BranchReduce Distributed Branch-and-Bound on YARN
 
Patterns of enterprise application architecture
Patterns of enterprise application architecturePatterns of enterprise application architecture
Patterns of enterprise application architecture
 
Rightscale Webinar: Building Blocks for Private and Hybrid Clouds
Rightscale Webinar: Building Blocks for Private and Hybrid CloudsRightscale Webinar: Building Blocks for Private and Hybrid Clouds
Rightscale Webinar: Building Blocks for Private and Hybrid Clouds
 
Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1
Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1
Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1
 
50 migrations in 24 hours
50 migrations in 24 hours50 migrations in 24 hours
50 migrations in 24 hours
 
Bridging the Developer and the Datacenter
Bridging the Developer and the DatacenterBridging the Developer and the Datacenter
Bridging the Developer and the Datacenter
 
Engineered Systems: Oracle's Vision for the Future
Engineered Systems: Oracle's Vision for the FutureEngineered Systems: Oracle's Vision for the Future
Engineered Systems: Oracle's Vision for the Future
 
Joyent circa 2006 (Scale with Rails)
Joyent circa 2006 (Scale with Rails)Joyent circa 2006 (Scale with Rails)
Joyent circa 2006 (Scale with Rails)
 
Oracle Systems _ Nathan Kroenert _ New Software New Hardware.pdf
Oracle Systems _ Nathan Kroenert _ New Software New Hardware.pdfOracle Systems _ Nathan Kroenert _ New Software New Hardware.pdf
Oracle Systems _ Nathan Kroenert _ New Software New Hardware.pdf
 
Cloud Computing: The Hard Problems Never Go Away
Cloud Computing: The Hard Problems Never Go AwayCloud Computing: The Hard Problems Never Go Away
Cloud Computing: The Hard Problems Never Go Away
 
CAP theorem and distributed systems
CAP theorem and distributed systemsCAP theorem and distributed systems
CAP theorem and distributed systems
 
Novell Identity Manager Tips, Tricks and Best Practices
Novell Identity Manager Tips, Tricks and Best PracticesNovell Identity Manager Tips, Tricks and Best Practices
Novell Identity Manager Tips, Tricks and Best Practices
 
Working with XSLT, XPath and ECMA Scripts: Make It Simpler with Novell Identi...
Working with XSLT, XPath and ECMA Scripts: Make It Simpler with Novell Identi...Working with XSLT, XPath and ECMA Scripts: Make It Simpler with Novell Identi...
Working with XSLT, XPath and ECMA Scripts: Make It Simpler with Novell Identi...
 
Platform as reflection of values: Joyent, node.js, and beyond
Platform as reflection of values: Joyent, node.js, and beyondPlatform as reflection of values: Joyent, node.js, and beyond
Platform as reflection of values: Joyent, node.js, and beyond
 
The Reactive Principles: Design Principles For Cloud Native Applications
The Reactive Principles: Design Principles For Cloud Native ApplicationsThe Reactive Principles: Design Principles For Cloud Native Applications
The Reactive Principles: Design Principles For Cloud Native Applications
 
Backing up your virtual environment best practices
Backing up your virtual environment   best practicesBacking up your virtual environment   best practices
Backing up your virtual environment best practices
 
Cloud computing and Docker
Cloud computing and DockerCloud computing and Docker
Cloud computing and Docker
 
Simplifying network management with Platespin
Simplifying network management with PlatespinSimplifying network management with Platespin
Simplifying network management with Platespin
 

Destaque (14)

Acertijo Rafa Maria InéS IñIgo
Acertijo Rafa Maria InéS IñIgoAcertijo Rafa Maria InéS IñIgo
Acertijo Rafa Maria InéS IñIgo
 
Sycc annual report &amp; audited accounts fy 2014 2015 represent
Sycc annual report &amp; audited accounts fy 2014 2015 representSycc annual report &amp; audited accounts fy 2014 2015 represent
Sycc annual report &amp; audited accounts fy 2014 2015 represent
 
Silentnigt piano
Silentnigt pianoSilentnigt piano
Silentnigt piano
 
Apostila hábitos de higiêne e boa educação2
Apostila hábitos  de higiêne  e  boa educação2Apostila hábitos  de higiêne  e  boa educação2
Apostila hábitos de higiêne e boa educação2
 
Tecnologias de la información y la comunicación
Tecnologias de la información y la comunicaciónTecnologias de la información y la comunicación
Tecnologias de la información y la comunicación
 
Canção cinco patinhos adaptada por simone drumond
Canção cinco patinhos adaptada por simone drumondCanção cinco patinhos adaptada por simone drumond
Canção cinco patinhos adaptada por simone drumond
 
La gestalt
La gestaltLa gestalt
La gestalt
 
Barn och sociala medier, falun, oktober 2010
Barn och sociala medier, falun, oktober 2010Barn och sociala medier, falun, oktober 2010
Barn och sociala medier, falun, oktober 2010
 
Guanches ies guimar
Guanches ies guimarGuanches ies guimar
Guanches ies guimar
 
3Com 3C905CTXM15
3Com 3C905CTXM153Com 3C905CTXM15
3Com 3C905CTXM15
 
Ace Coalition Lee Overview
Ace Coalition Lee OverviewAce Coalition Lee Overview
Ace Coalition Lee Overview
 
PlayboyClubVert_a_p
PlayboyClubVert_a_pPlayboyClubVert_a_p
PlayboyClubVert_a_p
 
Joan, oscar, noelia, gabriel
Joan, oscar, noelia, gabrielJoan, oscar, noelia, gabriel
Joan, oscar, noelia, gabriel
 
Festa junina
Festa juninaFesta junina
Festa junina
 

Semelhante a Tiger oracle

Building a highly scalable and available cloud application
Building a highly scalable and available cloud applicationBuilding a highly scalable and available cloud application
Building a highly scalable and available cloud application
Noam Sheffer
 
The Economies of Scaling Software
The Economies of Scaling SoftwareThe Economies of Scaling Software
The Economies of Scaling Software
Abdelmonaim Remani
 

Semelhante a Tiger oracle (20)

Development of concurrent services using In-Memory Data Grids
Development of concurrent services using In-Memory Data GridsDevelopment of concurrent services using In-Memory Data Grids
Development of concurrent services using In-Memory Data Grids
 
Cloud Computing Essentials in Alibaba Cloud
Cloud Computing Essentials in Alibaba CloudCloud Computing Essentials in Alibaba Cloud
Cloud Computing Essentials in Alibaba Cloud
 
Building a highly scalable and available cloud application
Building a highly scalable and available cloud applicationBuilding a highly scalable and available cloud application
Building a highly scalable and available cloud application
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud Computing - Geektalk
Cloud Computing - GeektalkCloud Computing - Geektalk
Cloud Computing - Geektalk
 
Scaling Systems: Architectures that grow
Scaling Systems: Architectures that growScaling Systems: Architectures that grow
Scaling Systems: Architectures that grow
 
Digital Transformation with Kubernetes, Containers, and Microservices
Digital Transformation with Kubernetes, Containers, and MicroservicesDigital Transformation with Kubernetes, Containers, and Microservices
Digital Transformation with Kubernetes, Containers, and Microservices
 
Fault tolerant presentation
Fault tolerant presentationFault tolerant presentation
Fault tolerant presentation
 
Rainbows, Unicorns, and other Fairy Tales in the Land of Serverless Dreams
Rainbows, Unicorns, and other Fairy Tales in the Land of Serverless DreamsRainbows, Unicorns, and other Fairy Tales in the Land of Serverless Dreams
Rainbows, Unicorns, and other Fairy Tales in the Land of Serverless Dreams
 
Microservices, Kubernetes, and Application Modernization Done Right
Microservices, Kubernetes, and Application Modernization Done RightMicroservices, Kubernetes, and Application Modernization Done Right
Microservices, Kubernetes, and Application Modernization Done Right
 
Building data intensive applications
Building data intensive applicationsBuilding data intensive applications
Building data intensive applications
 
Introduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network IssuesIntroduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network Issues
 
Iot cloud service v2.0
Iot cloud service v2.0Iot cloud service v2.0
Iot cloud service v2.0
 
The Effectiveness, Efficiency and Legitimacy of Outsourcing Your Data
The Effectiveness, Efficiency and Legitimacy of Outsourcing Your Data The Effectiveness, Efficiency and Legitimacy of Outsourcing Your Data
The Effectiveness, Efficiency and Legitimacy of Outsourcing Your Data
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
 
The Economies of Scaling Software
The Economies of Scaling SoftwareThe Economies of Scaling Software
The Economies of Scaling Software
 
Microservices: The Best Practices
Microservices: The Best PracticesMicroservices: The Best Practices
Microservices: The Best Practices
 
DCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to MicroservicesDCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to Microservices
 
Architecting for failure - Why are distributed systems hard?
Architecting for failure - Why are distributed systems hard?Architecting for failure - Why are distributed systems hard?
Architecting for failure - Why are distributed systems hard?
 
Stream Computing (The Engineer's Perspective)
Stream Computing (The Engineer's Perspective)Stream Computing (The Engineer's Perspective)
Stream Computing (The Engineer's Perspective)
 

Mais de d0nn9n

腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)
腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)
腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)
d0nn9n
 
腾讯大讲堂:55 企业法律风险防范
腾讯大讲堂:55 企业法律风险防范腾讯大讲堂:55 企业法律风险防范
腾讯大讲堂:55 企业法律风险防范
d0nn9n
 
腾讯大讲堂:56 qzone安全之路
腾讯大讲堂:56 qzone安全之路腾讯大讲堂:56 qzone安全之路
腾讯大讲堂:56 qzone安全之路
d0nn9n
 
腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里
腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里
腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里
d0nn9n
 
腾讯大讲堂:57 超级qq的千万之路
腾讯大讲堂:57 超级qq的千万之路 腾讯大讲堂:57 超级qq的千万之路
腾讯大讲堂:57 超级qq的千万之路
d0nn9n
 
蔡学镛 Rebol漫谈
蔡学镛   Rebol漫谈蔡学镛   Rebol漫谈
蔡学镛 Rebol漫谈
d0nn9n
 
赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展
d0nn9n
 
Yanggang wps
Yanggang wpsYanggang wps
Yanggang wps
d0nn9n
 
熊节 - 软件工厂的精益之路
熊节 - 软件工厂的精益之路熊节 - 软件工厂的精益之路
熊节 - 软件工厂的精益之路
d0nn9n
 
谢恩伟 - 微软在云端
谢恩伟 - 微软在云端谢恩伟 - 微软在云端
谢恩伟 - 微软在云端
d0nn9n
 
去哪儿平台技术
去哪儿平台技术去哪儿平台技术
去哪儿平台技术
d0nn9n
 
吴磊 - Silverlight企业级RIA
吴磊 - Silverlight企业级RIA吴磊 - Silverlight企业级RIA
吴磊 - Silverlight企业级RIA
d0nn9n
 
Tom - Scrum
Tom - ScrumTom - Scrum
Tom - Scrum
d0nn9n
 
Tim - FSharp
Tim - FSharpTim - FSharp
Tim - FSharp
d0nn9n
 
Paulking groovy
Paulking groovyPaulking groovy
Paulking groovy
d0nn9n
 
Paulking dlp
Paulking dlpPaulking dlp
Paulking dlp
d0nn9n
 
Patrick jcp
Patrick jcpPatrick jcp
Patrick jcp
d0nn9n
 
Nick twitter
Nick twitterNick twitter
Nick twitter
d0nn9n
 
Marc facebook
Marc facebookMarc facebook
Marc facebook
d0nn9n
 
Kane debt
Kane debtKane debt
Kane debt
d0nn9n
 

Mais de d0nn9n (20)

腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)
腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)
腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)
 
腾讯大讲堂:55 企业法律风险防范
腾讯大讲堂:55 企业法律风险防范腾讯大讲堂:55 企业法律风险防范
腾讯大讲堂:55 企业法律风险防范
 
腾讯大讲堂:56 qzone安全之路
腾讯大讲堂:56 qzone安全之路腾讯大讲堂:56 qzone安全之路
腾讯大讲堂:56 qzone安全之路
 
腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里
腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里
腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里
 
腾讯大讲堂:57 超级qq的千万之路
腾讯大讲堂:57 超级qq的千万之路 腾讯大讲堂:57 超级qq的千万之路
腾讯大讲堂:57 超级qq的千万之路
 
蔡学镛 Rebol漫谈
蔡学镛   Rebol漫谈蔡学镛   Rebol漫谈
蔡学镛 Rebol漫谈
 
赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展
 
Yanggang wps
Yanggang wpsYanggang wps
Yanggang wps
 
熊节 - 软件工厂的精益之路
熊节 - 软件工厂的精益之路熊节 - 软件工厂的精益之路
熊节 - 软件工厂的精益之路
 
谢恩伟 - 微软在云端
谢恩伟 - 微软在云端谢恩伟 - 微软在云端
谢恩伟 - 微软在云端
 
去哪儿平台技术
去哪儿平台技术去哪儿平台技术
去哪儿平台技术
 
吴磊 - Silverlight企业级RIA
吴磊 - Silverlight企业级RIA吴磊 - Silverlight企业级RIA
吴磊 - Silverlight企业级RIA
 
Tom - Scrum
Tom - ScrumTom - Scrum
Tom - Scrum
 
Tim - FSharp
Tim - FSharpTim - FSharp
Tim - FSharp
 
Paulking groovy
Paulking groovyPaulking groovy
Paulking groovy
 
Paulking dlp
Paulking dlpPaulking dlp
Paulking dlp
 
Patrick jcp
Patrick jcpPatrick jcp
Patrick jcp
 
Nick twitter
Nick twitterNick twitter
Nick twitter
 
Marc facebook
Marc facebookMarc facebook
Marc facebook
 
Kane debt
Kane debtKane debt
Kane debt
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Tiger oracle

  • 1.
  • 2. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 3. Connected Clouds: Middleware Infrastructure Brian Oliver 劳虎 Tiger Hsiao Global Solutions Architect | Oracle Coherence | 首席解决方案架构师 | 产品战略部 | Oracle Fusion Middleware Product Management Oracle 大中华区
  • 4. Agenda • Not about… – Amazon EC2, EBS, S3, VIP (or other cloud vendor) – Licensing and Pricing Models – Auto-Scaling – Fault Tolerance – High Availability – “On demand” / “Map Reduce” … • There’s enough information available about these things.
  • 5. Agenda • How to make a globally distributed stateful application appear and operate as a single stateful application. • A stateful application that may be deployed across multiple; – Cloud Regions – Cloud Providers – Data Centers • Case Study: Globally Distributed Auction
  • 6. Agenda • Why one site isn’t enough… <Insert Picture Here> • Introduction to Oracle Coherence • Multi-Site Challenges • The Push Replication Pattern • Deployment Models • Real-World Use Case • Demonstration
  • 7. Why one site isn’t enough… • Two reasons for multi-site deployments – Business Continuity (disaster recovery) – Regional Scalability (reduce latency) • You don’t need to be a multi-national corporation – Simple Web-based Application with global adoption – Simple iPhone Application with global adoption • Use Coherence for Shared Memory – Local high-availability and scalability – Interconnect for global availability and scalability
  • 8. Agenda • Why one site isn’t enough… <Insert Picture Here> • Introduction to Oracle Coherence • Multi-Site Challenges • The Push Replication Pattern • Deployment Models • Real-World Use Case • Demonstration
  • 9. Introduction to Oracle Coherence • Software Development Library – Provides a Data Grid for Application Developers • Clustering Technology • Distributed Data Structures and Compute Services – Pure Java 1.4.2+ (servers & clients) – Pure .Net 1.1, 2.x, 3.x (client) – Pure C++ (client) – No Third-Party or Open Source Dependencies • Other Libraries Support… – Database and File System Integration – Top Link, Hibernate, Http Session Management…
  • 10. Introduction to Oracle Coherence • Peer-to-Peer Clustering and Data Management Technology • No Single Points of Failure • No Single Points of Bottleneck • No Masters / Slaves / Registries etc • All members have responsibility for; • Managing Cluster Health & Data • Perform Processing and Queries • Self healing • Communication is point-to-point (not TCP/IP) and/or one-to-many • Scale to limit of the back-plane • Use with commodity infrastructure • Linearly Scalable By Design
  • 11. Introduction to Oracle Coherence • Data is automatically partitioned and load-balanced across the Server Cluster • Data is synchronously replicated for continuous availability • Servers monitor the health of each other • When in doubt, servers work together to diagnose status • Healthy servers assume responsibility for failed server (in parallel) • Continuous Operation: No interruption to service or data loss due to a server failure
  • 12. Introduction to Oracle Coherence • Dynamically scale-out during operation • Data automatically load-balanced to new servers in the cluster • No repartitioning required • No reconfiguration required • No interruption to service during scale-out • Scale capacity and processing on-the-fly
  • 13. Coherence, Virtualization and Cloud • Coherence is optimally designed… – For single data-center – To take advantage of physical infrastructure • Virtualized Infrastructure can suffer packet loss • Physical 1Gb network = 110MB/sec throughput • Virtualized 1Gb network = 5MB/sec throughput! – Worst seen. Usually < 50% physical • Can Coherence be used virtually or in a cloud? – Yes – Remember: Clouds are designed to provide capacity, scalability and better utilization… not performance
  • 14. Coherence in the Cloud: Best Practises Infrastructure Audience Model Provider Public (out-sourced) Public Virtualized Physical Private Virtualized Physical Private (in-sourced) Public Virtualized Physical Private Virtualized Physical … use physical for production and/or multi-virtual core …
  • 15. Agenda • Why one site isn’t enough… <Insert Picture Here> • Introduction to Oracle Coherence • Multi-Site Challenges • The Push Replication Pattern • Deployment Models • Real-World Use Case • Demonstration
  • 16. Challenge #1: User Expectations • Most users (and some developers) assume; – “It doesn’t matter where I am in the world, everything should perform the same way” • ie: Local and Distributed Applications should perform the same – All networks perform at the same perceived speed – The network is not shared • ie: All of the available bandwidth is theirs. This is rarely the case.
  • 17. Challenge #1: The Reality • Applications aren’t deployed or deployable everywhere – They often rely on local resources • All networks behave differently • Network is always shared by many • The speed of light is actually incredibly SLOW! – Very noticeable over long distances – Networks are slower than the speed of light
  • 18. Challenge #1: Distance Matters Typical Network Latencies
  • 19. Challenge #1: Distance Matters Typical Network Latencies
  • 20. Challenge #1: Distance Matters Typical Network Latencies
  • 21. Challenge #1: Distance Matters Typical Network Latencies
  • 22. Challenge #1: Distance Matters Typical Network Latencies
  • 23. Challenge #1: The Reality • Communicating between UK and AU servers is 3 orders of magnitude (1000x) slower than “locally” – Ie: Do 1000x more work locally than between UK and AU – All users will notice this delay • But… Bandwidth is usually very high  – Unfortunately latency is as well.
  • 24. Challenge #1: The Lessons • Architectures that work “locally” between servers rarely work without significant change between “globally” distributed servers – Global Architectures must be structured differently (from local architectures) to meet user expectations • Achieving good performance in a globally distributed system means “keeping and operating on data locally” – Avoiding long-trips to data/operations – This means introducing “copies” = challenge of “consistency”
  • 25. Challenge #1: The Lessons • It’s easy to give users the “illusion” of good performance – Perform operations asynchronously – This will change the application model for the user • The greater the physical distance between servers, the more “illusion” is required – Asynchronous APIs are very different from Synchronous APIs • Take advantage of available bandwidth! – Batch work for Asynchronous Processing
  • 26. Challenge #2: Where to locate data/services? • Deciding on “where” isn’t easy • Different Strategies: – Site-based, Geography-based, Team/User-based, Domain- based, Legality-based – Can be Static or Dynamic eg: follow the sun or load-based
  • 27. Challenge #2: The Reality • Global Architectures typically require many strategies – Case Study uses two strategies • Some data/services need to be everywhere  – “reference data” needs to be everywhere • Achieving “efficiency” may require changing the business model
  • 28. Challenge #3: How is Data updated? • Pessimistic Strategy: – “Global Locking Transactions” – Incredibly slow due to multiple round trips – Rarely viable over long distances or with multiple sites – Delivers “Guaranteed Consistency” • Optimistic Strategy: – “Perform Updates Locally, Replicate and Resolve Conflicts” – Latency is close to theoretically possibilities (Real time) – Relies on “Eventual Consistency” – May be impossible to resolve conflicts
  • 29. Agenda • What is a DataGrid? <Insert Picture Here> • Why one site isn’t enough… • Multi-Site Challenges • The Push Replication Pattern • Deployment Models • Real-World Use Case • Demonstration
  • 30. The Push Replication Pattern The Rationale … provides and extensible, flexible, high- performance, highly-available and scalable solution to support the in-order optimistic replication of data and operations occurring in one Coherence Data Grids to one or more possibly globally distributed other Coherence Data Grids.
  • 31. The Push Replication Pattern • The Push Replication Pattern advocates that – Operations (such as insert, update and delete) occurring on Data in one Location should be pushed using one or more Publishers to an associated Device. – A Publisher is responsible for optimistically replicating Operations (in the order in which the said Operations originally occurred) on or with the associated Device. – If a Device is unavailable for some reason, the associated Publisher will be queued and executed (in the original order) at a later point in time.
  • 32. Agenda • What is a DataGrid? <Insert Picture Here> • Why one site isn’t enough… • Multi-Site Challenges • The Push Replication Pattern • Deployment Models • Real-World Use Case • Demonstration
  • 33. Deployment Models “Master/Slave” aka "Hot and Warm" aka "Active and Standby” Updates to data made in the active grid are are sent to the passive grid asynchronously and ordered
  • 34. Deployment Models “Hub and Spoke” aka ”Master/Slaves” Updates to data made in the active grid are are sent to any number of passive grids asynchronously and ordered
  • 35. Deployment Models “Hot Hot” aka ”Federated” Updates to data made in either of the active grids are are sent to other active grid asynchronously and ordered. (Conflicts are resolved on arrival)
  • 36. Deployment Models “Federated” aka ”Multi-Master” Updates to data made in any active grid are are sent all other active grids asynchronously and ordered. (Conflicts are resolved on arrival)
  • 37. Agenda • What is a DataGrid? <Insert Picture Here> • Why one site isn’t enough… • Multi-Site Challenges • The Push Replication Pattern • Deployment Models • Real-World Use Case • Demonstration
  • 38. Real-World Usecase Real-Time Auction • Real-Time Auction- Real-time online auction between independent New York and London Data Grids • Fairness – Customers (Bidders) in either location see recent “global” bids, and if they make the highest bid it will be replicated to other locations. • Scalability - Application must support increase in demand, usage, catalogue, etc.
  • 39. Real-World Usecase The Players • Auctioneer – Runs as a single instance at a single site (e.g. London) – Establishes the auction with items that are to be bid against – Establishes the starting price – Controls the auction duration – Signals to the bidders that the auction has started (in both London and New York) – Signals that the auction has stopped. The auctioneer then terminates.
  • 40. Real-World Usecase The Players • Bidders – Run as independent threads in New York and London Data Grids – Wait for an auction to start – Picks an item up for bid, gets the current bid, increases the bid and submits it to the auction (locally) – Bidders compete with each other within a site • Replication between sites means they compete against each other globally – All bids are processed – Bidder stops bidding when the auctioneer signals that the auction is closed.
  • 41. Real-World Usecase What is Going On? • Two separate Coherence clusters are running in New York and London operating against two caches (i.e. the bidding-cache and the control-cache) • The clusters are using Coherence Incubator Push Replication to push bidding activity to New York from London and vice versa (active-active replication). • It is also using Push Replication to push a single control object to both clusters (active-passive replication). • Concurrent bidding is happening both within a cluster and between clusters.
  • 42. Real-World Usecase What is Going On? London New York Bidders Bidders bidding-items Cache Auctioneer control Cache
  • 43.
  • 44. Real-World Usecase What is Going On? • Within a cluster, standard Coherence Entry Processors are used to reconcile concurrent bids between competing bidders in the same cluster. • When bids are replicated to either New York or London, a registered Conflict Resolver object reconciles bids across the pond. • Logic in both the Conflict Resolver and the Entry Processor is the same: is the bidding price higher than the existing price in the cache? If it is,then it becomes the current high bid in the cache. If it isn’t, the bid is dropped.
  • 45.
  • 46.
  • 47. Agenda • What is a DataGrid? <Insert Picture Here> • Why one site isn’t enough… • Multi-Site Challenges • The Push Replication Pattern • Deployment Models • Real-World Use Case • Demonstration
  • 48. Other uses • Global Http Session Management – Using Coherence and Push Replication to permit highly available multi-continent seamless availability • Coherence Global System of Record – Trades / Shopping Carts – Integrating Multi Domain Systems • Messaging – Replacing traditional message-based systems – Systems become “state based” not message-based. • “If you can cache it, Coherence can distribute it”
  • 49. For More Information search.oracle.com Coherence or oracle.com/products/middleware/coherence
  • 50. The Push Replication Pattern and today’s Demo Coherence Incubator Coherence Incubator Auction Demo
  • 51. The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.