项目学习记录-项目测试

项目测试

前后台分为了两个项目,分别会部署到两个tomcat中,那么他们之间是如何通信呢。
1. WebService,这是基于soap协议,效率不高。
2. 使用restful形式的服务:http+json。很多项目中应用。
3. 使用dubbo。使用rpc协议进行远程调用,直接使用socket通信。传输效率高

本项目使用dubbo + zookeeper。使用VMware构建虚拟机做为服务器。
先安装 jdk+zookeeper

后台项目

manger后台项目提供接口发布到zookeeper,
在service的配置中发布服务。

<!-- 使用dubbo发布服务 -->
    <!-- 提供方应用信息,用于计算依赖关系 -->
    <dubbo:application name="managerz"/>
    <!-- 192.168.192.132为zookeeper所在服务器IP-->
    <dubbo:registry protocol="zookeeper" address="192.168.192.132:2181"/>
    <!-- dubbo集群配置方式:
    <dubbo:registry protocol="zookeeper" address="192.168.192.132:2181,192.168.192.132:2182,192.168.192.132:2183" />
    -->
    <!-- 用dubbo协议在20880端口暴露服务 -->
    <dubbo:protocol name="dubbo"  port="20880"/>
    <!-- 声明需要暴露的服务接口 -->
    <dubbo:service interface="cn.e3mall.service.UserService" ref="userServiceImpl" timeout="600000"/>
    <dubbo:service interface="cn.e3mall.service.ItemService" ref="itemServiceImpl" timeout="600000"/>

项目部署到tomcat插件1。

六月 20, 2018 6:10:52 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-bio-8081"]

启动成功.

前台项目

前台从zookeeper订阅服务。

<!-- 引用dubbo服务 -->
    <dubbo:application name="manager-webz"/>
    <dubbo:registry protocol="zookeeper" address="192.168.192.132:2181"/>
    <dubbo:reference interface="cn.e3mall.service.UserService" id="userService" />
    <dubbo:reference interface="cn.e3mall.service.ItemService" id="itemService" />

创建Controller处理请求,返回json数据。

    @RequestMapping("/findAll")
    @ResponseBody
    public List<User> findAll() {
        logger.debug(userService==null);
        return userService.selectAll();
    }

结果:
xxxx

再把用EASY-UI搭建的前端页面放到前台来,在controller写个映射方法。

    //实现返回请求页面
    @RequestMapping("/{page}")
    public String itemList(@PathVariable String page){
        return page;
    }

搞定。

猜你喜欢

转载自blog.csdn.net/eternal1d/article/details/80739232