dubbo最全的使用教程

article/2025/9/9 15:04:55

 

dubbo是阿里一款高性能,轻量级的rpc框架,有两大核心功能:远程服务调用和服务治理。本文主要介绍dubbo的运用。

 

一,安装注册中心zookeeper

1,为什么需要注册中心,不要能不能远程服务调用

       答:可以采取服务dubbo服务直连方式(@Reference注解loadbalance属性指定调用的服务的ip端口)也能在没有注册中心情况下进行远程服务调用,但每个服务的调用需要到控制台查看ip,不利于开发。

2,为什么采用zookeeper,而不是其他

由于zookeeper工业强度很强(呵呵,以后会写一篇文章介绍),所以官方文档推荐它作为注册中心。

3,安装教程(windows为例)

      3.1  官网或者百度云提取码:j5w2下载,然后解压

      3.2  把conf下zoo_sample.cfg的文件名该为zoo.cfg(最好备份),进去内容指定dataDir的存放地址;还有种方法是修改bin目录下的zkEnv.cmd,把启动的配置文件指定为zoo_sample.cfg

     3.3 双击zkServer.cmd启动,如果启动失败请看另一篇博文https://blog.csdn.net/qq_41274660/article/details/106986911

 

二,创建服务提供者消费者共有接口的maven项目

1,因为dubbo是面向接口的远程服务调用,所以需要相应的接口供服务提供者和消费者使用

2,创建接口,代码示例如下(方便复制粘贴)

package dubboImp;import test.UserAddress;import java.util.List;public interface UserService {List<UserAddress> getUserAddressList(String userId);
}

三,创建服务提供者项目

1,创建一个springboot项目(都是和springboot整合示例),引入dubbo starter依赖和二中的项目依赖

        <dependency><groupId>com.alibaba.boot</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>0.2.0</version><!--springboot2.x.x 版本对应dubbo 0.2.x版本--></dependency>

2,配置配置文件

    springboot和dubbo整合有三种配置方式,这里使用最常见的配置方式,其他的请百度

server:port: 8081dubbo:application:name: boot-order-service-provider  #应用名protocol: dubbo   #协议registry:protocol: zookeeper  #指定zookeeper为注册中心address: 127.0.0.1:2181  #注册中心地址 monitor:protocol: registryprovider:timeout: 3000

3,编写需要暴露的服务和暴露服务

package com.fq.dubboprovider;import com.alibaba.dubbo.config.annotation.Service;
import dubboImp.UserService;
import org.springframework.stereotype.Component;
import test.UserAddress;import java.util.Arrays;
import java.util.List;@Service  //这个注解暴露接口,注意是dubbo中的
public class UserServiceImpl implements UserService {  @Overridepublic List<UserAddress> getUserAddressList(String userId) {UserAddress address1 = new UserAddress(1, "XXXXX", "1", "car","123456","Y");UserAddress address2 = new UserAddress(1, "YYYYYY", "2", "ea", "4562144", "Y");return Arrays.asList(address1,address2);}
}

4,启动类加@EnableDubbo,如果配置文件指定了dubbo.scan.base-package则不需要

 

四,创建服务消费者项目

   1,除了编写消费者接口外其他步骤和三一样

   2,编写消费者接口

package com.fq.dubboconsumer;import com.alibaba.dubbo.config.annotation.Reference;
import dubboImp.OrderService;
import dubboImp.UserService;
import org.springframework.stereotype.Service;
import test.UserAddress;import java.util.List;@Service
public class OrderServiceImpl implements OrderService {@Reference //引用远程服务的注解private UserService userService;public List<UserAddress> initOrder(String userId) {List<UserAddress> userAddressList = userService.getUserAddressList(userId);return userAddressList;}
}

到了这一步之后可以写一个请求去测试远程服务调用了

 

五,安装dubbo控制台

可以到官方github项目下载运行,为了方便这里提供已经打包好的jar包,提取码:r3sr,下载下来,控制台java -jar命令运行即可,通过http://localhost:7001/访问,用户名密码都是root。在这里对负载均衡智能容错进行管理,去探索吧

 

