t59f: building scalable and available web applications...

Post on 21-May-2020

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

…Application /Web Tier

Users

Database Data tier

Application Application Application

Asp.Net app Session cart

hosted in memory

Load balancerSticky routing

Catalog sits in database

Gas Prices Go up!!

Stock Price Goes Down!!

Application/ Web Tier

Users

Database Data Tier

Application Application Application

Web

site’s too

slow!!

Servers are

crashing

Database is

hot!!

Where did

my

shopping

cart go?

http://www.iis.net/extensions/ApplicationRequestRouting

Unified cache view

Velocity callers can be spread

across machines or processes

Callers access the cache as if it

was a large single cache

Cache layer distributes data

across the various cache

nodes

… Application/Web tier

Users

Database Cloud Data tier

Application Application Application

Velocity access layer

Velocity access layer

Velocity access layer

Ve

locity

se

rvic

e

Ve

locity

se

rvic

e

Ve

locity

se

rvic

e

Cache tier

Operation Throughput Latency

Read 2k 30,000 / sec 3 – 4 ms

Write 2k 18,000 / sec 3 ms

Operation Servers Throughput

Read 2k 1 30,000 / sec

Read 2k 2 58, 600 / sec

Read 2k 3 85, 500 / sec

Velocity

Do all this at low cost!

* Requires windows server. Final SKUs/product positioning hasn’t been figured out and some capabilities/number

of nodes may require additional licenses

CTP1

• Teched

CTP2

• PDC 2008

CTP3

• End of Mar ‘09

RTM

• Mid 2009

Sector Description

Media Cache all media files and metadata; big media provider in US

Content Big content provider in Europe

Content MSDN forums is live on CTP2

Healthcare One of the large health care ISV in the world; US

Finance Big brokerage firm/banking; high performance computation

Gaming Notifications for presence;

Enterprise Largest mainframe migration to Windows

Manufacturing Manufacturing process monitoring

Insurance Session data for insurance purchase

Reference

Activity

Resource

Session state stored in velocity

Ve

locity s

erv

ice

Ve

locity

se

rvic

e

Load balance requestsNo more sticky routing

Application

Velocity sessionstoreprovid

er

Application

Velocity sessionstoreprovide

r

Application

Velocity sessionstoreprovider

Ve

locity s

erv

ice

Scale your session storedynamically

Highly available

Drop in velocity sessionstoreprovider

<sessionState mode="Custom"

customProvider=“DataCacheSessionStoreProvider">

<providers>

<add name=“DataCacheSessionStoreProvider"

type=“Microsoft.Data.Caching.DataCacheSessionStoreProvider,

ClientLibrary"

cacheName="<YourNamedCache>"/>

</providers>

</sessionState>

Caching Reference Data

Web tier

Clients

Local cache (in Proc)

Velocity

Data tier

User profile

threads…

Scenario: MSDN forums

Caching Activity-Oriented Data

Data tier

Application tier

Distributed cache

Integration

hub

Clients

Web tier

Vendor services

Pricing

Vendor

sources

Order,invoice,

payment

Aggregated

vendor

catalogs

Scenario: Insurance

Catalog

Shopping

cart

Inventory

Ve

locity

Se

rvic

e

Cache Tier

Configuration Store

(Can be database, File share, etc.)

Stores Global Cache Policies

Stores Current Partitioning Information

Ve

locity

Se

rvic

e

Ve

locity

Se

rvic

e

Install Windows Cache Service

Copy Client DLLs and add app.config

Users

Application/ Web Tier

Application

Velocity Client

Application

Velocity Client

Application

Velocity Client

<configuration>

<configSections>

<section name="dataCacheClient"

type=“Microsoft.Data.Caching.DCacheClientSection,CacheBaseLibrary"

allowLocation="true" allowDefinition="Everywhere"/>

</configSections>

<dataCacheClient deployment="routing">

<localCache isEnabled="false" sync="TTLBased“ tlValue="300”/>

<hosts>

<host name="BL1CDB8083714" cachePort="22233"

cacheHostName="DistributedCacheService"/></hosts>

</dataCacheClient>

</configuration>

… Application/ web tier

Users

Application Application Application

Velocity access layer

Velocity access layer

Velocity access layer

Ve

locity

se

rvic

e

Ve

locity

se

rvic

e

Ve

locity

se

rvic

e

Cache tier

Storage/Microsoft SDS

… Applicationroles

Users

Application Application Application

Velocity access layer

Velocity access layer

Velocity access layer

Ve

locity

se

rvic

e

Ve

locity

se

rvic

e

Ve

locity

se

rvic

e

Velocity roles

Storage/Microsoft SDS

Cache2Cache1

Primary regionsPrimary regions

Toy1,

500

Cache3

Primary regions

Toy2, 350Toy3, 400

Cache API

Local cache

Velocity

client

Dispatch manager

Federated query processor

Object manager

In-memory Data Manager

Query processor

Object manager

In-memory Data Manager

Query processor

Object manager

In-memory Data Manager

Query processor

from toy in catalog<Toy>()

where toy.ToyPrice > 300

select toy;

ToyRegion

Toy4,

100

from toy in catalog<Toy>()

where toy.ToyPrice > 300

select toy;

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market

conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

top related