Laboratuar Notları #8



Benzer belgeler
Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Laboratuar Notları #3

Laboratuar Notları #5

Laboratuar Notları #7

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals. Module 3: Cloud Computing. Laboratuar Notları

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Laboratuar Notları #7

Laboratuar Notları #5

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Windows Live ID ve parolanızı giriniz.

Laboratuar Notları #5

Bölüm 10: PHP ile Veritabanı Uygulamaları

NicProxy Registrar AWBS Modül Kurulumu Versiyon 1.0

Kurumsal Güvenlik ve Web Filtreleme

Kurumsal Güvenlik ve Web Filtreleme

Basit bir web uygulaması

Cisco 881 Router ve AirLink ES4X0, WAN Failover Tanımı

E-Posta Yönetimi. E-Posta Açma, Silme ve Yönetim Kılavuzu

Bilin tarafından verilen Kullanıcı Adı ve Şifresini bu alanlara giriniz. Bilin Yazılım ve Bilişim Danışmanlığı Ltd. Şti.

ÇANKAYA ÜNİVERSİTESİ WEBMAIL KULLANIM KLAVUZU

MCR02-AE Ethernet Temassız Kart Okuyucu

Laboratuar Notları #10

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

Ufuk Üniversitesi Kütüphanesi Kütüphane Kaynaklarına Erişim Bilgileri

Internet Programming II

Animasyon Teknikleri, Ses ve Video İşlemleri 1 / 18

LST TIPON KURULUM KILAVUZU


Design Machin e Erişim Rehberi

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

SESSİON KULLANIMI. .Aşağıdaki Kodları da SessionDevam.asp adıyla kaydedelim. Language=VBScript Codepage="1254"%>

Projelerin Görünürlüğü

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

KOD PARÇACIKLARI 1 / 5

FOSHARE UYGULAMASI Güvenli Dosya Alışverişi

BÖLÜM 23 TD F8 F4 SHIFT ESC ENTER M1.7 M1.6 M1.5 M1.4 M1.3 M1.2 M1.1 M1.0 F8 F7 F6 F5 F4 F3 F2 F1. Shift + F1

İNTERNET PROGRAMCILIĞI DERSİ

MyEnglishLab: Speakout Öğrenci Kullanım Kılavuzu

2) Hesabınıza Giriş yaptıktan sonra aşağıdaki ekran karşınıza gelir.

Python Programlama Dili

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals. Module 3: Cloud Computing

Mobil Cihazlardan Web Servis Sunumu

İNTERNET PROGRAMCILIĞI HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir.

EBA Dosya Uygulaması Kullanıcı Kılavuzu ( W eb)

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

1. Akıllı Ulaşım Menüsü

MATRİKS VERİ TERMİNALİ GELİŞMİŞ ALARM

Revit 2012 Construction Modeling Araçları

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Google Cloud Print Kılavuzu

Primavera ve Doküman Yönetim Sistemi

İNTERNET EXPLORER AYARLARI 1. Başlat-Ayarlar-Denetim Masası menüsünden "İnternet Özellikleri" (Seçenekleri)'ni seçiniz. Resim. 1

2.50 VERSİYONUMUZDA YER ALACAK, YENİ TEORİK DERS PROGRAMI KILAVUZU

MT4 Platformu Kullanıcı Kılavuzu

HSancak Nesne Tabanlı Programlama I Ders Notları

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

Öğr. Gör. Serkan AKSU 1

Öğrenci Kullanım Kılavuzu

TEBEOS KULLANICILARIMIZIN DİKKATİNE

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

BU CİHAZ BİLGİSAYAR BAĞLANTILI SİSTEM OLMAYIP, BAĞLI OLDUĞU BİLGİSAYAR İLE DEVAMLI İLETİŞİM YAPMAMAKTADIR. Mali Onaylı Yazarkasa

Wolvox Kapı Ekranı. AKINSOFT Wolvox Kapı Ekranı Yardım Dosyası. Doküman Versiyon :

SQL Uyarı Programı Kurulum ve Kullanımı

BLIND SQL INJECTION SALDIRILARI

ÖĞRENME-ÖĞRETME YÖNTEM VE TEKNİKLERİ. gösterip yaptırma, uygulamalı çalışma. Anlatım, soru-cevap, gösterip yaptırma, uygulamalı çalışma.

KULUÇKA PRG. VERSION KULLANMA KLAVUZU

1. LabVIEW ile Programlama

Trend Micro Worry-Free Business Security 8.0 İlk Kez Kurulumla İlgili İpuçları ve Püf Noktaları