六,安装及监控中心

官网github项目下载或者百度云下载压缩包提取码:4ied,压缩包下载下来后解压,进入/assembly.bin目录双击start.bat启动,

http://localhost:8080/访问

 

转载请注明出处https://blog.csdn.net/qq_41274660/article/details/107009838


http://chatgpt.dhexx.cn/article/mumRSLFH.shtml

相关文章

VS2017安装教程(详细版)

1.首先下载好安装包 百度网盘下载链接 链接&#xff1a;https://pan.baidu.com/s/1HW8hrLMazRsBkPvkDHkD1Q?pwdz4jg 提取码&#xff1a;z4jg 2.下载到桌面以管理员身份运行 点击继续 3.进入后更改安装位置&#xff0c;选择安装路径&#xff0c;千万不要安装到C盘 4.改完后…

vs2017秘钥

vs2017 企业版秘钥&#xff1a;NJVYC-BMHX2-G77MM-4XJMR-6Q8QF 专业版秘钥&#xff1a;KBJFW-NXHK6-W4WJM-CRMQB-G3CDH 欢迎使用Markdown编辑器 你好&#xff01; 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章…

自定义 Tabhost 样式

经过了一天的折腾, 在网上也找了不少源码&#xff0c; 但是效果都不是很好&#xff0c;非常长&#xff0c; 最后自己终于写出了一个代码不是很多的Tabhost。 先上图(背景是随便弄的, 所以不怎么样) 首先&#xff0c; 我们要先写一个主xml main.xml 每一个LinearLayout代表…

tabHost 使用方法

近日 学习TabHost的使用 再网上搜不少文章 觉得这篇写的挺好 &#xff01; 出处 &#xff1a;http://www.blogjava.net/freeman1984/archive/2010/10/29/302803.html 查看tabhost的源代码&#xff0c;主要实例变量有&#xff1a; private TabWidget mTabWidget; priv…

android Tabhost控件的使用

Tabhost用来实现如图的效果&#xff1a; 上图的首页、自选、警报是由Tabhost控件来实现的&#xff0c;Tabhost控件中的每个tab其实都是一个Activity&#xff0c;也就是说我创建一个Tabhost&#xff0c;在tabhost中添加tab页就可以实现。 实现方式&#xff1a;1、创建布局文件 …

TabHost详解0

一、TabHost是一个选项卡容器&#xff0c;通过标签页将多个Activity整合到一起。 TabHost的三要素为&#xff1a;TabWidget、FrameLayout、List<TabSpec>。 其主要的使用方式有两种&#xff1a; 1.继承TabActivity&#xff0c;结合对应的xml配置文件导入tab选项内容体 …

TabHost

TabHost的实现有两种方式&#xff0c;第一种继承TabActivity&#xff0c;从TabActivity中用getTabHost()方法获取TabHost。各个Tab中的内容在布局文件中定义就行了。 mainActivity.xml private TabHost myTabHost;Overridepublic void onCreate(Bundle savedInstanceState) {su…

Android初级控件TabHost

TabHost我们都知道是用来实现导航栏布局来切换页面的&#xff0c;这个也是元老级的控件了&#xff0c;现在逐渐被TabLayout,BottomNavigationBar,使用RadioButton自定义。。。等等给取代了。TabHost有个好处就是它添加的是Activity而不像上面那些全部使用Fragment来显示内容。 …

Android中TabHost嵌套TabHost

在嵌套TabHost时&#xff0c;先后遇到了以下情况&#xff1a; 问题1&#xff1a;内部TabHos无显示&#xff0c;只显示了其中的一个Activity&#xff1b; 解决&#xff1a;按下文比对主子TabHos的布局文件和java文件并修改&#xff1b; 问题2&#xff1a;如上所做后&#xff…

Android的Tab与TabHost讲解

