您的位置:首页 > 运维架构 > 网站架构

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

2016-04-08 09:11 465 查看


浅谈SOA面向服务化编程架构(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吧,或者硬件做一个负
载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: