Dubbox的由来:
Dubbox 是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo ,
被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,
当当网便在Dubbo基础上进行优化,并继续维护,为了与原有的Dubbo区分,故将其命名为Dubbox。
Dubbox的作用:
Dubbox 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。
简单的说,dubbox就是个服务框架,
如果没有分布式的需求,其实是不需要用的,
只有在分布式的时候,才有dubbox这样的分布式服务框架的需求,
并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。
{补充}
什么是SOA架构
面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,
它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。
这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
为什么互联网项目会采用SOA架构呢?
随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,
分布式服务架构以及流动计算架构势在必行,迫切需一个治理系统确保架构有条不紊的演进。
节点角色说明:
Provider: 暴露服务的服务提供方。·
Consumer: 调用远程服务的服务消费方。·
Registry: 服务注册与发现的注册中心。·
Monitor: 统计服务的调用次调和调用时间的监控中心。
· Container: 服务运行容器。
调用关系说明:
· 0. 服务容器负责启动,加载,运行服务提供者。
· 1. 服务提供者在启动时,向注册中心注册自己提供的服务
。· 2. 服务消费者在启动时,向注册中心订阅自己所需的服务。
· 3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
· 4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
· 5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
分布式框架生态圈
dubbo的定位是一款rpc框架
spring cloud的目标是微服务架构下的一站式解决方案:
服务注册中心eureka
服务调用方式Rest api
服务监控Spring bood admin
断路器hystrix
服务网关zuul
分布式配置Spring cloud config
服务跟踪sleuth
消息总线Spring cloud bus
数据流Spring cloud stream
批量任务Spring cloud task
路径:
可以通过https://github.com/dangdangdotcom/dubbox来下载dubox框架
\dubbo\dubbox\dubbo-admin\target\dubbo-admin-2.8.4.war
将这个war放在服务器上运行就可以出来分布式框架运行的内部 服务者和消费者 的具体情况
将此war包放在webapp的文件夹下面 运行之后它会自动解压成文件夹
在查看bin里面的可运行bat 点击start.bat 它会启动
路径 http://localhost:8082/dubbo-admin/
出来图形界面
这就证明进去dubbox里面的中心注册界面了
重点是 他是利用Zookeeper进去的
Zookeeper适合作为Dubbox 服务的注册中心
Zookeeper现在目前只有linux版的 所以需要在linux系统里面下载Zookeeper
通过Zookeeper注册中心 来进行分布式框架
具体框架的如何运用就需要用到项目里面 了