Søg på DotNyt:
Denne blog er flyttet til www.nielsbrinch.com


fredag den 21. september 2007

Astoria Community Technology Preview

skrevet af Christian H. Nielsen

Grundet travlhed må jeg erkende at det er for lidt jeg har fået skrevet på det seneste. Igår fik jeg imidlertid endelig tid til at lege lidt, så jeg skyndre mig at kaste mig over astoria der for nylig er lagt ud som CTP.

http://blogs.msdn.com/astoriateam/archive/2007/09/17/astoria-ctp-refresh-for-visual-studio-2008-beta-2.aspx

Man skal dog være klar over at CTP'en og de medfølgende eksempler kræver at man installerer:

  • VS 2008 beta2
  • Entities Frameworket
  • Sql Server
  • Northwind databasen

Alt i alt lidt af en omgang at komme i krig med, men det var fedt lige at se en rigtig demo af hvordan astoria i fremtiden giver mulighed for at man fra klienten direkte kommunikere med databasen via en service bygget over entities frameworket.

Da mange løsninger fremover uden tvivl vil blive baseret på LINQ to Entities alligevel virker det enormt oplagt samtidigt at oprette en astoria dataservice. Det krævet reelt kun at man opretter en service på samme måde som man opretter en class fil eller lign i Visual Studio. Eneste arbejde man selv skal gøre er at indtaste navnet på den Entities DataContext servicen skal bygge på. 

Derved kan man lave intelligente klienter uden at skulle lave en masse ekstra arbejde for at stille data til rådighed via en service som man selv skal bygge fra bunden.

2 kommentarer

søndag den 9. september 2007

I gang med Network Load Balancing

skrevet af Niels Brinch

Load balancing er kunsten at lade flere servere arbejde sammen om at håndtere en applikation. Jeg kender til to typer load balancing:

Round Robin DNS
Normalt er et domæne knyttet til en bestemt ip-adresse. Med Round Robin DNS sørger man for at et domæne peger på en ny ip ved hvert kald, for på den måde at fordele presset på serverne. Jeg ved ikke meget mere end det.

Network Load Balancing
Hver server opsættes til at tilhøre en fælles cluster ip, som domænet så bindes til. Kaldende fordeles ligeligt mellem serverne i clusteret. En fordel ved dette er, at det er muligt at aktivere såkaldt Session Affinity, hvilket betyder den samme bruger kan blive sendt til den samme server hver gang.

Det er sidstnævnte denne artikel handler om.

Det er rigtigt "nemt" at opsætte. Der er nemlig et værktøj til det indbygget i Windows Server 2003, som hedder Network Load Balancing Manager (NLB Manager). Jeg var på bar bund da jeg skulle opsætte det og løb derfor ind i en række begyndervanskeligheder. Det kan jeg spare andre for, hvis de vel at mærke læser dette.

Hvor er NLB Manager?
Sådan en simpel ting er slet ikke så simpel når man ikke ved det. Der er nemlig næsten ingen på nettet der forklarer noget der er så banalt. Jeg fandt modulet under Administrative Tools i kontrolpanelet på én server. På en anden server var den der ikke - spørg mig ikke hvorfor. I det tilfælde kan man blot skrive nlbmgr i "Kør" og åbne det ad den vej.

Microsoft fortæller man bør anvende deres Network Load Balancing Manager (NLB Manager) hvis man kan det. Det er et program der koordinerer alle indstillingerne på de forskellige server. Men det er godt nok et ekspertværktøj.

Installér Network Load Balancing Service
Endnu en banal ting som ingen forklarer noget sted. Man skal installere Network Load Balancing Service på sit netkort før noget som helst virker. De fejl NLB Manager giver hvis man ikke har installeret den service, giver ingen som helst mening. Denne service installeres ved at gå til properties på sin Local Area Connection og trykke Install -> Service -> Network Load Balancing Service.

Cluster IP
Åbn NLB Manager og Create Cluster. Her bliver du bedt om at skrive en Cluster IP uden videre forklaring. Det skal altså være den fælles ip som serverne i dit cluster skal pege på. Det skal være en offentligt tilgængelig IP der er ledig på netværket. Den må altså ikke allerede være knyttet til en server eller en router på netværket.

Host IP
IP-adresse på den server du ønsker at tilføje til clusteret.

Unicast eller Multicast?
Dette har at gøre med om det er en router der skal håndtere hvilken server der skal modtage hvert kald, eller om det er serverne selv der gør det.

Multicast anbefaler jeg hvis din router ellers har aktiveret de rette funktioner, såsom ARP og ICMP. Det finder du nok hurtigt ud af hvis den ikke har.

Unicast skulle efter sigende være nemmere at få til at fungere, men det kræver du har to netkort i dine servere. Det ene netkort i hver server bliver nemlig dedikeret til at håndtere Network Load Balancing og kan ikke foretage sig andet.

 

Jeg håber jeg sparer nogen for noget af den dummetid som jeg har brugt på at forstå disse detaljer.

Følg dette link for at finde ud af hvad der er galt, hvis det ikke lige virker:
Network Load Balancing Troubleshooting

Følg dette link for en mere konkret vejledning i skærmbillederne i NLB Manager:
Web Farming (West-Wind)

0 kommentarer


 
Til forsiden

Niels Brinch

- Seneste indlæg