Kullanıcı Kılavuzu Türk İşaret Dili (TİD) Web Sayfası Projesi. Ayça Kundak Cem Altel Didem Gözüpek M.Sadullah Ceran Metin Döşlü Seher Göğebakan

TÜRK EDEBİYATI İSİMLER SÖZLÜĞÜ SİSTEMİ KULLANIM REHBERİ

Üst Düzey Programlama

Global Haberleşme API Kullanıcı Notları

Almanya Mail Hesabı ile Outlook Kurulumu

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Kodlama Paneli. Nazmiye Demirel Ortaokulu SCRATCH Scratch bir grafik programlama dilidir.

MatLab. Mustafa Coşar

ArCloud Müşteri Müracat Elemanı. Arçelik Bulut Servis İletişim Merkezi. Kullanım Kılavuzu

Öğrenci Kullanım Kılavuzu

Yeni TIR EPD nasıl kullanılır?

XPEECH Kullanıcı Kılavuzu

Boğaziçi Üniversitesi Bilgi İşlem Merkezi. Web Yönetimi Birimi. Drupal Kullanım Kılavuzu

NEUTRON SMART HOME NTA-GN8540

EĞİTMENLER İÇİN UZAKTAN EĞİTİM SİSTEMİ (MOODLE) eders.giresun.edu.tr KULLANIM KILAVUZU

Fiery seçenekleri 1.3 yardımı (sunucu)

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

CARİ KART KAYDI. Cariye Stok Fiyatı Atama; Cari kart kaydı ekranında bulunan. stok fiyat bilgisi bölümünden Alış ve Satış fiyatlarını

MT4 Platformu u Kullanıcı Kılavuzu ARALIK 2011

Bilgilerini ve söz konusu bilgilerin Kuruluşunuz bünyesinde yer alan firmalarımıza iletilmesi hususunda gereğini rica ederim.

MyEnglishLab. Öğrenci Kullanım Kılavuzu

2. hafta Bulut Bilişime Giriş

e-tartı LTR3 Firmware Upgrade Yazılım Güncelleme Moduler Connection LTR3 Firmware Upgrade / LTR3 Yazılım Güncelleme v1.0.

08217 Internet Programcılığı I Internet Programming I

ZTerminal KULLANMA KILAVUZU. yazılımı. USB Terminal

MUĞLA SITKI KOÇMAN ÜNİVERSİTESİ. ECTS Info Pack. ECTS Bilgi Paketi Çalışmaları. Bilgi İşlem Daire Başkanlığı YAZILIM-WEB GRUBU

WEB PROGRAMLAMA. PHP Temelleri 2. Dr. Erman Yukselturk

TESTOSİS KULLANIM KLAVUZU Sisteme Giriş: adresinden yapılmaktadır.

Transkript:

The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module 3: Cloud Computing Modül 3: Bulut Bilişim Laboratuar Notları #8 A project implemented by CyberSoft Bilişim Teknolojileri Ltd. This project is funded by European Union. The contents of this publication are the sole responsibility of Cybersoft Bilişim Teknolojileri Ltd. and can in no way be taken to reflect the views of the European Union.

İçerik Bölüm 8: Amazon SQS 1. Eşzamanlı Olmayan (Asenkron) Mesajlaşma (Asynchronous messaging) nedir?...2 2. Amazon SQS Nedir?...............2 3. Amazon SQS de Programlama......... 3 3.1 Kuyruk Yaratma...............3 3.2 Kuyruk Listeleme.........4 3.3 Kuyruğa bilgi koyma.........5 3.4 Kuyruktan bilgi alma.........6 1

