浅谈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吧,或者硬件做一个负
载。
浅谈SOA面向服务化编程架构(dubbo)的更多相关文章
- SOA面向服务化编程架构(dubbo)
dubbo 是阿里系的技术.并非淘宝系的技术啦,淘宝系的分布式服务治理框架式HSF啦 ,只闻其声,不能见其物.而dubbo是阿里开源的一个SOA服务治理解决方案,dubbo本身 集成了监控中心,注 ...
- 使用WCF实现SOA面向服务编程—— 架构设计
原文地址:http://www.cnblogs.com/leslies2/archive/2011/03/29/1997889.html SOA本身就是一种面向企业级服务的系统架构,简单来说,SOA就 ...
- 浅谈iOS中MVVM的架构设计与团队协作
说到架构设计和团队协作,这个对App的开发还是比较重要的.即使作为一个专业的搬砖者,前提是你这砖搬完放在哪?不只是Code有框架,其他的东西都是有框架的,比如桥梁等等神马的~在这儿就不往外扯了.一个好 ...
- IOS中 浅谈iOS中MVVM的架构设计与团队协作
今天写这篇文章是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇文章的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...
- 浅谈iOS中MVVM的架构设计与团队协作【转载】
今天写这篇文章是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇文章的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...
- 浅谈C#关于AOP编程的学习总结
难得在这样一个节日里给写出一篇博客,却没有佳人相约,没办法,这就是一个程(dan)序(shen)猿(gou)的真实生活情景,每天除了coding还是coding.唉..污染各位看官的眼了.好吧,进入正 ...
- SOA面向服务体系架构
SOA概念 1.什么是SOA 面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型. 它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的 ...
- 浅谈soa之RESTful
今晚打算花点时间整理一下面向服务的架构oap.1传统中小型项目架构一般是这样的:(java)html+servlet+jdbc.和(.net)html+handler+ado.net都是在一台应用来. ...
- 谈一谈AOP面向切面编程
AOP是什么 : AOP面向切面编程他是一种编程思想,是指在程序运行期间,将某段代码动态的切入到指定方法的指定位置,将这种编程方式称为面向切面编程 AOP使用场景 : 日志 事务 使用AOP的好处是: ...
随机推荐
- 反序列化之PHP原生类的利用
目录 基础知识 __call SoapClient __toString Error Exception 实例化任意类 正文 文章围绕着一个问题,如果在代码审计中有反序列化点,但是在原本的代码中找不到 ...
- 云计算与大数据实验:Hbase shell操作用户表
[实验目的] 1)了解hbase服务 2)学会hbase shell命令操作用户表 [实验原理] HBase是一个分布式的.面向列的开源数据库,它利用Hadoop HDFS作为其文件存储系统,利用Ha ...
- OracleXETNSListener无法启动或启动停止
一.修改配置文件 1. 打开oracle的安装目录,找到下述文件"listener.ora" 2. 用文本编辑器打开“listener.ora”文件,找到下图所示位置:(HOST ...
- Replication Controller 和 Replica Set
使用Replication Controller . Replica Set管理Pod Replication Controller (RC) 简写为RC,可以使用rc作为kubectl工具的快速管理 ...
- jquery 插入节点
往某个元素内部的结尾添加 append() appendTo() append() <body> <button id="bt1">点击通过jQuery的a ...
- 下载恶意pcap包的网站
说几个我经常用的,免费的:1. Malware Traffic Analysis: http://www.malware-traffic-analysis.net/2018/index.htm ...
- Python开发AI应用-国际象棋应用
AI 部分总述 AI在做出决策前经过三个不同的步骤.首先,他找到所有规则允许的棋步(通常在开局时会有20-30种,随后会降低到几种).其次,它生成一个棋步树用来随后决定最佳决策.虽然树的大小随 ...
- postgres主从基于流复制
环境: CentOS Linux release 7.6.1810 (Core) 内核版本:3.10.0-957.10.1.el7.x86_64 node1:192.168.216.130 node2 ...
- SQL操作Spark SQL--CatalogApiTest
object CatalogApiTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() ...
- django.db.models.fields.related_descriptors.RelatedObjectDoesNotExist: Course has no coursedetail.
错误描述: 一对一反向查询失败! 前提: Course和CourseDetail OneToOne 原因: Course数据和CourseDetail数据没有一一对应.