一、安装前准备

  由于dubbo被阿里捐献给了apache,这次安装admin时,参考网上的资料,地址还是停留在之前的链接,踩了不少坑,这里记录下。

  dubbo-admin下载地址:

  地址一:https://github.com/apache/incubator-dubbo/releases

    该地址2.6版本以上的包中没有dubbo-admin ,2.5x版本的有

  地址二:https://github.com/apache/incubator-dubbo-ops

    该地址中的dubbo-admin模块被单独拎出来了,springboot方式启动,可以直接运行main方法,或者使用 java -jar 方式启动,很方便,有github账号的可以fork一下,推荐使用这个版本,本文介绍的就是该版本  。

二、dubbo-spring-boot-starter的使用

  github地址:https://github.com/alibaba/dubbo-spring-boot-starter 最新版本为2.0 ,本文也是使用的该版本。

2.1、添加依赖

    <dependency>
<groupId>com.alibaba.spring.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>

2.2、新建接口模块

  目录结构

  接口类

package com.dc.sb.service;

public interface RemoteUserService {

    String sayHello(String name);

}

2.3、新建provider模块

  目录结构

  接口实现类

package com.dc.sb.dubbo.provider.service.user;

import com.alibaba.dubbo.config.annotation.Service;
import com.dc.sb.service.RemoteUserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; /**
* dubbo 服务service
*
* @author DUCHONG
* @since 2018-07-03 18:29
**/
@Component
@Service(version = "1.0.0",timeout = 10000,interfaceClass = RemoteUserService.class)
public class RemoteUserServiceImpl implements RemoteUserService { private static final Logger logger = LoggerFactory.getLogger(RemoteUserServiceImpl.class); @Override
public String sayHello(String name) { return "Hello "+name;
}
}

  配置文件

server.port=8081
server.context-path=/ spring.application.name=dubbo-spring-boot-starter
spring.dubbo.server=true
spring.dubbo.registry=zookeeper://127.0.0.1:2181

  启动类

package com.dc.sb.dubbo.provider;

import com.alibaba.dubbo.spring.boot.annotation.EnableDubboConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
@EnableDubboConfiguration
public class SbDubboProviderApplication { public static void main(String[] args) {
SpringApplication.run(SbDubboProviderApplication.class, args);
}
}

2.4、 消费者模块

  目录结构

  启动类

package com.dc.sb.web;

import com.alibaba.dubbo.spring.boot.annotation.EnableDubboConfiguration;
import com.dc.sb.config.DruidProperties;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.ComponentScan; @SpringBootApplication
@EnableConfigurationProperties({DruidProperties.class})
@MapperScan(basePackages = "com.dc.sb.dao")
@ComponentScan("com.dc.sb.*")
@EnableDubboConfiguration
public class SbWebApplication { public static void main(String[] args) {
SpringApplication.run(SbWebApplication.class, args);
}
}

  配置文件

#server
server.port=8080
server.context-path=/ #mybatis
mybatis.type-aliases-package= com.dc.sb.dao.dataobject
mybatis.mapper-locations= classpath*:META-INF/mybatis/mapper/*.xml #druid
druid.initialSize= 5
druid.minIdle= 0
druid.maxActive= 20
druid.maxWait= 6000
druid.timeBetweenEvictionRunsMillis= 60000
druid.minEvictableIdleTimeMillis= 300000
druid.validationQuery= SELECT 1 FROM DUAL
druid.testWhileIdle= false
druid.testOnBorrow= false
druid.testOnReturn= false
druid.poolPreparedStatements= true
druid.maxPoolPreparedStatementPerConnectionSize= 20
druid.filters= stat,log4j #mysql
spring.datasource.driver-class-name= com.mysql.jdbc.Driver
spring.datasource.url= jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&allowMultiQueries=true
spring.datasource.username= root
spring.datasource.password=root #redis
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=redis #dubbo
spring.application.name=dubbo-spring-boot-starter
spring.dubbo.registry=zookeeper://127.0.0.1:2181

  引用端

package com.dc.sb.web.controller.remote;

import com.alibaba.dubbo.config.annotation.Reference;
import com.dc.sb.service.RemoteUserService;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; /**
* dubbo消费者controller
* @author DUCHONG
* @since 2018-07-03 18:44
**/
@RestController
public class RemoteUserController { //timeout 可以不指定,但是version一定要指定 不然会找不到服务 直连需要加url="dubbo://localhost:20880"
@Reference(version = "1.0.0")
private RemoteUserService remoteUserService; @RequestMapping(value="/dubbo/say/{name}")
public String sayHello(@PathVariable("name") String name){ String result=remoteUserService.sayHello(name);
return result;
} }

三、dubbo-admin的启动

下载地址二的包,直接在idea中打开,结构如下:

install完成之后,直接右键DubboAdminApplication  Run

修改配置文件,位置在 dubbo-admin /src/main/resource下面

#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# server.port=7001
spring.velocity.cache=false
spring.velocity.charset=UTF-8
spring.velocity.layout-url=/templates/default.vm
spring.messages.fallback-to-system-locale=false
spring.messages.basename=i18n/message
spring.root.password=root
spring.guest.password=guest dubbo.registry.address=zookeeper://127.0.0.1:2181