1. Eşzamanlı Olmayan (Asenkron) Mesajlaşma (Asynchronous messaging) nedir? Asenkron mesajlaşma, uygulamaların modüler bir şekilde çalışmasını sağlamak için kullanılmaktadır. Uygulamalar genellikle iki veya daha fazla işlem adımları içermektedir ve bu adımların çalışması genellikle pipeline (boru) şeklinde düzenlenmistir. Bu işlem adımları genellikle birbirlerine bağlıdırlar. Ardışık işlem adımları aynı sunucu üzerinde çalışabildiği gibi, bazen de aynı ağ üzerindeki değişik sunucularda da çalışabilirler. Eşzamanlı Olmayan (Asenkron) Mesajlaşmanın Avantajları Nelerdir? a) Her adım kendi hızında çalışır. Bir aşamadaki geçici yavaşlamalar bütün boru hattını durdurmak yerine sadece iş yavaşlaması ile sonuçlanır. b) Herhangi bir adım kilitlenmiş veya geçici olarak cok yüklenmiş olsa bile hiçbir iş kaybı olmaz. c) Adımlar birbirinden bağımsız olduğundan farklı sunucular üzerinden çalışabilirler ki bu da işlem yükü arttığı zaman sistemin yükünü farklı sunuculara dağıtmanıza yardımcı olur. d) Adımlar birbirinden bağımsız olduğunda test etmesi ve değiştirip geliştirilmesi daha kolay olur. 2. Amazon SQS Amazon SQS e başlamadan önce, AWS hesabınızdaki SQS hizmetinin etkin olduğundan emin olmalısınız. Amazon SQS hizmetini etkinleştirmek için Amazon SQS in ana sayfasına http://aws.amazon.com/sqs/ gidiniz ve Sign Up For Amazon SQS butonuna tıklayınız. Giriş yaptıktan sonra ekranınıza fiyatlandırma ve kredi kartı bilgilerini görüntüleyen sayfa gelecektir ve daha sonra SQS servisini etkin hale getirmek için Complete Sign Up butonuna tıklayınız. Amazon SQS, yüksek ölçeklenebilir sistemlerin yaratılmasında temel rolü üstelenen asenkron mesajlaşmayı sağlayan ilk Amazon altyapısıdır. AWS hesabınızı kullanarak istediğiniz kadar SQS kuyrukları (queue) yaratabilirsiniz. Ancak Amazon un 30 günden fazla mesaj göndermek veya almak için kullanılmayan kuyrukları silme hakkı vardır. Her SQS kuyruğunun bir ismi vardır ve benzersiz olmalıdır. Kuyruk isimleri en fazla 80 karakter olabilir ve alfanümerik karakterler, tire ve vurgular içerebilir. Her kuyruk benzersiz bir kuyruk URL ile tanımlanır. URL atandığında kuyruk oluşturulur. Kuyruklar mesajları saklamak için kullanılır. Mesajlar 8192 byte varsayılan uzunlukta olabilir; ancak set_queue_attributes fonksiyonu kullanılarak bu sınır 65.536 byte a yükseltilebilir. Mesajar otomatik olarak silinmek yerine geçici olarak görünmez olurlar. Kodunuz mesajı aldıktan sonra mesajın visibility timeout denilen işlem süresi vardır. Eğer mesajın iletilmesinde bir sorun olduysa, mesaj tekrardan görünür olur. Bu işlem modeli size veri kaybı olmayan uygulamalar yaratmanıza yardımcı olur. Visibility timeout süresi normalde 20saniye olarak ayarlanmıştır ancak istenilirse 12 saate kadar artırılabilir. SQS den mesajı aldığınız zaman aynı zamanda mesajın alındığına dair receipt handle da alınır. Denilen Bu handle ı mesajı silerken veya herhangi bir özelliğini değiştirirken kullanırsınız. Kuyruktaki mesajlar zaman sınırlamalıdırlar. Eğer herhangi bir sebepten dolayı mesajlar alınamamış ise 4 günden sonra kuyruktan silinirler. Ancak siz isterseniz set_queue_attributes fonksiyonunu kullanarak bu süreyi bir saate kadar düşürebilir veya iki haftaya kadar çıkarabilirsiniz. 2

Amazon SQS kullanarak yapılabilen işlemler: SQS programlama modeli cok basittir. Amazon hesabınızı kullanarak kuyruk yaratabilir ve silebilirsiniz. Kuyruğa mesaj gönderebilir, kuyruktan mesaj alabilir veya silebilirsiniz. Aynı zamanda mesaj görünebilirlik süresi gibi mesaj özelliklerini değişebilirsiniz. Kuyruk erişim izinlerini detaylı olarak kontrol edebilirsiniz. 3. Amazon SQS de Programlama 3.1 Kuyruk yaratma : öncelikle kuyruk yaratma ile başlayalım. Bunun için aşağıdaki kodu kullanabilrsiniz: if (count($argv) < 2) exit("usage: ". $argv[0]. " QUEUE...\n"); for ($i = 1; $i < count($argv); $i++) $queue = $argv[$i]; $res = $sqs->create_queue($queue); print("created queue '$queue'\n"); $error = (string) $res->body->error->message; print("could not create queue '$queue': $error.\n"); chapter_06/create_queues.php Bu program kodu, komut satırından kuyruk isimlerini kabul eder ve yeni bir AmazonSQS nesnesi yaratır. Daha sonra her kuyruk adı için create_queue yöntemini çağırır ve bazı yararlı mesajları ekrana basar. Örnek ekran çıktısı aşağıdaki gibidir: php create_queues.php A B C Created queue 'A' Created queue 'B' Created queue 'C' Not 1: Eğer kuyruk oluşturulamamışsa, hata iletisi döndürülür ve hata mesajı ekrana basılılr. 3

