最近公司要搞微服务改造,拿了一个小项目开刀,找来找去,还是偏向当当的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. tar 解压命令学习与总结

    tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个 ...

  2. maven更换下载镜像源-解决下载慢问题

    Maven是当前流行的项目管理工具,但官方的库在国外经常连不上,连上也下载速度很慢.国内oschina的maven服务器很早之前就关了.今天发现阿里云的一个中央仓库,亲测可用. 1 <mirro ...

  3. POJ 入门

    先复习一下C的一些基本概念 1.C标准化输出:scanf int m,n; scanf("%d%d",&n,&m); 实际上scanf是有返回值的,且返回值的类型为 ...

  4. NumPy线性代数

    NumPy - 线性代数 NumPy 包包含numpy.linalg模块,提供线性代数所需的所有功能. 此模块中的一些重要功能如下表所述. 序号 函数及描述 1. dot 两个数组的点积 2. vdo ...

  5. python脚本3_输入若干个整数打印出最大值

    #输入若干个整数,打印出最大值 # m = int(input('Input first number >>>')) while True: c = input('Input a n ...

  6. java项目生成jar,并在cmd中执行jar

    自己写的jar并使用:============Java项目============Jar包的打包在Eclipse中直接打包,具体步骤: 点击右键>export>jar file>取消 ...

  7. Linux CentOS服务启动

    Linux CentOS下如何确认MySQL服务已经启动   Linux CentOS一般做为服务器使用,因此,MySQL服务应该随开机自动启动的.正常情况下,查看开机自动启动的服务使用chkconf ...

  8. 使用ZooKeeper实现Java跨JVM的分布式锁(读写锁)

    一.使用ZooKeeper实现Java跨JVM的分布式锁 二.使用ZooKeeper实现Java跨JVM的分布式锁(优化构思) 三.使用ZooKeeper实现Java跨JVM的分布式锁(读写锁) 读写 ...

  9. Makefile的补充学习2

    Makefile中使用通配符(1)* 若干个任意字符(2)? 1个任意字符(3)[] 将[]中的字符依次去和外面的结合匹配 还有个%,也是通配符,表示任意多个字符,和*很相似,但是%一般只用于规则描述 ...

  10. 任务调度 Spring Task 4(二 )

    注解和配置文件两种 第一种:配置文件方式 第一步:编写作业类 即普通的pojo,如下: import org.springframework.stereotype.Service; @Service ...