在Android应用中&#xff0c;经常会用到TabHost选项卡,可以方便地在不同页面间切换。之前看过网上的一些教程&#xff0c;但大多都是一个形式&#xff0c;看得迷迷糊糊&#xff0c;不能让人很好的理解和学习。所以&#xff0c;在此详细地列出了Tab与TabHost的使用方法&#xff…

Android - TabHost 选项卡功能用法详解

一、实例 二.、TabHost介绍 TabHost组件可以在界面中存放多个选项卡, 很多软件都使用了改组件进行设计; 1. TabHost常用组件 TabWidget : 该组件就是TabHost标签页中上部 或者 下部的按钮, 可以点击按钮切换选项卡; TabSpec : 代表了选项卡界面, 添加一个TabSpec即可添加到TabH…

【转】TabHost详解

请大家尊重作者版权&#xff0c;转载请标明出处&#xff1a;http://blog.csdn.net/harvic880925/article/details/17120325 前言&#xff1a;今天仔细研究了下TabHost&#xff0c;主要是为了实现微信底部导航栏的功能&#xff0c;最后也给出一个链接&#xff0c;这位老兄用TabH…

Android入门第十一篇之TabHost,TabWidget

本文来自http://blog.csdn.net/hellogv/ &#xff0c;引用必须注明出处&#xff01; 这回要介绍的是Android的Tab控件&#xff0c;Tab控件可以达到分页的效果&#xff0c;让一个屏幕的内容尽量丰富&#xff0c;当然也会增加开发的复杂程度&#xff0c;在有必要的时候再使用。An…

android Tabhost部件

本文结合源代码和实例来说明TabHost的用法。 使用TabHost 可以在一个屏幕间进行不同版面的切换&#xff0c;例如android自带的拨号应用&#xff0c;截图&#xff1a; 查看tabhost的源代码&#xff0c;主要实例变量有&#xff1a; private TabWidget mTabWidget; …

TabHost的用法

http://blog.csdn.net/lastsweetop/article/details/5566200 本文结合源代码和实例来说明TabHost的用法。 使用TabHost 可以在一个屏幕间进行不同版面的切换&#xff0c;例如android自带的拨号应用&#xff0c;截图&#xff1a; 查看tabhost的源代码&#xff0…

ViewPager和Tabhost结合,可滑动的tabhost

有朋友反映资源下载下来有问题&#xff0c;我看了下&#xff0c;确实是&#xff0c;已更新下面文章中的代码和资源&#xff0c;现在可以好好的跑起来了&#xff0c;另外还改动了个小地方的逻辑&#xff0c;因为我在使用中出了点小错&#xff0c;需要的可以试下。另外&#xff0…

TabSpec和TabHost实例

TabSpec与TabHost TabHost相当于浏览器中浏览器分布的集合&#xff0c;而Tabspec则相当于浏览器中的每一个分页面。d在Android中&#xff0c;每一个TabSpec分布可以是一个组件&#xff0c;也可以是一个布局&#xff0c;然后将每一个分页装入TabHost中&#xff0c;TabHost即可将…

Android中的TabHost

介绍 有时&#xff0c;我们想在一个window中显示多个视图&#xff0c;这时就需要用到Tab容器。在Android里它叫TabHost。 使用TabHost有两种方式&#xff1a; 在相同的activity中使用TabHost导航多个视图使用TabHost导航多个Activity(通过intents) Tab应用的结构 TabHost的A…

Android修行手册 - TabHost回忆

往期文章分享 点击跳转>《导航贴》- Unity手册&#xff0c;系统实战学习点击跳转>《导航贴》- Android手册&#xff0c;重温移动开发 &#x1f449;关于作者 众所周知&#xff0c;人生是一个漫长的流程&#xff0c;不断克服困难&#xff0c;不断反思前进的过程。在这个过…

Android TabHost的使用

1. 最简单的TabHost&#xff0c;Tab来自于layout下的元素 &#xff08;只从1个Layout中取数据&#xff09; &#xff08;1&#xff09;效果图 &#xff08;2&#xff09;代码 1&#xff09;tab_demo.xml <?xml version"1.0" encoding"utf-8"?&g…