【从零开始构建erlang服务器】-02构建应用

【从零开始构建erlang服务器】-03构建应用


一、简介
开始一个erlang服务器应用的构建。
项目管理工具使用rebar3。配置方式参考: ubuntu16+ideaIC+rebar3搭建erlang开发环境

二、新建应用

服务器应用名:erlserver,终端执行:

rebar3 new app erlserver

===> Writing erlserver/src/erlserver_app.erl
===> Writing erlserver/src/erlserver_sup.erl
===> Writing erlserver/src/erlserver.app.src
===> Writing erlserver/rebar.config
===> Writing erlserver/.gitignore
===> Writing erlserver/LICENSE
===> Writing erlserver/README.md

此时在当前目录就生成了erlserver项目文件夹。

三、添加本地调试配置

{deps, [
    sync 
]}.

{shell, [
    {apps, [erlserver, sync]}
]}.

{dist_node, [
    {setcookie, 'only4test'},
    {name, 'erlserver@127.0.0.1'}
]}.

sync是个erlang shell应用,可以动态更新编译最新erlang项目代码,{shell...是rebar3 shell的配置和启动的应用。

三、运行应用

shell执行:rebar3 shell

===> Compiling erlserver
Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:0] [hipe] [kernel-poll:false]

Eshell V9.0  (abort with ^G)
(erlserver@127.0.0.1)1> ===> The rebar3 shell is a development tool; to deploy applications in production, consider using releases (http://www.rebar3.org/docs/releases)
Starting Sync (Automatic Code Compiler / Reloader)
Scanning source files...
===> Booted erlserver
===> Booted syntax_tools
===> Booted compiler
===> Booted sync

以上结果可以看到,执行了rebar3 shell之后,会先编译整个项目,然后运行erlserver应用节点,这时候我们就进入了一个erlang shell,并且已经启动了erlserver,sync应用。

四、集成网络库

      这里我们使用开源的erlang tcp网络库ranch

      1、添加依赖

      在rebar.config的deps里添加一个ranch依赖:

{deps, [
    sync,
    {ranch, {git, "https://github.com/ninenines/ranch", {branch, "master"}}}
]}.

      经过这步就将ranch下载下来,但是依然没有将其运行起来。

      在erlserver.app.src的依赖应用里面添加ranch:

{applications,
   [kernel,
    stdlib,
    ranch
   ]},

五、测试网络库

      经过以上步骤,ranch就集成进项目了,使用rebar3 shell运行节点,可以看到ranch应用已经启动。测试ranch能否正常启动和监听端口(照着ranch的example可以创建简单的echo服务器试试)

六、后续展望

      服务器项目已经构建,网络库也集成进来了,后面会开始利用ranch创建客户端一对一服务器进程树、以及利用protocol buffer协议做请求与服务、单元测试、common test、应用发布和部署等等。

       

(project-https://github.com/xlkness/erlserver.git)         

(未完待续。。。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值