1、传统:3F 水平三
单项目:表UI/业BLL/数层DAL
高版本效低、高耦合、3F交叉、维护性差、拆解公共/
子项目
2、D微服务 垂直|||
功能ESB服务:商品、订单、购物车、支付........
商品:表UI<...消费.......api..Rest......提供.........>业BLL/数层DAL 日志 java\Mysql
___________________________________________________________________________
订单:表UI<...消费.......api..Rest......提供.........>业BLL/数层DAL 日志 .net\oracle
dubbo springCloud:统一监控、定位
2-1、 dubbo:微服务治理框架(Apache) 旧 高性、RPC、Sping无缝
消费-调用/提供-实现发布 URL=》【2】服务注册中心(Multicast注-测、ZK注-推荐、Redis注、Simple注)
【3】服务监控(消费/提供=>服务调用实际状态)
【4】远程通信/信息交换(Mina、Netty、Grizzly)
【5】服务调用: 消费者2(subscribe)<->3(notify)注册中心
注册中心<-1(Register)提供者<-0容器(Start)
消费者4(invoke)->提供者(+-)
消费者5(count)->监控者<-5(count)提供者
消费者Consumer 容器者Container 注册者Register 监控者Monter 提供者Provider
服务调用如下图
访问量、响应时间、集群、依懒
dubboX(REST、KRYO/FST序列、嵌入Tomcat-HTTP remoting、升Spring3.x 、ZK新版、dubboX|dubbo2.X兼容)
dubboX所有权dangdang.com
2-2、 springCloud:新先
2-3、获取dubbo、dubbox源码编译后安装到本地仓库
i)、dubbo
pom.xml
<!-- https://mvnrepository.com/artifact/com.alibaba/dubbo -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.6.7</version>
</dependency>
ii)、 dubbox
https://github.com/hutai123/dubbox 注:dubbo2.8.4a-spring4.12
下载源码 https://codeload.github.com/hutai123/dubbox/zip/master
注:dubbo2.8.4a-spring4.12
编译后安装到本地仓库 mvn clean install -Dmaven.test.skip=true
###1执行mvn 先安装Maven安装配置【WIN10】#####################如下图
###2 idea mvn ##############################################如下图
#########编译后: 管理中心dubbo-admin-2.8.4a.war##############
######### 监控中心部署包 dubbo-monitor-simple-2.8.4a-assembly.tar.gz
C:\Users\Administrator\.m2\repository\com\alibaba\dubbo 如下图
##################################################################
3、D本地服务化
传统: 分层 包
提供者(实现ApiURL、Mapper.java Mapper.xml)===========》【Pro-Common(comTools、com配置、接口、DO\VO)】
请求响应
消费者(调用ApiURL api规范)=》【Pro-Common(comTools、com配置、接口、DO\VO)】
调用ApiUR==》本地代理(服务结果)
源码参考 dubbo-test
<!--局域网广播注册中心--> 地址不通可以修改地址或把VM机网卡禁用掉试一下
<dubbo:registry address="multicast://239.5.6.3:12346"/>
junit版本要一致如下图
同机直连模式
##################同机直连模式 实际生产基本不用#
<dubbo:registry address="N/A" check="flase"/>
############################################
####C:\Users\dubbo-resolve.properties###########
${user.home}/dubbo-resolve.properties
全注解(提供者/消费者)
1)、打注解
2)、扫包
提供者
消费者
4、D分布服务调用
p2p-dubbo-facade
cn.itsource.eloan.core.
domain
exception
query.
service.IUserService.java
utils
#################步骤#################
###拷代码配置代码
###serviceImpl、Mapper
###配置文件 jdbc.properties log4j.properties spring-core.xml
####导Jar
####服务发布spring-dubbo-provider.xml
####加注 扫注
####spring-core.xml <import resource="classpath:spring-dubbo-provider.xml"/>
####
p2p-dubbo-service
cn.itsource.eloan.core.
mapper.LoginInfoMapper.java
LoginInfoMapper.xml
service.impl.UserServiceImpl.java @service
src.main.resources.
jdbc.properties
log4j.properties
spring-core.xml <import resource="classpath:spring-dubbo-provider.xml"/>
spring-dubbo-provider.xml
src.test.java.
Startup ApplicationContext
#################步骤#################
###拷代码配置代码
###配置文件 spring-mvc.xml
页面:webapp下面的所有
####导Jar
####服务发布spring-dubbo-provider.xml
####加注 扫注
####spring-mvc.xml <import resource="classpath:spring-dubbo-consumer.xml"/>
####测试tomcat部署web项目组
########
p2p-dubbo-service
cn.itsource.eloan.uiweb.
controller.
LoginController.java @Reference
MainController.java
RegisterController.java @Reference
interceptor
.core.utils.
UserContext.java
src.main.resources.
spring-mvc.xml <import resource="classpath:spring-dubbo-consumer.xml"/>
spring-dubbo-consumer.xml <dubbo:annotation package="cn.itsource.eloan.uiweb.controller"/>
src.main.webapp.
css
images
js
WEB-INF
index.jsp
login.jsp
register.jsp
borrow.jsp
5、D管理平台
6、D监控中心
7、其他
zk win 启动
找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain
解决:apache-zookeeper-3.5.5-bin 下载带bin名称
https://github.com/apache/zookeeper window