搭建Dubbox

自己玩了一下dubbox,简单介绍一下搭建dubbox的过程。

首先我们得了解dubbox的原理:

第一步:在linux系统中安装zookeeper并启动。(通常情况下,zookeeper需要搭建集群,我实际应用遇到的是三个zookeeper搭建集群)

第二步:配置服务提供方(创建一个maven项目)

创建applicationContext—service.xml

1.起名称

<dubbo:application name="dubboxdemo-service"/>

2.连接zookeeper注册中心

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

3.如果修改了默认的端口号和ip,需要配置以下内容

<dubbo:protocol host="127.0.0.1" port="20880"/>

4.对外暴露接口

<dubbo:service interface="一个接口"/>

这么写也可以说的通,但是如果我们有上百个接口,岂不是要写上百条次配置,所以我们最好的方法可以配置成包扫描的方式。

<dubbo:annotation package="cn.taiji.dubboxdemo.service"/>

所以我们要在此包下书写接口和实现类,既然要扫描这个包就要在实现类中打service注解

注意:添加service注解时,导入的包应该是alibaba的包,因为我们要用的是alibaba的dubbox,所以要导alibaba的包

暴露接口的目的就是暴露里面的方法,所以我们要把暴露的方法写在实现类中即可。

此时服务提供方要对外暴露的就是getName方法,启动服务即可

第三步:配置服务消费方

配置applicationContext-web.xml配置文件

注意:web.xml配置文件中的乱码不能解决json串里面的中文乱码

applicationContext-web.xml里面的这段配置是解决json串里面的中文乱码

如果前端页面用的是jsp就需要配置视图解析器,如果是html页面就不需要配置。

1.:起个名称,方便识别

<dubbo:application name="dubboxdemo-web"/>

2.连接zookeeper注册中心

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

3.引用或调用接口

这里也可以配置一个接口,但是我还是选择使用包扫描的方式

<dubbo:annotation package="cn.taiji.dubboxdemo.controller"/>

cms和g1

根据扫描的包,在此包下书写controller

注意:

1.我们在每个方法上都写一个@RsponseBody注解感觉很麻烦,我们可以把此注解卸载类上,表明此类的所有方法都返回json串。那么可以用一个注解@RestController代替@Controller注解和@RsponseBody注解的作用。

2.由于userService写在消息提供方,不在一个工程下面我们拿不到,所以要将接口放到服务方下面。注解也不是@Autowired,而是alibaba的@Reference注解。

注意:由于服务方很任性,它的默认调用时间为一秒,一秒内调用不同就会报500的错误。所以在上线之前的测试阶段我们可以在服务方配置超时时间长一点

<!-- 全局配置超时时间为10分钟,单位为毫秒 -->
<dubbo:consumer timeout="600000"/>

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值