RSS Записей | RSS Комментариев
Ядоблог - Stay upwind

Архив за июля, 2011

Админы сибири собираются

июля 28, 2011 | Комментариев нет

Желающим потусить с админами и технарями сибири: http://sibadmin.org/.
Событие будет завтра.

Непонятные буковке

июля 26, 2011 | 2 Комментариев


Как сделать домен доступным через несклько интерфейсов

июля 22, 2011 | 2 Комментариев

Допустим у нас дома стоит сервер и для надёжности подведено несколько провайдеров. Как сделать доступными сайты этого сервера, если допустим основной провайдер упадёт?

Решение красивое =). смотреть тут:http://www.bloged.org/2009/07/nginx.html

Суть:
1. Берём VDS где-нить в ацко надёжном месте. например тут: TinyVDS
2. Настраиваем на нём проксирование nginx’ом запросов на нужные сайты (можно всех). Об этом я писал тут nginx, Двойное проксирование, реальный IP, только указываем наш mycloud вместо IP как получателя с чем-то вроде max_fails=3 fail_timeout=120
3. Настраиваем nginx на основном сервере, с кучей провайдеров
Наслаждаемся =)

Есть ещё решения? делитесь =)

upd, статья, вдруг сайт удалится:

Простая конфигурация

Допустим, вы разместили ваше приложение на нескольких серверах, пусть это будут три сервера с именами myserv-1.local, myserv-2.local и myserv-3.local, расположенные в вашей локальной сети (конечно же, на самом деле без разницы, где они будут размещаться). Для того, чтобы описать такое «облако» из трёх серверов в Nginx используется опция upstream:

upstream mySuperCloud {
  server myserv-1.local;
  server myserv-2.local;
  server myserv-3.local;
}

Описанное таким образом «облако» из нескольких upstream-серверов теперь можно использовать в качестве значения параметра proxy_pass, рассмотренного в предыдущей статье. Везде, где Nginx будет наталкиваться на ссылку (в нашем случае — «mySuperCloud»), он будет по алгоритму Round-Robin выбирать следующий сервер и выполнять обратное проксирование к нему и от него. Таким образом, теперь, описывая виртуальный хост, вы можете сослаться на ваше «облако»:

server {
  listen 192.168.0.1:80;
  access_log /var/log/nginx/proxy.log;
  location / {
    proxy_pass http://mycloud;
  }
}

Привязка клиента к серверу

Часто бывает нужно, чтобы один и тот же клиент, начав делать запросы к какому-то определённому серверу, не переключался на другие. Для этого в Nginx предусмотрена опция ip_hash. Если она определена, сервер будет запоминать IP-хеши клиентов и стараться проксировать каждого из них на один и тот же сервер.

upstream mySuperCloud {
  ip_hash;
  server myserv-1.local;
  server myserv-2.local;
  server myserv-3.local;
}

Исключение сервера из «облака»

Если какой-то сервер по каким-то причинам вам необходимо отключить, чтобы Nginx не проксировал к нему клиентов, воспользуйетсь опцией down:

upstream mySuperCloud {
  server myserv-1.local;
  server myserv-2.local down;
  server myserv-3.local;
}

Определение «веса» сервера

«Вес» сервера, грубо говоря, определяет насколько часто сервер будет использоваться. Например, вес сервера myserv-1.local равен 3, вес myserv-2.local равен 1 и вес myserv-3.local равен 2. В этом случае Nginx проксирует первых трёх клиентов к серверу myserv-1.local, четвёртого — к myserv-2.local, а пятого и шестого — к myserv-2.local, после чего круг начнётся сначала. Для определения веса сервера используется директива weight, значение по умолчанию которой равно единице.

upstream mySuperCloud {
  server myserv-1.local weight=3;
  server myserv-2.local;
  server myserv-3.local weight=2;
}

Автоотключение серверов

