长沙java培训
达内长沙芙蓉路中心

18487146383

热门课程

SOA面向服务的架构理解

  • 时间:2017-02-16
  • 发布:长沙Java培训
  • 来源:达内新闻

长沙Java培训的小编这一期给大家讲SOA面向服务的架构理解。

Ø 单一应用架构

·当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。

Ø 垂直应用架构

当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。

Ø 分布式服务架构

·当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。

Ø 流动计算架构

当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。

此时,用于提高机器利用率的SOA服务治理方案是关键。

Dubbo就是SOA服务治理方案的核心框架。

Dubbo理解:Dubbo既可以进行服务调用,又可以进行服务治理。

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合),比如表现层和业务层就需要解耦合。

从面向服务的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。

除了以上两个角色,它还有注册中心和监控中心。它可以通过注册中心对服务进行注册和订阅;可以通过监控中心对服务进行监控,这样的话,就可以知道哪些服务使用率高、哪些服务使用率低。对使用率高的服务增加机器,对使用率低的服务减少机器,达到合理分配资源的目的。

节点角色说明:

Provider:暴露服务的服务提供方。

Consumer:调用远程服务的服务消费方。

Registry:服务注册与发现的注册中心。

Monitor:统计服务的调用次调和调用时间的监控中心。

Container:服务运行容器,实际指的是spring容器,spring容器启动可以通过java应用程序也可以通过tomcat容器,建议tomcat容器去加载spring容器。

调用关系说明:

0.服务容器负责启动,加载,运行服务提供者。

1.服务提供者在启动时,向注册中心注册自己提供的服务。

2.服务消费者在启动时,向注册中心订阅自己所需的服务。

3.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

4.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

了解详情请登陆长沙达内Java培训官网(cs.Java.tedu.cn)!

上一篇:java的重载&重写
下一篇:JVM内存模型

长沙Java培训:Oracle Java首席架构师辟谣

长沙Java培训:Java三大分支JavaEE JavaSE JavaME

长沙Java培训:掌握Java开发中5个异常处理的方法

《掌握Timer类的简易用法》长沙达内Java培训

选择城市和中心
贵州省

广西省

海南省

扫一扫

了解更多干货