浅谈SOA面向服务化编程架构(dubbo)

标签: soa 服务 编程 | 发表时间:2014-09-07 00:21 | 作者:
出处:http://www.iteye.com



 

     dubbo 是阿里系的技术。并非淘宝系的技术啦,淘宝系的分布式服务治理框架式HSF啦
,只闻其声,不能见其物。而dubbo是阿里开源的一个SOA服务治理解决方案,dubbo本身
集成了监控中心,注册中心,负载集群...等等。代码和整体的框架还是很优雅滴呀!
     github地址 https://github.com/alibaba/dubbo
     文档地址:http://alibaba.github.io/dubbo-doc-static/Developer+Guide-zh.htm  
     目前发布的版本是2.5.3,gihub上的最新代码到2.5.4快照版本。很遗憾的是到dubbo的
维护团队没有继续维护下去呀!不过dubbo目前的功能已经算是灰常的完善了。可以说是一
整套的SOA治理方案了,完全能够用于生产环境之中啦。更多的详细使用,文档中写的灰常
的详细呀,过一遍文档就基本上搞明白啦!扯淡完了,进入正题。

     首先是最图最底部的为dubbo服务的集群(服务者),即对外界暴露服务,dubbo本身就
是支持集群模式,而且支持多种通信协议(dubbo,rmi,http...)。主要部署核心的业务代码。

 右边的注册中心,dubbo提供了也是提供了多种注册中心, zookeeper注册中心是其中一
种同样无单点故障问题,dubbo服务依赖于注册中心,在dubbo服务启动时,回向注册中心
去进行一个服务的注册(发布服务)。对服务进行管理。

    接下来看tomcat集群,主流的tomcat集群搭配(nginx+tomcat+redis/memcache)都是灰常
的简单的,百度google一下就能搞定。书写的所有控制器都放到其中,控制器中依赖的服
务实现是来之后端dubbo集群的,而dubbo服务是注册到zookeeper上的,只需要连上注册
中心就获取到了我们所需要的服务,并且进行调用。主要是对控制器层做一个集群,提高
可用性和性能。

    tomcat左下角是一个NOSQL集群,主要是处理一个session的共享/分布式缓存。
    最上层是nginx的集群主要是把静态页面全都放到nginx中即可,注意,如果使用restful风
格,并且使用JS MVC框架的话!完全不需要把页面部署到tomcat中,让tomcat只跑控制代
码即可。restful架构的话页面时全静态,数据全都走json的方式即可。

   上诉扩展瓶颈在nginx上,解决的方式就算使用在nginx之前套LVS吧,或者硬件做一个负
载。

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [soa 服务 编程] 推荐:

浅谈SOA面向服务化编程架构(dubbo)

- - ITeye博客
并非淘宝系的技术啦,淘宝系的分布式服务治理框架式HSF啦 ,只闻其声,不能见其物. 而dubbo是阿里开源的一个SOA服务治理解决方案,dubbo本身 集成了监控中心,注册中心,负载集群...等等. 代码和整体的框架还是很优雅滴呀. github地址 https://github.com/alibaba/dubbo.

SOA面向服务架构

- - 人月神话的BLOG
今年在这点上谈的比较多,也逐步开始落地实施,将SOA咨询和实施方法论从系统间真正的引入到系统内,将面向对象的需求分析方法和SOA思想进一步融合,从业务建模到系统用例建模,从流程分析到服务识别和分析,从业务组件化到系统模块化,这些工作都逐步开始落地实施. 这样做的好处就是进一步的体现SOA可复用组件的价值,真正的做到业务组件化和组件能力化.

数据交换和SOA服务共享

- - 人月神话的BLOG
数据本身只是一种资源,而服务是一种能力;数据仅限于各种结构化和非结构化的数据资源,对于数据资源提供的能力可以使一种数据服务,而数据资源+业务规则形成的某种业务能力也可以作为一种服务提供,也就是说各种技术,数据,业务,平台,流程能力都可以做为服务提供. 交换本质是资源会从一个系统通过传输的方式进入到多个系统,资源在多个系统中形成多种拷贝.