Not 2:Daha önceden varolan kuyruğu tekrar yaratmaya çalışmak herhangi bir problem yaratmaz ve kuyrukta herhangi bir soruna yol açmaz. 3.2 Kuyrukları listeleme chapter_06/list_queues.php $res = $sqs->list_queues(); $queues = $res->body->listqueuesresult->queueurl; for ($i = 0; $i < count($queues); $i++) print($queues[$i]. "\n"); print("could not retrieve list of SQS queues\n"); Bu program list_queues yöntemini çağırır ve daha sonra sonuç dizisini ekranda görüntüler. Eğer 1.000 den fazla kuyruğunuz varsa, bunları hepsini list_queues veya herhangi bir diğer SQS fonksiyonunu kullanarak listelemek imkansızdır. Gerçekci düşünürsek bir uygulamanın1000 den fazla kuyruğa ihtiyacı olma olasılığı yüksek değildir. Dolayısıyla bu kıstlama uygulamada sorun yaratmaz. 3.3 Kuyruğa bilgi koyma : Sıradaki adım yukarıda yarattığınız kuyruğuuza bazı bilgiler yüklemektir. Aşağıdaki program kodu kuyruğa bir veya birden fazla bilgi koyabilmenizi sağlar. if ($argc < 3) exit("usage: ". $argv[0]. " QUEUE_NAME ITEM...\n"); $queuename = $argv[1]; $queueurl = $sqs->create_queue($queuename)->body->createqueueresult ->QueueUrl; for *($i = 2; $i < $argc; $i++) 4

$message = $argv[$i]; $res = $sqs->send_message($queueurl, $message); print("posted '$message' to queue '$queuename'\n"); $error = $res->body->error->message; print("could not post message to queue: $error\n"); Kodu incelerseniz, kuyruğa bilgi koymanın ne kadar kolay olduğunu görebilirsiniz. send_message metodu bütün işi bizim için yapıyor...tek yapmanız gereken kuyruk URL ini ve kuyruğa koymak istediğiniz mesajı command line dan girmek olacaktır. php post_queue.php queue_name A B C Posted 'A' to queue queue_name Posted 'B' to queue queue_name Posted 'C' to queue queue_name 3.4 Kuyruktan bilgi alma: Şimdi de kuyruktan nasıl bilgi alabileceğimizi görelim. Aşağıdaki kod kuyruktan yeni bilgileri çeker, eğer receive_message metodundan herhangi bir bilgi dönmediyse, 1 saniye bekledikten sonra tekrardan dener. chapter_06/post_queue.php 154 Host Your Web Site in the Cloud if ($argc!= 2) exit("usage: ". $argv[0]. " QUEUE_NAME\n"); $queuename = $argv[1]; $queueurl = $sqs->create_queue($queuename)->body->createqueueresult ->QueueUrl; while (true) $res = $sqs->receive_message($queueurl); if (isset($res->body->receivemessageresult->message)) $message = $res->body->receivemessageresult->message; 5

$messagebody = $message->body; $receipthandle = (string)$message->receipthandle; print("message: '$messagebody'\n"); $sqs->delete_message($queueurl, $receipthandle); sleep(1); $error = $res->body->error->message; print("could not pull message from queue: $error\n"); Şimdi de sırada yukarıda gördüğümüz kuyruk manipülasyon komutlarını test edelim. En iyi sonuç için, ikinci bir terminal veya PuTTY penceresi açınız.ilk pencerede, bu komutu kullanarak bir kuyruk oluşturunuz: php create_queues.php my_queue İkinci pencerede ise aşağıdaki komutu kullanarak oluşturduğunuz kuyruktan bilgi çekmeye başlayınız: $ php pull_queue.php my_queue Kuyrukta herhangi bir bilgi yoktur dolayısıyla program sadece döngüde dönmektedir. Şimdi ilk pencerenize gidiniz ve kuyruğa birkacç tane mesaj koyunuz: $ php post_queue.php my_queue 1 2 3 4 5 Şimdi ikinci pencereye geri dönünüz ve gelen mesajlarınızı kontrol ediniz: Message: '3' Message: '4' Message: '1' Message: '5' Message: '2' Gördüğünüz gibi mesajlar gönderdiğinizden farklı sırada gelmektedir. Bu aslında beklenen bir sonuçtur ve SQS dağınık uygulama yapısından kaynaklanmaktadır. Uygulamanızı bitirdikten Ctrl+c ile ilk terminalinizi kapatmayı unutmayınız!!! 6