原创 Ejabberd外部組件開發

Ejabberd的基本介紹就不多言了,使用erlang開發的高併發高穩定性XMPP服務器,在whatsapp中得到了應用,算是erlang領域一個殺手級應用。前面的文章中我已經總結了Ejabberd插件的開發方法,並演示瞭如何在插件中捕獲

原创 Ejabberd 插件開發 --- IQ截獲與處理

ejabberd的組件開發其實是非常簡單的,只要遵循其gen_mod規範,添加iq處理函數就可以了。下面一步步教大家如何開發ejabberd組件。 首先,最好是自己編譯ejabberd源碼,這樣的話把自己寫的組件直接放到ejabberd源

原创 Mnesia數據庫集羣(基礎)

Mnesia是Erlang OTP分發套件中一個非常重要的分佈式數據庫管理系統,官方文檔指出該數據庫適合於電信通訊類應用以及其他要求一致性和實時性的應用。Mnesia提供了專門的查詢語言QLC,使用戶可以使用類似SQL的方式操作數據庫。數

原创 rebar 構建rel小問題

這兩天被網上的一些文檔坑慘了,白白浪費了許多時間。使用rebar構建rel發行版時,需要對生成的reltool.config進行修改,添加庫的路徑,不然會一直報路徑未定義的錯誤。修改後的相關內容如下: 這點在網上很多人是沒有提到的,可

原创 Erlang 寫算法

看了兩天Erlang,先拿微分進化算法練練手。首先附上微分進化算法的流程圖。 基本的進化操作我在此就不贅述了,感興趣的同學可以跟我聯繫。附上Erlang的實現源碼。 % %   基於Erlang的微分進化算法 %   串行版本 %  

原创 Erlang的熱更新

書本上的知識太過淺薄,再次稍微總結下erlang代碼更新方式。%% Find object code for module Mod {Mod, Bin, File} = code:get_object_c

原创 從零開始 :Ubuntu 下編譯安裝ejabberd14.07

學習使用erlang已經有一段時間了,期間開發了一些文件傳輸服務和遊戲服務,效果還不錯,託erlang的福,程序至今未出過bug,穩定性那是剛剛的。 最近在實際工作過程中發現傳統的基於openfire開發的服務,併發性能不是很理想。其實o