面向服务的架构SOA

- - CSDN博客架构设计推荐文章
SCA实现SOA的最佳方式. Apache开源框架Tuscany实现SCA架构. SOA(Service-Oriented Architecture)面向服务的体系架构. 为了能够深入理解还专门查了单词:Oriented:面向,Architecture:架构,没办法英语太烂. 实际上是一个组件模型,他将应用程序的不同功能单(称为服务)通过定义良好的接口联系起来.

SOA和微服务架构沟通(2.8)

- - 人月神话的BLOG
今天在广州交流SOA和微服务架构,特对关键内容做简单记录. 对于SOA和微服务架构的区别,在知乎一个回答里面我已经进行了详细的说明,即微服务架构强调的第一个重点就是 业务系统需要彻底的组件化和服务化,原有的单个业务系统会拆分为多个可以独立开发,设计,运行和运维的小应用. 这些小应用之间通过服务完成交互和集成.

微观SOA:服务设计原则及其实践方式(下篇)

- - 博客园_知识库
   上篇: 微观SOA:服务设计原则及其实践方式(上篇).   在 上一篇文章中,我说到SOA是一个特别大的话题,不但没有绝对统一的原则,而且很多原则本身的内容也具备相当模糊性和宽泛性. 虽然我们可以说SOA ≈ 模块化开发 + 分布式计算,但由于其原则的模糊性,我们仍然很难说什么应用是绝对符合SOA的,只能识别出哪些是不符合SOA的.

微观SOA:服务设计原则及其实践方式(上篇)

- - 博客园_知识库
   下篇: 微观SOA:服务设计原则及其实践方式(下篇).   大量互联网公司都在拥抱SOA和服务化,但业界对SOA的很多讨论都比较偏向高大上. 本文试图从稍微不同的角度,以相对接地气的方式来讨论SOA,集中讨论SOA在微观实践层面中的缘起、本质和具体操作方式,另外也用相当篇幅介绍了当今互联网行业中各种流行的远程调用技术等等,比较适合从事实际工作的架构师和程序员来阅读.

业务和流程驱动的SOA服务识别方法总结(201223)

- - 人月神话的BLOG
今天整理和分享下流程驱动的SOA服务识别方法,该方法在传统SOA架构规划咨询中应用比较多,对于当前的微服务架构规划咨询仍然可以参考借鉴. 服务识别和服务需求分析的主要工作是基于SOA的需求分析方法论,以流程和业务驱动IT的指导思想,对业务系统进行业务建模,用例建模和业务实体建模,形成企业级需求和业务功能清单,作为后续服务识别的输入.

SOA资料学习

- - 人月神话的BLOG
从对象到组件,首先可以把对象理解为更细粒度东西,而组件是更加粗粒度的模块,对象更多关注技术,而组件应该更加关注业务. 前面我们谈过技术组件和业务组件,在SOA思想下业务组件化的思想就更加重要. 组件本身而言很简单,南向接口和北向接口,或者再有底座平台支撑. 接口通过服务方式来实现,组件通过OSGI等技术实现高度的解耦和可热插拔性.

SOA架构咨询

- - 人月神话的BLOG
对于SOA架构咨询,其核心还是在于组件化和服务化,然后才是服务管控和治理,基于服务化思想对传统软件开发生命周期过程的改进. SOA架构大家刚接触时候很容易将其理解为一种单纯的技术架构,或者更多的人仅仅是将SOA理解为service服务接口,这些都是对SOA方法论很大的误解. SOA咨询一个重点就是业务驱动IT,而非单纯的IT架构咨询,SOA咨询一般都会结合企业架构和云的思想,结合组件化架构和领域服务的思想,高层结合BPM端到端流程整合目标,并对这些内容进行有效的融合.