Если какой-то из upstream-серверов перестанет отвечать на запросы, то подключение к нему станет невозможным. Nginx в этом случае переключиться на использование следующего сервера из «облака», однако каждый раз будет пытаться подключаться к неработающему серверу, растрачивая время. При помощи директивы max_fails параметра server можно определить максимально-допустимое количество неудачных попыток подключения к upstream-серверу, после чего тот будет считаться нерабочим и запросы к нему прекратятся. По умолчанию значение этого параметра равно единице, то есть после одной неудачной попытки Nginx на определённое время прекратит попытки новых подключений с нерабочему серверу. Это «определённое время» определяется значением опции fail_timeout, по умолчанию равным 10 секундам.

upstream mySuperCloud {
  server myserv-1.local max_fails=3 fail_timeout=120;
  server myserv-2.local;
  server myserv-3.local;
}

Резервные серверы

Под понятием «резервный» в Nginx выступает сервер, который используется тогда, и только тогда, когда все «не резервные» upstream-серверы определены как нерабочие, т. е. не отвечающие на запросы. Резервные серверы отмечаются с помощью директивы backup:

upstream mySuperCloud {
  server myserv-1.local;
  server myserv-2.local;
  server myserv-3.local;
  server backup-server-1.local backup;
  server backup-server-2.local backup;
}

Пять копеек о SQL

июля 17, 2011 | 3 Комментариев

Предложите решение в комментах.

Задача: хранить Игроков

Варианты решения 3 штуки(смотри картинки снизу. Слева объектная структура данных, справа способ хранения):

1. В одной таблице

2. Разделять по типам игроков и хранить в «типизированных» таблицах

3. Смешанный стиль — одинаковую информацию в главной таблице и типизированную информацию в типизированных таблицах

Феерично =)

июля 16, 2011 | 4 Комментариев

О мотивации

июля 16, 2011 | 3 Комментариев

Скалодром.

июля 11, 2011 | 1 Комментарий

Сходил сегодня на первое занятие на скалодроме. Ацко тяжело даётся, с моей никакой физической подготовкой.

для справки — это такая штуковина:

Про бедность

июля 8, 2011 | 2 Комментариев

Согласно еврейским мудрецам, нищим следует считать человека, стоимость всего движимого и недвижимого имущества которого не превышает 200 зуз, то есть минимальную сумму, необходимую человеку для того, чтобы не занимаясь никаким трудом, прожить один год.

К примеру, если человек, тяжело заболев, может, распродав все свое имущество, просуществовать на вырученные от этой продажи деньги не более года – его смело можно зачислять в нищие.

Если же денег, вырученных от продажи имущества хватит на куда более длительный срок, скажем, на два-три года, значит он просто беден.

Ну, а если человек может, ничем не занимаясь и не продавая ничего из своего имущества, существовать несколько лет исключительно на свои сбережения, его вполне можно считать богачом.


Спизжено тут

Книжге

июля 7, 2011 | 1 Комментарий

Стивен Д. Левитт и Стивен Дж. Дабнер «Фрикономика» – отличная книжка, таких нужно читать больше, развивает нестандартное мышление. На примерах хорошо показаны нетривиальные связи в нашей жизни.

Максим Котин «И ботаники делают бизнес» – книжка на 4. Ацко скучновата. Не проникся. Никак не могу себя приучить верить на слово российским политикам и бизнесменам.

Олег Тиньков «Я такой как все» — написано достаточно бодро, опять же всему верить сложно. Судить не буду о книге. Автобиографии люблю почитать, но выносить опыт из них сложно, они все написаны в стиле «Работайте, блиать». =)

Thomas Myer  «Professional CodeIgniter®» — отличная книжка по CI, хотя и написана для версии Code Igniter 1.6. Рассматривается пример создания интернет магазина с нуля. Очень полезна, особенно, после прочтения книжек по паттернам и приёмам программирования. Вообще чаще, читайте английские книжки, на русский язык переводится мало книг, а технической литературы ещё меньше.

Советы по оптимизации MongoDB

июля 6, 2011 | Комментариев нет
MongoDB, NoSQL IAD
© 2010 Ядоблог. Все права защишены.
Powered by Лаборатория Яда. Написать администратору