当前位置: 首页 > 工具软件 > OTP > 使用案例 >

Erlang-OTP思想理解

左丘成业
2023-12-01

OTP思想

OTP的中心思想就是将程序的通用部分与业务逻辑部分分开,Erlang帮你实现通用部分,你只管实现你的业务逻辑部分就好了。就像一些分布式存储系统,例如Amazon的Dynamo、Google的Bigtable、LiveJournal的memcache等,为了保证分布式系统的容错能力、数据一致性、请求高并发性等等,具体实现的业务逻辑可能不太一样,但是他们使用的算法都非常固定。当你实现另一套分布式系统时,很可能就是参考他们的算法。OTP就是帮你实现一些算法固定的部分通用逻辑。

在一个服务器框架中,我们需要解决的问题通常有:进程命名、超时配置、调试、非期望消息和错误的处理、代码热加载、公共代码、服务器开启和关闭的处理、服务器与监督者(supervisor)的配合等等。 这些内容由自己动手编写相关代码是一件有风险的事情,而OTP构成了erlang的行为机制(behaviours),专门用于处理这些繁杂而又易出错的部分,其中的监督者(supervisor)可以让程序员创建具有层次结构的进程,使某个进程死亡后可以通过其监督者对这个进程进行重启或者保存进程数据等操作,例如gen_server就是一套通用服务器的行为机制,可以用于向多个客户端提供服务

在创建gen_server行为的代码时,会要求提供一些进程的初始化、结束、消息的同步和异步处理函数等,相当于为模板填充程序所需的内容,可以极大程度的减少错误的产生和提高开发效率

gen_server链接挖坑

 类似资料: