Apache Dubbo erlang

Clone this repo:
  1. 1a02faa sample: upgrade dubbo version to 2.7.2 by DLive · 4 months ago master
  2. a6785db optimize register result check by DLive · 4 months ago
  3. 9e22b0f Provider path parse compatible with version 2.5.x by DLive · 4 months ago
  4. 6dbb46e update feature list and usages by DLive · 4 months ago
  5. cd99042 add changes for 0.4.0 by DLive · 4 months ago

dubboerl

Apache Dubbo Erlang Implementation.

Build Status codecov

Feature list

The following features are supported.

  • Zookeeper registry center (√)
  • Dubbo Protocol (√)
  • Serialize
    • Hessian serialize (√)
    • Json serialize (√)
  • Erlang project as consumer or provider (√)
  • Sync and Async invoker (√)
  • Random loadbalance (√)
  • Connection pools (√)
  • Support protocol,cluster,loadbalance,registry and filter extension point.

Start

Import

Add dubblerl to rebar.config with your project

{deps, [
    {dubboerl, {git, "https://github.com/apache/dubbo-erlang.git", {branch, "master"}}}
]}.

Step1

Use erlanalysis tool transfer java interface to erlang lib. And add the lib to you project app dir.

Step2

configure dubbo reference.

in sys.config add dubboerl config. For example:

{dubboerl,[
    {application,<<"testdubboerl">>},
    {protocol, {dubbo, [{port, 20882}]}},
    {registry,zookeeper},
    {zookeeper_list,[{"127.0.0.1",2181}]},
    {serialization,hessian},
    {consumer,[
        {<<"org.apache.dubbo.erlang.sample.service.facade.UserOperator">>,[]}
    ]},
    {provider,[
        {user_impl,userOperator,<<"org.apache.dubbo.erlang.sample.service.facade.UserOperator">>,[]}
    ]}
]}

Step4

Init dubboerl application context when your project start.

dubboerl:init().

Step5

Call the interface method.

Request = #userInfoRequest{requestId = 123, username = "testname"},
userOperator:queryUserInfo(Request,#{sync=> true}).

Sample

Reference the demo project dubboerl_demo

More Documents

Reference Docs