最近公司要搞微服务改造,拿了一个小项目开刀,找来找去,还是偏向当当的dubbox作为分布式服务框架。这里介绍下怎么一条龙跑起一个demo。

1、下载代码

  因为代码放在github上,所以我们直接用Eclipse自带的git插件来新建项目:File->Import->Git->Projects from Git->Clone URI->URI输入https://github.com/dangdangdotcom/dubbox,User和Password输入你的github账号密码,点击Next,出现分支页面后直接点Next->在Destination的directory中输入本地工程目录,点击Next->出现导入项目页面后按默认的Import as general project生成新项目,点击next->最后点Finish,慢慢等吧。目前git最新的版本是2.8.4。

2、编译代码

  下载完代码后用maven编译打包,有三个事情要做:

  一是把maven的setting文件加上阿里云仓库镜像,毕竟是人家的项目,依赖包下起来飞快,找到mirrors节点,加上如下子节点

   <mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

  二是把jetty的版本号改下,在工程pom.xml里找到jetty_version节点,把改为6.1.25;

  三是跳过test,还是在这个文件里,在build->pluginManagement->plugins节点加入如下配置

                <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>

  然后右击Eclipse的dubbox项目->Maven->update project,接着再次右击项目->Run as->Maven install。

3、运行demo

  因为要用消费者,所以把dubbo-demo\dubbo-demo-consumer包通过Import->Maven->Existing Maven Projects作为单独项目搞出来编译。同样为了看监控页面,把dubbo-simple\dubbo-monitor-simple也导出来。

  首先启动本地zookeeper,然后打出来的dubbo-admin-2.8.4.war丢到tomcat里(这里假设为8098)并启动服务治理,再分别到dubbo-demo-provider\src\test\java\com\alibaba\dubbo\demo\provider\DemoProvider.java、dubbo-demo-consumer\src\test\java\com\alibaba\dubbo\demo\consumer\DemoConsumer.java和dubbo-monitor-simple\src\test\java\com\alibaba\dubbo\monitor\simple\SimpleMonitor.java执行Run as->Java Application,启动服务提供者、消费者的内嵌式tomcat和监控的内嵌式jetty。

  以上操作结束后,我们可以去http://127.0.0.1:8098里看服务治理页面,去http://127.0.0.1:8080/applications.html看服务监控页面,用http://localhost:8888/services/u/1.json可以看到服务调用的返回结果。

dubbox下载编译运行demo的更多相关文章

  1. DuiLib学习笔记1——编译运行demo

    c++中皮肤问题比较麻烦,MFC自带的太难用.DirectUI界面库就比较强大了,之前像skin++之类的基于DirectUI收费昂贵.DuiLib是基于DirectUI的界面库,可以将用户界面和处理 ...

  2. DuiLib学习笔记1.编译运行demo

    c++中皮肤问题比较麻烦,MFC自带的太难用.DirectUI界面库就比较强大了,之前像skin++之类的基于DirectUI收费昂贵.DuiLib是基于DirectUI的界面库,可以将用户界面和处理 ...

  3. WebRTC源码开发(一)MacOS下源码下载、编译及Demo运行

    工作需要测试网络传输算法,逐学习WebRTC源码 工作环境 Mac OS 10.14 Xcode 10.2.1 源码下载 从google(需要[你懂的]) 首先[你懂的] 打开终端,输入curl ww ...

  4. Ubuntu TensorFlow 源码 Android Demo的编译运行

    Ubuntu TensorFlow 源码 Android Demo的编译运行 一. 安装 Android 的SDK和NDK SDK 配置 A:下载 国内下载地址选最新的: SDK: https://d ...

  5. JSBinding + SharpKit / 初体验:下载代码及运行Demo

    QQ群:189738580 以下是群主维护的JSB版本: git地址:https://github.com/qcwgithub/qjsbunitynew.git插件源码地址(不包含SpiderMonk ...

  6. DPM检测模型 VoC-release 5 linux 下编译运行

    (转载请注明作者和出处 楼燚(yì)航的blog :http://www.cnblogs.com/louyihang-loves-baiyan/ 未经允许请勿用于商业用途) DPM目前使非神经网络方法 ...

  7. objective-c 创建工程/编译/运行程序

    // First program example #import <Foundation/Foundation.h> int main (int argc, const char * ar ...

  8. Linux下librdkafka客户端的编译运行

    Linux下librdkafka客户端的编译运行 librdkafka是一个开源的Kafka客户端C/C++实现,提供了Kafka生产者.消费者接口. 由于项目需要,我要将Kafka生产者接口封装起来 ...

  9. GitHub 上下载代码运行报错 :'The sandbox is not sync with the Podfile.lock\'

    问题描述: github下载的Demo,很多时候使用到CocoaPods,有的时候因为依赖关系或者版本问题不能编译运行.出现例如The sandbox is not sync with the Pod ...

随机推荐

  1. redhat6.8链路聚合

    centos 6.X   聚合链路 0.查看NetworkManager服务,停止NetworkManager服务.不做这一步很可能出问题          service NetworkManage ...

  2. Spring注解(生命周期)

    对于上面的知识图解,需要一点一点的研究. 首先核心容器: 控制反转 和 依赖注入 创建工程: maven仓库搜索 spring context  : 引入后 <!-- https://mvnre ...

  3. Python caffe.TEST Example(Demo)

    下面提供了caffe python的六个测试demo,大家可以根据自己的需求进行修改. Example 1 From project FaceDetection_CNN-master, under d ...

  4. VLAN虚拟局域网技术(一)-计算机网络

    本文主要知识来源于学校课程,部分知识来自于H3C公司教材,未经许可,禁止转载.如需转载,请联系作者并注明出处. 1.  VLAN(Virtual LAN):我们称之为虚拟局域网,它的作用就是将物理上互 ...

  5. U盘安装OS

    1. 老毛桃 2. 大白菜 3.

  6. crm开发(基于ssh)(1)

    搭建crm练习ssh环境 第一步 导入jar包 第二步 搭建struts2环境 (1)创建action,创建struts.xml配置文件,配置action (2)配置struts2的过滤器 第三步 搭 ...

  7. js的callee和caller方法

    转载:http://www.css88.com/archives/1706 http://www.jb51.net/article/25561.htm 这里我们可以知道: caller的使用方法: f ...

  8. 异步编程——promise

    异步编程--promise 定义 Promise是异步编程的一个解决方案,相比传统的解决方法--回调函数,使用Promise更为合理和强大,避免了回调函数之间的层层嵌套,也使得代码结构更为清晰,便于维 ...

  9. python 爬虫001-http请求过程

    HTTP 请求流程 一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HT ...

  10. Django进阶Template篇001 - 常用模板标签及过滤器

    一.模板的组成 HTML代码+逻辑控制代码 二.逻辑控制代码的组成 1.变量(使用双大括号来引用变量) {{ var_name }} 2.标签(tag)的使用(使用大括号和百分号的组成来表示使用tag ...