浅谈SOA面向服务化编程架构(dubbo)
- - ITeye博客并非淘宝系的技术啦,淘宝系的分布式服务治理框架式HSF啦
,只闻其声,不能见其物. 而dubbo是阿里开源的一个SOA服务治理解决方案,dubbo本身
集成了监控中心,注册中心,负载集群...等等. 代码和整体的框架还是很优雅滴呀. github地址 https://github.com/alibaba/dubbo.
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吧,或者硬件做一个负 载。