Java dubbo框架视频教程之分布式框架搭建

Java dubbo框架视频教程之分布式框架搭建

天津卓众教育      2022-04-27 22:35:01     16

Java dubbo框架视频教程之分布式框架搭建,Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。以下是一个简单的dubbo架构

课程价格 请咨询

上课时段: 授课校区:

详细介绍

Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。以下是一个简单的dubbo架构图。

小编从刀耕火种的原始web开发时代一直走到现在,感慨良多。从单体应用,到mvc模型,再到使用webservice,企业服务总线,一直到dubbo,每一次理念的升级,都是带来开发工作的解放。互联网技术日新月异,活到老学到老是必须的。

Zookeeper搭建

从官网下载zookeeper作为服务注册中心。解压后进入conf目录,重命名zoo_simple.cfg为zoo.cfg.根据是windows还是linux其中zkServer.cmd或zkServer.sh。这样服务就启动起来了。注意clientPort=2181,客户端使用这个端口和zookeeper通信。现在假设zookeeper所在机器域名为zooregistry.com。后文将会用到。

dubbo monitor安装

下载

dubbo-monitor-simple-2.4.1-assembly.tar.gz解压。打开conf/dubbo.properties,启用配置

dubbo.registry.address=

zookeeper://zooregistry.com:2181。使用bin/start.bat或bin/start.sh其中dubbo monitor。monitor可以用来监控分布式系统的运行状态,并提供上线或下线服务等功能。

dubbo admin安装

下载dubbo-admin-2.5.8这个war包解压。修改WEB-INF/dubbo.properties。修改配置为

dubbo.registry.address=

zookeeper://zooregistry.com:2181.这里可以修改用户名和密码。将修改后的包放到tomcat/webapp/ROOT/目录并启动既可以。

dubbo admin可以简单理解dubbo admin的加强版,两者各有所长。这个步骤是非必须的,小编建议还是配置下。

Spring开发环境搭建

Api provider

以上配置的注册中心和监控中心后,就可以进行系统开发了。我们使用maven管理项目。

服务提供者和消费者需要一套接口,那么我们使用maven创建一个jar项目.例如我们在定义一个接口。

package io.kuaibao.provider.service;import java.io.Serializable;public interface ServerTimeService extends Serializable{String getTime();}

然后使用maven创建消费者web项目,和一个提供者jar项目。

Provider开发

定义提供者bean文件

applicationProvider20883.xml。以下只列出核心代码,有需求的话可以在github上下载源代码试用。

<!--提供方应用信息,用于计算依赖关系-->

<dubbo:application name="dubbo_provider3"/>

<!--使用zookeeper注册中心暴露服务地址-->

<dubbo:registry address="zookeeper://zooregistry:2181"/>

<!--用dubbo协议在20883端口暴露服务-->

<dubbo:protocol name="dubbo"port="20883"/>

<dubbo:monitor protocol="registry"/>

<!--声明需要暴露的服务接口-->

<dubbo:annotation package="io.kuaibao.provider.service"/>

实现服务:

package io.kuaibao.provider.service.impl;import i.kuaibao.provider.service.ServerTimeService;import java.text.SimpleDateFormat;import java.util.Date; com.alibaba.dubbo.config.annotation.Servicepublic class TimeServiceImpl implements ServerTimeService{SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Overridepublic String getTime(){System.out.println("invoke");return simpleDateFormat.format(new Date());}}

启动服务者:

public class Main{public static void main(String[]args)throws IOException{ClassPathXmlApplicationContext classPathXmlApplicationContext=new ClassPathXmlApplicationContext("classpath*:applicationProvider20883.xml");System.in.read();}}

如果要启动多个服务提供者只需要修改<dubbo:protocol name="dubbo"port="20883"/>并执行即可。

Consumer开发

在spirngmvc.xml文件中进行一下配置:

<dubbo:application name="dubbo_consumer222"/>

<!--使用multicast广播注册中心暴露发现服务地址-->

<dubbo:registry address="zookeeper://zooregistry:2181"/>

<dubbo:annotation package="io.kuaibao.consumer.controller"/>

<dubbo:consumer timeout="30000"/>

<dubbo:monitor protocol="registry"/>

<!--自动扫描 Controller-->

<context:component-scan base-package="io.kuaibao.consumer.controller"/>

注意服务在什么地方使用,就将dubbo配置放在什么容器中。我们这里直接在controller中使用,所以讲dubbo放在mvc容器中。

此时我们可以在controller中使用 

com.alibaba.dubbo.config.annotation.Reference注解注入需要的service。

Java视频下载

Dubbo:http://www.bjpowernode.com/javavideo/129.html

以上就是天津卓众教育java培训机构的小编针对“Java dubbo框架视频教程之分布式框架搭建”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

Java视频教程

学分高考提醒您:交易时请核实对方资质,对于过大宣传或承诺需谨慎!任何要求预付定金、汇款等方式均存在风险,谨防上当。