欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Erlang中的OTP簡(jiǎn)介

 更新時(shí)間:2015年03月09日 09:09:02   投稿:junjie  
這篇文章主要介紹了Erlang中的OTP簡(jiǎn)介,OTP包含了一組庫(kù)和實(shí)現(xiàn)方式,可以構(gòu)建大規(guī)模、容錯(cuò)和分布式的應(yīng)用程序,包含了許多強(qiáng)大的工具,能夠?qū)崿F(xiàn)H248,SNMP等多種協(xié)議,需要的朋友可以參考下

OTP包含了一組庫(kù)和實(shí)現(xiàn)方式,可以構(gòu)建大規(guī)模、容錯(cuò)和分布式的應(yīng)用程序,包含了許多強(qiáng)大的工具,能夠?qū)崿F(xiàn)H248,SNMP等多種協(xié)議,核心概念是OTP行為,可以看作一個(gè)用回調(diào)函數(shù)作為參數(shù)的應(yīng)用程序框架,類(lèi)似一個(gè)J2EE容器。行為負(fù)責(zé)解決問(wèn)題的非函數(shù)部分,回調(diào)函數(shù)負(fù)責(zé)解決函數(shù)部分。
 
通過(guò)gen_server模塊可以實(shí)現(xiàn)事物語(yǔ)義和熱代碼交換,

1)      確定回調(diào)模塊名
2)      編寫(xiě)接口函數(shù)
3)      在回調(diào)模塊里編寫(xiě)6個(gè)必需的回調(diào)函數(shù)

當(dāng)服務(wù)器崩潰時(shí),需要一種機(jī)制來(lái)檢測(cè)并重啟它,要用到監(jiān)測(cè)樹(shù),即創(chuàng)建一個(gè)監(jiān)控器來(lái)管理服務(wù)器。監(jiān)測(cè)樹(shù)有兩種:一對(duì)一和一對(duì)多。

復(fù)制代碼 代碼如下:

$erl –boot start_sasl

會(huì)創(chuàng)建一個(gè)運(yùn)行生產(chǎn)系統(tǒng)的環(huán)境,系統(tǒng)架構(gòu)支持庫(kù)(SASL,System Administration Support Libriaries)將負(fù)責(zé)錯(cuò)誤記錄和過(guò)載保護(hù)等工作。
 
使用gen_server, gen_supervisor,application等行為,可以構(gòu)建可靠性為99.9999999的系統(tǒng)。
統(tǒng)一化的erlang消息:

1)  抽象了不同線(xiàn)路協(xié)議之間的區(qū)別
2)  Erlang消息無(wú)需解析,接收進(jìn)程不必先解析消息再處理,而http服務(wù)器就必須解析就收到的所有消息
3)  Erlang消息可以包含任意復(fù)雜度的數(shù)據(jù)類(lèi)型,而http消息必須被序列化成扁平化才能傳輸
4)  Erlang消息可以在不同處理器之間傳送

常見(jiàn)的第三方庫(kù)有rebar(https://github.com/basho/rebar)和cowboy(https://githun.com/extend/cowboy)。 Rebar是管理erlang項(xiàng)目的事實(shí)標(biāo)準(zhǔn),用戶(hù)可以通過(guò)rebar創(chuàng)建新項(xiàng)目、編譯項(xiàng)目、打包它們,以及把它們與其他項(xiàng)目整合在一起,同時(shí)集成了github。Cowboy是一個(gè)用erlang編寫(xiě)的高性能web服務(wù)器,是嵌入式web的熱門(mén)實(shí)現(xiàn)。另外,庫(kù)mochiweb2(http://github.com/mochi/mochiweb)的編碼和解碼方法可以實(shí)現(xiàn)json字符串和erlang數(shù)據(jù)類(lèi)型的相互轉(zhuǎn)換。
 
Erlang程序在多核CPU上運(yùn)行

1)  使用大量進(jìn)程
2)  避免副作用,例如不使用共享式ETS或DETS
3)  避免順序瓶頸,可以選擇pmap代替map
4)  小消息,大計(jì)算
5)  用mapreduce使計(jì)算并行化
mapreaduce是一個(gè)并行高階函數(shù),定義如下