根据自己的需要修改,包括dubbo-admin用户名密码,当然zk的配置也是少不了的,具体怎么安装zk,启动以及配置,这里就不多说了,

默认的的用户名和密码为:

root
root guest
guest

3.1、访问

localhost:7001

 首页

 service

 provider

consumer

完整代码已上传github 欢迎fork  传送门

springboot整合最新版dubbo以及dubbo-admin的安装的更多相关文章

  1. SpringBoot整合RabbitMQ-整合演示

    本系列是学习SpringBoot整合RabbitMQ的练手,包含服务安装,RabbitMQ整合SpringBoot2.x,消息可靠性投递实现等三篇博客. 学习路径:https://www.imooc. ...

  2. SpringBoot整合RabbitMQ-消息可靠性投递

    本系列是学习SpringBoot整合RabbitMQ的练手,包含服务安装,RabbitMQ整合SpringBoot2.x,消息可靠性投递实现等三篇博客. 学习路径:https://www.imooc. ...

  3. SpringBoot整合RabbitMQ-服务安装

    本系列是学习SpringBoot整合RabbitMQ的练手,包含服务安装,RabbitMQ整合SpringBoot2.x,消息可靠性投递实现等三篇博客. 学习路径:https://www.imooc. ...

  4. springboot整合dubbo+zookeeper最新详细

    引入 最近和小伙伴做一个比赛,处于开发阶段,因为涉及的服务比较多,且服务需要分开部署在不同的服务器上,讨论之后,打算采用分布式来做,之前学习springboot的时候,部分章节涉及到了springbo ...

  5. Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢!   “看看星空,会觉得自己很渺小,可能我们在宇宙中从来就是一个偶然.所以,无论什么事情,仔细想一 ...

  6. springboot整合dubbo\zookeeper做注册中心

    springboot整合dubbo发布服务,zookeeper做注册中心.前期的安装zookeeper以及启动zookeeper集群就不说了. dubbo-admin-2.5.4.war:dubbo服 ...

  7. SpringBoot整合dubbo

    Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成. 以上介绍来源于百度百科,具体dubbo相关可以自行查 ...

  8. SpringBoot 整合使用dubbo

    这里主要是按照teaey作者的spring-boot-starter-dubbo框架进行一些变化的使用 依赖包: <dependency> <groupId>com.aliba ...

  9. 【转】SpringBoot学习笔记(7) SpringBoot整合Dubbo(使用yml配置)

    http://blog.csdn.net/a67474506/article/details/61640548 Dubbo是什么东西我这里就不详细介绍了,自己可以去谷歌 SpringBoot整合Dub ...

随机推荐

  1. WPF 自定义键盘焦点样式(FocusVisualStyle)

    WPF 自带的键盘焦点样式是与传统控件样式搭配的,但 WPF 凭着其强大的自定义样式的能力,做出与传统控件样式完全不同风格的 UI 简直易如反掌.这时,其自带的键盘焦点样式(FocusVisualSt ...

  2. GCD 深入理解(二)

    转自@nixzhu的GitHub主页(译者:Riven.@nixzhu),原文<Grand Central Dispatch In-Depth: Part 2/2> 欢迎来到GCD深入理解 ...

  3. bat命令1

    echo 命令 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo命令将显示当前回显设置. 语法 echo [{on|off}] [message] Sample:@echo off ...

  4. Terraform 多云管理工具

    1. 介绍   Terraform is a tool for building, changing, and versioning infrastructure safely and efficie ...

  5. bower.json 的版本范围

    bower.json 的版本范围 有小伙伴问 ~2.2.0 什么意思. 而且在git 的tags 中没有了 2.2.0 版本,怎么样? 实际上 ~2.2.0 的意思是 >=2.2.0 <2 ...

  6. 关于SQL的几道小题详解

    关于SQL的几道小题详解 当我们拿到题目的时候,并不是急于作答,那样会得不偿失的,而是分析思路,采用什么方法,达到什么目的,还要思考有没有简单的方法或者通用的方法等等,这样才会达到以一当十的效果,这样 ...

  7. CentOS6.5安装中文支持

    本人在安装CentOS6.5时选择是英文版,安装后打开文档,发现好些文档成了乱码了. 这个问题的原因是没有中文支持. 解决方法: 1.安装中文支持包 # yum groupinstall " ...

  8. RK3288 修改设备默认的蓝牙名称

    path:device/rockchip/rk3288/bluetooth/bdroid_buildcfg.h /* * Copyright (C) 2012 The Android Open Sou ...

  9. 关于FPGA供电

    FPGA是一种多电源需求的芯片,主要有3种电源需求: VCCINT:核心工作电压,PCI Express (PCIe) 硬核IP 模块和收发器物理编码子层(PCS) 电源.一般电压都很低,目前常用的F ...

  10. Zookeeper--分布式锁和消息队列

    在java并发包中提供了若干锁的实现,它们是用于单个java虚拟机进程中的:而分布式锁能够在一组进程之间提供互斥机制,保证在任何时刻只有一个进程可以持有锁. 分布式环境中多个进程的锁则可以使用Zook ...