码迷,mamicode.com
首页 > 其他好文 > 详细

soa架构-Dubbo架构,框架,技术的使用

时间:2020-07-02 21:28:05      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:main函数   分配   的区别   原因   dba   特点   tomcat部署   没有   依赖   

dubbo的介绍
一。前引
软件构架的发展过程:
集中式架构(单体应用)---》垂直架构---》分布式架构---》流动计算架构(SOA)

集中式架构:就一个tomcat,所有功能部署在一起。。不能高并发
垂直架构:多个tomcat, 分成多个项目,项目与项目之间的存在数据冗余,耦合性较大
分布式架构:多个tomcat,将核心公共通用的业务抽取出来,作为独立的服务
分布式以后,web层和业务层分开成两个项目(不同的tomcat)
分布式架构最主要的特点就是远程调用
调用关系错综复杂
流动计算(SOA)架构:在分布式计算架构下,添加了监控中心与注册中心。


二。Dubbo
1.概念:Dubbo可以实现基于SOA架构的软件设计,是一种架构,是一款高性能的Java RPC框架。
Dubbo是可以和Spring框架无缝集成
Dubbo作为一个RPC框架,其最核心的功能就是要实现跨网络的远程调用
dubbo协议高效的原因:单一长连接和NIO异常通讯
与http协议的区别就是更加高效


2.图形原理:

技术图片

 

 

3.Dubbo架构设计的元素:服务提供方,服务消费方,注册中心,监控中心,抽取出的公共业务

3.1注册中心:
存储的是 提供方提供的自己地址字符串。
注册中心是依靠Zookeeper(简称zk)树型目录服务。分为两种,一种是linux版本的,一种是windows版本的
对于windows版,直接D:\Astudy\软件语言\Java\java就业班\项目一\07.saax-export_day07\03.资料和工具\01 zookeeper\windows版zookeeper\zookeeper-3.4.6\bin 点击zkServer.cmd
对于linux版,把D:\Astudy\软件语言\Java\java就业班\项目一\07.saax-export_day07\03.资料和工具\01 zookeeper\linux版zookeeper下的压缩包拖入linux虚拟机

3.2服务提供方

相当于service层,
所以要有对应seviece接口和实现类

添加依赖,编写dubbo-provider.xml,编写web.xml用来监控dubbo-provider.xml
注意在实现类上加@Service(阿里巴巴的),这个注解是用来生成实现类的动态代理),这个注解是用来生成实现类的动态代理
而在springmvc用的@Service是从ioc容器里面取出的

日志配置文件放进去
部署tomcat的时候,记得改端口号,防止和8080相撞

运行tomcat,不报错就是正常


3.3服务消费方
相当于web层
添加依赖,编写dubbo-consumer.xml,编写web.xml去连接dubbo-consumer.xml
只需要编写和service层一样包结构的接口
配置控制器,控制器里面使用@Reference去引入service项目的服务接口
tomcat部署改端口号,在运行

3.4抽取出的公共业务
就是接口,抽取出来,包结构要一样
所以service是剩下实现了,web剩下控制器

3.5 监控中心 一般是给运维团队用

扩展:
1.我们测试的时候,可以用main函数启动服务
2.为集群的服务器分配请求的算法是负载均衡
负载均衡:random(随机,默认), roundrobin(轮询), leastactive(最少活跃调用数)
配置负载均衡策略,既可以在服务提供者一方配置,也可以在服务消费者一方配置
//在服务消费者一方配置负载均衡策略
@Reference(check = false,loadbalance = "random")
//在服务提供者一方配置负载均衡
@Service(interfaceClass = HelloService.class,loadbalance = "random")


3.Dubbo服务调用超时时间
原因:dubbo服务调用时间默认为1秒,且超过指定的时间调用服务还没有结束的话就自动重试2次。
解决:在提供方或者消费方一方就行修改就行
//在提供方,@Service(timeout=10000)
//在消费方,@Reference(timeout=10000)

soa架构-Dubbo架构,框架,技术的使用

标签:main函数   分配   的区别   原因   dba   特点   tomcat部署   没有   依赖   

原文地址:https://www.cnblogs.com/lanto/p/13226953.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!