復(fù)制代碼 代碼如下:

-specmapreduce(F1,F2,Acc0,L) ->Acc
         F1 = fun(Pid,X) ->void
         F2 = fun(Key,[Value],Acc0) ->Acc
         L = [X]
         Acc = X =term()

Mapreduce 是在并行高階函數(shù)(phofs)模塊中定義的。

相關(guān)文章

  • Erlang初學(xué):Erlang的一些特點(diǎn)和個(gè)人理解總結(jié)

    Erlang初學(xué):Erlang的一些特點(diǎn)和個(gè)人理解總結(jié)

    這篇文章主要介紹了Erlang初學(xué):Erlang的一些特點(diǎn)和個(gè)人理解總結(jié),本文總結(jié)了函數(shù)式編程、一切都是常量、輕量進(jìn)程、進(jìn)程端口映射及典型缺點(diǎn)等內(nèi)容,需要的朋友可以參考下
    2015-02-02
  • Erlang項(xiàng)目?jī)?nèi)存泄漏分析方法

    Erlang項(xiàng)目?jī)?nèi)存泄漏分析方法

    這篇文章主要介紹了Erlang項(xiàng)目?jī)?nèi)存泄漏分析方法,本文講解了分析方法、分析流程并找到問(wèn)題原因和解決方法,需要的朋友可以參考下
    2015-02-02
  • Erlang分布式節(jié)點(diǎn)中的注冊(cè)進(jìn)程使用實(shí)例

    Erlang分布式節(jié)點(diǎn)中的注冊(cè)進(jìn)程使用實(shí)例

    這篇文章主要介紹了Erlang分布式節(jié)點(diǎn)中的注冊(cè)進(jìn)程使用實(shí)例,本文直接給出實(shí)例代碼,需要的朋友可以參考下
    2015-02-02
  • Erlang IO編程之文件目錄操作常用方法小結(jié)

    Erlang IO編程之文件目錄操作常用方法小結(jié)

    這篇文章主要介紹了Erlang IO編程之文件目錄操作常用方法小結(jié),本文講解了常用的文件操作如打開(kāi)文件、讀取文件、寫(xiě)入文件、刪除文件等,需要的朋友可以參考下
    2015-01-01
  • Erlang并發(fā)編程介紹

    Erlang并發(fā)編程介紹

    這篇文章主要介紹了Erlang并發(fā)編程介紹,本文講解了進(jìn)程的創(chuàng)建 、進(jìn)程間通信、超時(shí)設(shè)置以及給出代碼實(shí)例,需要的朋友可以參考下
    2015-01-01
  • erlang?on_load_function_failed排查過(guò)程解析

    erlang?on_load_function_failed排查過(guò)程解析

    這篇文章主要為大家介紹了erlang?on_load_function_failed的排查過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Erlang中遍歷取出某個(gè)位置的最大值代碼

    Erlang中遍歷取出某個(gè)位置的最大值代碼

    這篇文章主要介紹了Erlang中遍歷取出某個(gè)位置的最大值代碼,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-03-03
  • Erlang中3種生成隨機(jī)數(shù)的方法

    Erlang中3種生成隨機(jī)數(shù)的方法

    這篇文章主要介紹了Erlang中3種生成隨機(jī)數(shù)的方法,它們分別是random:uniform()、erlang:now()、crypto:strong_rand_bytes(N),需要的朋友可以參考下
    2015-01-01
  • Erlang中的匹配模式總結(jié)

    Erlang中的匹配模式總結(jié)

    這篇文章主要介紹了Erlang中的匹配模式總結(jié),本文講解了賦值時(shí)匹配、流程控制中的匹配、消息傳遞匹配等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • Erlang中的基本元素操作小結(jié)

    Erlang中的基本元素操作小結(jié)

    這篇文章主要介紹了Erlang中的基本元素操作小結(jié),本文講解了元組(tuple)、記錄(record)、列表(list)、映射組(map)等內(nèi)容,需要的朋友可以參考下
    2015-03-03

最新評(píng)論