Предыстория:
Недавно у меня возникло желание написать свой сервер мгновенных сообщений. Со своим блек-джеком и со всем остальным, как положено. Дальше решил узнать на чем нынче пишут высоконагруженные сервера. Поскольку в нашем велосообществе Братство Велосипедистов Уфы, мы для общения используем WhatsApp, начал копать какой бекэнд у них на серваках стоит.
Немного погуглив по словам stack behind WhatsApp натолкнулся на отличное описание бекэенда: ссылка
BACKEND
- OS: freeBSD
- Server : yaws
- Server application : custom ejabberd
- Language : erlang
- Technology : custom XMPP
- PHP somewhere in middle for non-stream server-user transactions.(at least website uses WordPress :) )
- Database : mnesia
- Encryption: RC4
Смотрим: ось - фряха, сервер - yaws (никогда о таком не слышал), сервера приложений - custom ejabberd(видимо что-то наподобие tomcat), технология - кастомный xmpp (знаю, что используется в jabber), php немного, бд - mnesia(позже зауглю), шифрование - RC4 (кажется проходили в универе). Всё новое и непонятное оставлю на будущее, а пока разберусь с языком erlang
Полезные ссылки чтобы понять с чем есть этот язык и его история: link_1, link_2, link_3
Теперь надо понять, как его готовить. План стандартный, как со всеми языками.
- Определить среду разработки (ide)
- Познакомиться с синтаксисом
- Получить знания по основам языка
- Изучить фреймворки и их применение
- Написать свой высоконагруженный сервер
- Определить среду разработки (ide)
Большинство статей и сам официальный сайт erlang предлагал для разработки использовать eclipse (с ним я уже знаком по разработке android, java ee). Так что проблем возникнуть не должно. У меня установлена версия eclipse luna (Version: Luna Service Release 2 (4.4.2)). На ней и решил готовить erlang. Приступил к установке модуля erlide, всё как по официальному мануалу.
Instructions
- Install Erlang R15B or later, if it isn't already present on your system. On Windows systems, use a path with no spaces in it.
- Install Eclipse 3.7 or later, if you didn't already.
- If your network uses a proxy to connect to the internet, fill in the appropriate data in
Window → Preferences → General → Network connections
. - Install Erlide by going to
Help → Install new software...
. In the dialog, enterhttp://download.erlide.org/update
as URL. Follow the dialogs with the obvious choices and in the end you will be asked to restart.
Установил erlang (erl6.4 x64. У меня Windows 8, 64 bit) - http://www.erlang.org/download.html
Добавил в системную переменную path путь к установленному интерпретатору (d:\Install\erl6.4\)
Помучился минут 20 и решил установить старую версию Eclipse Kepler SR2. Также выполнил прошлые шаги, установил erlide. И о чудо, всё откомпилилось и консолька появилась!Догадался по тому, как на официальном сайте было написано: прекращается поддержка версии Eclipse 3.7.
Сейчас поставил на закачку видеокурс Юрия Жлоба по Erlang, Докачается, приступлю к изучению.
Написал статью, чтобы не забыть и в будущем не попасть впросак. Ну а если моя статья проиндексируется поисковиками и кому-то поможет сэкономить время и нервы - буду рад)
Добавил в системную переменную path путь к установленному интерпретатору (d:\Install\erl6.4\)
Eclipse уже установлен, прокси не использую, поставил Erlide
Запустил ide, создал новый проект test, настроил run config. И уже радостный приготовился увидеть консольку. Но не тут-то было, компилироваться проект отказывался. Выдавая страшную мессагу: Expected the service to be RUNNING, but the service has FAILED.Помучился минут 20 и решил установить старую версию Eclipse Kepler SR2. Также выполнил прошлые шаги, установил erlide. И о чудо, всё откомпилилось и консолька появилась!Догадался по тому, как на официальном сайте было написано: прекращается поддержка версии Eclipse 3.7.
Сейчас поставил на закачку видеокурс Юрия Жлоба по Erlang, Докачается, приступлю к изучению.
Написал статью, чтобы не забыть и в будущем не попасть впросак. Ну а если моя статья проиндексируется поисковиками и кому-то поможет сэкономить время и нервы - буду рад)
Комментариев нет:
Отправить комментарий