基于SOA架构的Dubbox服务中间件和Zookeeper注册中心

什么是SOA架构

SOA是Service-Oriented Architecture的首字母简称,它是一种支持面向服务的架构样式(根据应用程序的不同功能单元进行拆分)。从服务、基于服务开发和服务的结果来看,面向服务是一种思考方式。其实SOA架构更多应用于互联网项目开发。
为什么互联网项目会采用SOA架构呢?随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,迫切需一个治理系统确保架构有条不紊的演进。
注:对于大型互联网项目,垂直应用架构已经不适应需求(所谓垂直架构就是MVC三层架构:Model --> view–>Controller),那么就需要使用SOA架构进行分布式架构
“面向服务的架构”:他是一种设计方法,其中包含多个服务, 服务之间通过相互依赖最终提供一系列的功能。一个服务 通常以独立的形式存在与操作系统进程中。各个服务之间 通过网络调用。
在这里插入图片描述
服务方:service 层(暴露接口) , 消费方:controller层(远程注入)
**逻辑详解:**服务方类似房东有房出租,消费方类似租客要租房,房东出租房子找到中介(注册中心),告诉中介自己的房子地址大小等信息,租客找中介租房,中介会根据租客请求等信息,找到房东

节点角色说明:
  • Provider: 暴露服务的服务提供方。
  • Consumer: 调用远程服务的服务消费方。(通过订阅服务–>找到注册中心)
  • Registry:服务注册与发现的注册中心。(Registry本身时一个应用,服务方启动时会把自己的信息在注册中心注册,dubbox推荐使用zookeeper做为注册中心)
  • Monitor: 统计服务的调用次调和调用时间的监控中心。
  • Container: 服务运行容器。
调用关系说明:
  1. 服务容器负责启动,加载,运行服务提供者。
  2. 服务提供者在启动时,向注册中心注册自己提供的服务。(服务方启动时会把自己的信息在注册中心注册)
  3. 服务消费者在启动时,向注册中心订阅自己所需的服务。(通过订阅服务–>找到注册中心)
  4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推
    送变更数据给消费者。
  5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,
    如果调用失败,再选另一台调用。
  6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计
    数据到监控中心。
Dubbo+zookeeper环境配置,请分别参考以下博客:

Zookeeper集群环境搭建
Dubbo

搭建服务提供者

服务提供者Dubbo配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
	<!--服务提供方:当前应用名称,一般同项目名(此名称给注册中心识别) -->
	<dubbo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值