实战项目巴巴运动网要点总结
来源:互联网 发布:网络系统的功能 编辑:程序博客网 时间:2024/04/29 20:03
1.项目架构
传统项目架构:
优点:层级分离,耦合性降低,便于维护
缺点:代码冗余过大,service,dao
新技术架构:
使用技术:dubbo,maven,zookper
项目脉络:
项目架构: |——baba-parent(父工程 pom) |——babas-common(子工程 jar) | +-------——babas-pojo(子工程 jar)(需要引入common)-----------------+ | | |——babas-dao(子工程 jar)(需要引入pojo) |——babas-interface(子工程 jar)(需要引入pojo) | | | | |——babas-service-cob(子工程 购物车,用户 war)-----------------------+ |——babas-service-cms(子工程 内容管理 war)--------------------------+ |——babas-service-solr(子工程 检索 war) ----------------------------+ |——babas-service-product(子工程 商品 war)--------------------------+ + |——babas-portal(子工程 前台项目 war)---------------------------------+ |——babas-console(子工程 后台项目 war)--------------------------------+ |——babas-login(子工程 单点登录 war)----------------------------------+语言描述: pojo依赖common dao和interface依赖pojo 四个service依赖dao,interface 三个war依赖interface
配置SpringContext.xml
史上最全的头文件
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:task="http://www.springframework.org/schema/task" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"></beans>
在service层加入事务
@Transactional
测试:throw new RunTimeException("异常");
结果:如果数据库插入的序号跳过一个,说明保存完回滚了
service层需要spring配置,即applicationContext.xml
service的项目的web.xml中只需要配置读取配置 即可
controller层需要spring-mvc配置,即spring-mvc.xml
controller的项目的web.xm中需要配置读取配置文件以及前端控制器despatcher
Dubbo原理图:
注意:Dubbo传递的参数必须实现序列化。不然会报错
消费者找不到服务端可能是没有配置文件引入
DEMO
服务提供者:
<!--1.名称:计算机区分,唯一--> <dubbo:application name="babas-service-product"/> <!--2.设置注册中心地址,协议:zookeeper--> <!--单机版--> <dubbo:registry address="47.93.12.239:2181" protocol="zookeeper"/> <!--集群版--> <!--<dubbo:registry address="47.93.12.237:2181,47.93.12.238:2181,47.93.12.239:2181" protocol="zookeeper"/>--> <!--3.提供服务方的ip、端口 192.168.12.58:20880,协议:http,dubbo,tcp,udp,--> <dubbo:protocol port="20880" name="dubbo"/> <!--4.暴露实现类,demoService为实现类的别名--> <dubbo:service interface="com.flx.core.service.DemoService" ref="demoService"/>
服务消费者:
<!--1.名称:计算机区分,唯一--> <dubbo:application name="babas-console"/> <!--2.设置注册中心地址,协议:zookeeper--> <!--单机版--> <dubbo:registry address="47.93.12.239:2181" protocol="zookeeper"/> <!--集群版--> <!--<dubbo:registry address="47.93.12.237:2181,47.93.12.238:2181,47.93.12.239:2181" protocol="zookeeper"/>--> <!--3.调用此接口对应的实现类,id对应要注入的名字--> <dubbo:reference interface="com.flx.core.service.DemoService" id="demoService"/>
Dubbo的优化
1.设置链接超时时间(全局)
<dubbo:consumer timeout = 600000/>
2.直接链接
服务提供方:
<!--1.名称:计算机区分,唯一--> <dubbo:application name="babas-service-product"/> <!--2.设置注册中心地址,协议:zookeeper--> <!--单机版--> <!--<dubbo:registry address="47.93.12.239:2181" protocol="zookeeper"/>--> <!--表示只提供服务不注册,目前开发阶段直连--> <dubbo:registry address="N/A"/> <!--集群版--> <!--<dubbo:registry address="47.93.12.237:2181,47.93.12.238:2181,47.93.12.239:2181" protocol="zookeeper"/>--> <!--3.提供服务方的ip、端口 192.168.12.58:20880,协议:http,dubbo,tcp,udp,--> <dubbo:protocol port="20880" name="dubbo"/> <!--4.暴露实现类,demoService为实现类的别名--> <dubbo:service interface="com.flx.core.service.DemoService" ref="demoService"/>
服务消费方:
<!--1.名称:计算机区分,唯一--> <dubbo:application name="babas-console"/> <!--2.设置注册中心地址,协议:zookeeper--> <!--单机版--> <!--<dubbo:registry address="47.93.12.239:2181" protocol="zookeeper"/>--> <!--表示直连服务不注册,目前开发阶段直连--> <dubbo:registry address="N/A"/> <!--集群版--> <!--<dubbo:registry address="47.93.12.237:2181,47.93.12.238:2181,47.93.12.239:2181" protocol="zookeeper"/>--> <!--3.调用此接口对应的实现类,id对应要注入的名字--> <dubbo:reference interface="com.flx.core.service.DemoService" id="demoService" url="dubbo://127.0.0.1:20880"/> <!--全局设置超时时间,超时时间单位毫秒,10分钟--> <dubbo:consumer timeout="600000"/>
由于dubbo在启动的时候必须检查注册中心以及服务提供方是否存在,不存在则抛出异常
不检查的对象:服务消费方,因为只有服务消费启动的时候才会去检查注册中心以及服务提供方是否存在
<!--1.名称:计算机区分,唯一--> <dubbo:application name="babas-console"/> <!--2.设置注册中心地址,协议:zookeeper--> <!--单机版--> <!--<dubbo:registry address="47.93.12.239:2181" protocol="zookeeper"/>--> <!--表示直连服务不注册,目前开发阶段直连--> <dubbo:registry address="N/A" check="false"/> <!--集群版--> <!--<dubbo:registry address="47.93.12.237:2181,47.93.12.238:2181,47.93.12.239:2181" protocol="zookeeper"/>--> <!--3.调用此接口对应的实现类,id对应要注入的名字--> <dubbo:reference interface="com.flx.core.service.DemoService" id="demoService" url="dubbo://127.0.0.1:20880"/> <!--全局设置超时时间,超时时间单位毫秒,10分钟--> <dubbo:consumer timeout="600000" check="false"/>
阅读全文
0 0
- 实战项目巴巴运动网要点总结
- 巴巴运动网JPA项目错误
- 项目视频讲解_巴巴运动网
- 巴巴运动网功能设计
- 新巴巴运动网项目:SSM框架介绍
- 传智播客--进销存和巴巴运动网之Velocity总结
- 传智播客 巴巴运动网的权限模块总结
- 巴巴运动网(11--15)
- 传智播客教学视频-巴巴运动网
- 巴巴运动网视频后44集
- 关于巴巴运动网视频的学习
- 巴巴运动网商品交易系统的架构
- 巴巴运动网学习网址的笔记
- 巴巴运动网技术点和功能
- 巴巴运动网商品交易系统的架构
- 巴巴运动网权限模块的设置
- 巴巴运动网的性能优化
- 巴巴运动网技术点和功能
- loj #2034. 「SDOI2016」排列计数(错排)
- IntelliJ IDEA配置多个JDK
- 数据库驱动类名
- UE4 playerController和GameMode是什么?
- POJ
- 实战项目巴巴运动网要点总结
- Unity顶点光照路径细节(Vertex Lit Rendering Path Details)
- immutable日常操作之深入API
- 水题:UVa213- Message Decoding
- 学生管理信息系统问题
- 关于equals和==
- 菜单命令消息路由过程分析
- [初学笔记] 常用命令
- 前端基础知识——HTML(三)