Archive for October, 2009

Velocity – dynamiczna konfiguracja klienta

Od pewnego czasu zgłębiam tajniki projektu Velocity, czyli rozproszonego cache osadzonego w pamięci oferowanego przez Microsoft. Po tym jak przyjżymy się aplikacji (np webowej) zauważymy jeden bardzo dotkliwy problem. Wyobraźmy sobie dobrze zaprojektowany klaster serwerów obsługujących Velocity z wysoką dostępnością danych, regionami, odpowiednio ustalonymi politykami zarządzania obiektami w cache. Połączenie do klastra odbywa się poprzez leading host, który jest odpowiedzialny za komunikację pomiędzy klientem i klasterm. Jednakże co w przypadku, gdy taki host przestaje odpowiadać?

Pierwsze co robimy to wystartowanie hosta w klastrze, który będzie odpowiadał za komunikację.

W tym momencie możemy bez żadnych przeszkód uruchomić aplikację, w której host nie jest pobierany z pliku konfiguracyjnego, tylko ustawiany w kodzie jak widać poniżej:

Uruchomienie przebiega pomyslnie – czyli tak jak powinien. Zobaczmy zatem co dzieje się w przypadku niedostępności hosta. Aby móc to przetestować trzeba zasymulować padnięcie serwera.

Próba skorzystania z polecenia Stop-CacheHost w przypadku pojedynczego hosta w klastrze powoduje błąd kworum klastra – bo nie może on istnieć bez żadnego hosta… Oczywiste. Pozostaje zatem zatrzymanie całego klastra i zbadanie jak zachowa się aplikacja.

 

Jak to rozwiązać? W projekcie dodajemy klasę EndpointsProvider będącą definicją providera odczytującego informacje o endpointach czy to z bazy, czy nawet ze źródla RSS.

Przy użyciu powyższego kodu proces inicjacji fabryki trwa tak długo, aż utworzenie istancji cache nie spowoduje zrzucenia błędu typu DataCacheException (lub wyczerpania puli hostów, lecz uznaję to za przypadek mało prawdopodobny w momencie utworzenia klastra z kilkoma serwerami i leading hostami…)

Mam nadzieję, że ten prosty workaround pomoże wam w rozwiązaniu problemu dynamicznej konfiguracji aplikacji bez konieczności zmian w plikach konfiguracyjnych.


Już dostępne

Jak już wcześniej pisałem 21 października Visual Studio 2010 Beta 2 będzie dostępne do pobrania ze stron Microsoft. Ten dzień właśnie nadszedł :) Ja już pobieram.

http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx


VIsual Studio 2010 beta2 już 21 października

VS2010 i .NET Framework 4.0 beta2 na MSDN będzie dostępne już 21 października. To wydanie zostało okrzyknięte najbardziej znamienitym w ciągu ostatnich lat.

http://www.theregister.co.uk/2009/10/19/visual_studio_2010_second_beta_packaging/


Tak było na stoisku społeczności podczas MTS 2009

Zapraszamy w przyszłym roku!


Na koniec dnia coś zabawnego

http://deser.pl/deser/1,83453,7087222,Papuga_uwielbia_egipska_muzyke.html

Zabawna papużka – tym bardziej w kontekście niedawnej podróży do Egiptu :)


Relacja z MTS

MTS2009 – kolejna edycja chyba największej w Polsce konferencji branży IT. Kolejna, lecz w moim odczuciu inna niż poprzednie. Dlaczego? Przede wszystkim dlatego, że według mnie więcej się działo, a w szczególności na naszym stoisku Społeczności IT. Akcja marketingowa grup pokazała wielu ludziom, że istniejemy – bo spora część ludzi podchodzących do stoiska w ogóle o nas nie wiedziała – teraz powoli zaczyna się to zmieniać :) oby ta tendencja się utrzymywała. Ale to wszystko działo się na przerwach pomiędzy częściami merytorycznymi tej konferencji. Teraz kilka słów właśnie o tym.

Konferencja rozpoczęła się jak zwykle od sesji generalnej – tym razem było to spojrzenie w przyszłość – jak będzie wyglądał nasz świat za 10 lat. Po części była to mocno futurystyczna wizja, która wiekszość ludzi zapewne skłoniła do stwierdzenia – heh, fajne, ale możliwe raczej w filmach. Nic bardziej mylnego – wiele prototypów rozwiązań pokazanych na filmie już istnieje, a przed nimi jeszcze dziesięć lat!

Żeby opisać wszystkie sesje trzeba by poświęcić dużo czasu i pewnie mało kto by to przeczytał do końca, zatem ograniczę się do kilku zdań o sesjach, które według mnie były najciekawsze.

Pierwszą sesją w moim harmonogramie była “Visual Studio 2010 – Database Projects – czyli efektywna praca z projektami baz danych”. Można było zobaczyć praktyczne podejście do projektów bazodanowych, zarządzania wersjami i zmianami w bazie danych. Koniec z przygotowywaniem skryptów uaktualniających schematy – teraz można to zrobić “z automatu” – a co lepsze działa :) Nie trzeba też kombinować z wypełnianiem bazy do testów – dane generowane są na podstawie wybranych przez nas parametrów! Oczywiście nie jest to rozwiązanie takie jak dostarcza Redgate – jego możliwości są mniejsze, aczkolwiek miła jest perspektywa, że możemy wiele z tych funkcji rozszerzyć pisząc własny kod. Duży plus za temat i wykonanie.

“Usługi w świecie Microsoft: WCF,REST, .NET Service Bus, Workflow Services” by Tomasz Kopacz. Sesja w niepowtarzalnym stylu. Pełen profesjonalizm, zabójcze dla szarych komórek tempo prowadzenia utrzymane od początku do końca, ale czasem miło posłuchać o technologi tak, że zapycha nam się input. Streszczenie sesji znajduje się na dobrą sprawę w jej temacie. Trudno pokusić się o jakiekolwiek rozwinięcie tego, bo zwyczajnie się nie da bez pomijania niektórych elementów, a tak jest krótko i zwięźle, a przede wszystkim wiadomo o co chodzi :)

Pozostałe sesje również godne uwagi i obejrzenia/odsłuchania po pojawieniu się materiałów z konferencji, gdyż nawet gdy zna się temat czasem dają na niego inne spojrzenie.

Nie można zapomnieć o drugiej edycji konkursu Speaker Idol – wielkie gratulacje dla Tomka Wiśniewskiego (mojego cichego faworyta od samego początku) – słucha się Ciebie z przyjemnością i bierzesz pod uwagę to co doradzą Ci inni – tak trzymaj!

To by było na tyle jeżeli chodzi o najważniejsze wrażenia związane z tegoroczną edycją MTS.


  • O mnie

    Maciej Grabek

    Moje profile na:

    MVP

    Codeguru.pl GoldenLine
    Twitter CodeProject

  • english version
  • Polecam

  • Copyright © Maciej Grabek. All rights reserved.
    Powered by WordPress
    %d bloggers like this: