通过dubbo+zookeeper实现服务接口的封装及调用
2018-02-23 14:56
639 查看
1.首先介绍两个框架:
dubbo:阿里巴巴开源的高性能的优秀服务框架,使得应用可以通过高性能的rpc(远程调用)实现服务的输出和输入功能,可以和spring无缝衔接。
zookeeper:用来封装复杂易出错的关键服务,将简单易用的接口和性能高效,功能稳定的系统提供给用户。
下载链接:http://download.csdn.net/download/qq_36938933/10255688
2.应用场景:
生成:日期+时间+四位递增数字的订单号;
例如:2018010214280001 2018-01-02 14:28 0001第一个人,没调用一次 +1的业务场景,这是我们就可以把它单独成服务,别的系统调用该接口就可以。
3.与spring集成
引入jar包
dubbo 2.4.9,zookeeper 3.4.6,zkclient 0.1
提供者:`
public interface CreateIDService {
String getID();
}
@Service
public class CreateIDServiceImpl implements CreateIDService{
private static long orderNum=0l;
private static String date ;
public synchronized String getID() {
String str = new SimpleDateFormat(“yyMMddHHmm”).format(new Date());
if(date==null||!date.equals(str.substring(0, 5))){
date = str;
}
orderNum ++;
long orderNo = Long.parseLong((date)) * 10000;
orderNo += orderNum;
System.out.println(orderNo);
return orderNo+”“;
}
}
`
4.消费者:
5.dubbo配置文件
6.applicationContext配置文件
dubbo:阿里巴巴开源的高性能的优秀服务框架,使得应用可以通过高性能的rpc(远程调用)实现服务的输出和输入功能,可以和spring无缝衔接。
zookeeper:用来封装复杂易出错的关键服务,将简单易用的接口和性能高效,功能稳定的系统提供给用户。
下载链接:http://download.csdn.net/download/qq_36938933/10255688
2.应用场景:
生成:日期+时间+四位递增数字的订单号;
例如:2018010214280001 2018-01-02 14:28 0001第一个人,没调用一次 +1的业务场景,这是我们就可以把它单独成服务,别的系统调用该接口就可以。
3.与spring集成
引入jar包
dubbo 2.4.9,zookeeper 3.4.6,zkclient 0.1
<dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.4.9</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency>
提供者:`
public interface CreateIDService {
String getID();
}
@Service
public class CreateIDServiceImpl implements CreateIDService{
private static long orderNum=0l;
private static String date ;
public synchronized String getID() {
String str = new SimpleDateFormat(“yyMMddHHmm”).format(new Date());
if(date==null||!date.equals(str.substring(0, 5))){
date = str;
}
orderNum ++;
long orderNo = Long.parseLong((date)) * 10000;
orderNo += orderNum;
System.out.println(orderNo);
return orderNo+”“;
}
}
`
4.消费者:
@Controller @RequestMapping("/c") public class CreateUserController { @Autowired private CreateIDService createID; /** * 生成订单号 * @return */ @RequestMapping("/person") public String login(){ try{ String id=createID.getID(); system.out.println(id); }catch(Exception e){ e.printStackTrace(); } return "消费者"; }
5.dubbo配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!-- 提供方应用信息,用于计算依赖关系 --> <dubbo:application name="dubbo_provider" /> <!-- 使用zookeeper注册中心暴露服务地址 --> <!-- <dubbo:registry address="115.28.93.69:2182" protocol="zookeeper"/> --> <!-- 使用zookeeper广播注册中心暴露服务地址 --> <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181"/> <!-- 用dubbo协议在20880端口暴露服务 --> <dubbo:protocol name="dubbo" port="20881" /> <!-- 声明需要暴露的服务接口 (提供者接口)--> <dubbo:service interface="com.waims.examinee.createUser.service.CreateIDService" ref="createIDServiceImpl" /> <!-- 和本地bean一样实现服务 (提供者接口实现类)--> <bean id="createIDServiceImpl" class="com.waims.examinee.createUser.serviceImpl.CreateIDServiceImpl"/> </beans>
6.applicationContext配置文件
<import resource="dubbo.xml"/>
以上就是简单的接口封装及系统间接口的调用,如有问题请私信联系,如果认为有所帮助请记得点赞!!!
相关文章推荐
- 通过dubbo但是不通过zookeeper注册,本地启动服务,本地调用
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件【转】
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件【转】
- dubbo+zookeeper实现服务远程调用
- NET(C#)接入Dubbo服务,Zookeeper作为Dubbo服务的注册中心,实现thrift协议访问接口(2)
- zookeeper结合dubbo实现分布式接口调用
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件【转】
- NET(C#)接入Dubbo服务,Zookeeper作为Dubbo服务的注册中心,实现thrift协议访问接口(2)
- dubbo+zookeeper实现服务远程调用
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件
- dubbo+zookeeper 简单实现远程接口调用
- 实际工作中:----dubbo+zookeeper实现服务远程调用
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件【转】
- NET(C#)接入Dubbo服务,Zookeeper作为Dubbo服务的注册中心,实现thrift协议访问接口(3)
- 使用接口的方式调用远程服务 ------ 利用动态调用服务,实现.net下类似Dubbo的玩法。
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件【转】
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件【转】
- 通过Javascript调用微软认知服务情感检测接口的两种实现方式