dubbo_4_项目聚合
dubbo是一个国产的微服务治理的框架
项目聚合
创建一个maven项目
选这个
主要是用来管理项目的
pom文件里是pom.不打jar包
然后New Maven Module,添加oa-provider,oa-consumer ,api ,wx-provider , wx-consumer 模块
api 模块执行 maven instal 就会把api项目打成jar包并且加入到本地的中央仓库里
其他模块引用的时候
<dependency>
<groupId>com.mashibing.springboot</groupId>
<artifactId>dubbo01</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
然后开始挪代码================
项目都有的依赖能放到主maven项目里,相当于它爹有这个依赖。
子项目的依赖会被爹继承到
下面的依赖给主项目。相当于主项目的爹是 spring的,会继承spring的依赖
下面的也挪给主项目,成为共用的配置的属性
主项目添加对依赖进行管理
子项目添加dependencyManagement的依赖时。直接考过去去掉版本好,不去的话会覆盖,容易乱
排个错
===============
通用的类就放到api项目里去 然后api项目maven install 达成一个jar包
然后其它模块项目引入这个api的jar包
多个provider提供服务的时候。默认的负载均衡策略是随机的,可以在服务上加随机权重weight=10,也能轮询加loadbalance="roundrobin"
这就是dubbo的负载均衡,比较简单
消息的幂等
timeout 超时时间,如果时间内没返回,就超时了
retries 重试次数,超时之后重试。消息要有幂等性。这个可能会导致消息的错乱,譬如相加的那种
直到有返回或者重试次数完了。
executes = 1 意思时只让一个线程来为你干活。支持的并发个数就1个。多个来就会抛异常
API 网关