最近公司要搞微服务改造,拿了一个小项目开刀,找来找去,还是偏向当当的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. [nowcoder]最长区间

    链接:https://www.nowcoder.com/acm/contest/158/B 求最长连续严格递增序列 线段树模板题,码力弱的一匹调了半天.. 代码: #include<iostre ...

  2. 初入Spring-boot(三)

    Spring boot 的运行原理 Spring boot关于自动配置的源码在spring-boot-autoconfigure-xxxx.jar内. 一.可以通过下面三种方式查看当前项目中已启用和未 ...

  3. JAVA中的数据存储(堆及堆栈)- 转载

    1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(对象可 ...

  4. Spring -- spring 中使用jdbc, c3p0连接池, dao概念

    1. 示例代码 CustomerDao.java  ,dao接口 public interface CustomerDao { public void insertCustomer(Customer ...

  5. linux find命令使用(转)

    常用命令 find  (目录)   [-type d | f]  (文件夹 | 文件)   -name   (名称,可使用正则表达式) find  /root  -name "*core&q ...

  6. python fire库的使用

    一. 介绍 fire是python中用于生成命令行界面(Command Line Interfaces, CLIs)的工具,不需要做任何额外的工作,只需要从主模块中调用fire.Fire(),它会自动 ...

  7. 005——VUE中的v-text与v-html的使用

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. ZOJ 3488 Conic Section

    The conic sections are the nondegenerate curves generated by the intersections of a plane with one o ...

  9. LeetCode OJ:Longest Common Prefix(最长公共前缀)

    Write a function to find the longest common prefix string amongst an array of strings. 求很多string的公共前 ...

  10. 大马猴队-Alpha阶段项目复审

    队名 优点 缺点 名次 菜鸡互坑队 经典游戏,情怀加分. 刷新的苹果会在蛇身上出现  14 菜鸡互啄 利用python语言实现git版本管理,典型用户清晰. 没有很好地分析用户痛点,没有测试计划  4 ...