dubbo实现SOA的管理

来源:互联网 发布:淘宝手工食品放哪类目 编辑:程序博客网 时间:2024/06/05 21:09

SOA:
全称 Service Oriented Architecture 面向服务的架构。
也就是把工程拆分成服务层和表现层俩个工程。
服务层中包含业务逻辑,只需要对外提供服务即可。
表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现的。

对项目进行SOA管理,就需要实现服务层和表现层之间的通信。
实现通信的方式:
1,webService : 基于soap协议的webService , http+xml ,传输速度慢,但是是跨平台,跨语言的,一般用于俩个公司之间的数据交互。
2,restful 形式的服务: http+json。很多项目中应用。如果服务太多,服务之间调用关系混乱,需要治理服务。
3,dubbo : 是阿里巴巴公司下的一个开源的分布式服务框架。使用RPC协议进行远程调用,直接使用socket通信。
可以和Spring框架无缝集成。传输效率高,并且可以统计出系统之间的调用关系,调用次数。

dubbo概述:
1). dubbo的架构:
分为四个部分 :
1,provider : 暴露服务的服务提供方
2,registry : 服务注册中心 需要使用到的技术 : zookeeper
3,consumer: 调用远程服务的服务消费方
4,monitor : 监控中心

2). 实现流程:
服务方创建暴露的服务,上传到注册中心。
服务消费方去服务中信寻找需要的服务,注册中心返回服务提供的者的地址列表给消费者。
消费方根据提供的地址列表,选择一台提供者进行调用,如果调用失败,在选择另一台调用。
服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

3). 注册中心:

Zookeeper 的介绍 :
Zookeeper是Apacahe Hadoop的子项目,是一个树型的目录服务,支持变更推送,适合作为Dubbo服务的注册中心,
工业强度较高,可用于生产环境,并推荐使用。

Zookeeper的作用:
可以作为集群的管理工具使用。
可以集中管理配置。

Zookeeper的安装:
安装环境 : linux jdk1.7以上版本
1,把zookeeper的压缩包上传到linux系统上。
2,解压压缩包 tar -zxvf
3,在zookeeper的目录下创建一个 data 文件 用来装zookeeper的服务
4,在zookeeper的conf下找到 zoo_sample.cfg 文件
5, vim 打开此文件 , 将dataDir 修改为 创建data的文件的目录
6,启动zookeeper 在 bin目录下 : ./zkServer.sh start
7,查看状态 : ./zkServer.sh status
注意 : 在 只有关闭防火墙 , 才能运行 zookeeper
service iptables stop
如果不能成功启动zookeeper,需要删除data目录下的zookeeper_server.pid文件。