dubbo+zookeper与webservice的简单对比
webservice
webservice,在开发中,对于同一个war包中的对象方法我们可以直接调用,但是很多情况下需要在不同项目或者不同服务器进行相互调用。webservice技术就是实现不同服务器项目直接的调用和交换数据,即使语言,协议,部署环境不同也可以实现。
webservice实现远程调用的步骤分三部(三次握手)
1.请求获取服务对象
2.返回服务对象
3.调用服务对象方法
webservice缺点
传统的webservice实现远程调用的方法耦合性较高,web层与服务层直接请求,在请求服务层获取服务对象的过程中,如果服务层因多种原因如网络延迟、请求 过多出现迟迟没有返回对象,就会造成请求延迟。解决方案就是使用第三方也就是dubbo服务治理中间件实现解耦和。
dubbo+zookeper
dubbo服务治理中间件是在soa分布式面向服务项目中用来作为服务远程调用的中间件,它加上zookeper注册中心实现整个分布式项目服务的发布注册和调用功能,核心思想就是实现解耦和。
dubbo的主要功能 1.RPC远程调用,类似webservice,底层原理是hessian 2.使用NIO 也就是newIO,底层实现原理为nettyIO与NIO的区别 1.IO为直接进行数据连接,占用资源较大 2.NIO指的是异步通讯,通过缓存进行数据交互,也实现了解耦zookeper的作用 1.作为注册中心注册服务对象 2.注册后的对象以URL的形式存储在zookeper中在分布式项目中使用dubbo+zookeper实现远程调用的大概步骤如下 1.项目启动(先启动服务层),服务容器如toncat容器、spring容器启动会自动将服务注册到zookeper中, 2.web层消费(订阅)服务, 3.dubbo返回给消费者服务对象 4.消费者消费调用服务对象方法
在dubbo中提供了一个monitor监控中心用于统计服务的调用和调用时间。它是阿里提供的一个已经开发好的项目war包,只需要部署到toncat中运行就能自动监控zookeper的服务调用。
考虑到互联网项目的实际要求,提高项目的高可用和容错性,可以对zookeper进行集群部署,同时,因为zookeper保持服务对象的形式为URL字符串,可以在dubbo和zookeper之间加入redis缓存URL,进一步提高容错性。
转载于:https://www.cnblogs.com/pigwood/p/9596398.html
dubbo+zookeper与webservice的简单对比相关推荐
- 主流WEB开发语言简单对比(转)
主流WEB开发语言简单对比 原文链接:http://www.uml.org.cn/site/201401091.asp 随着时间的飞逝,随着岁月的流失.从世界上第一台计算机ENIAC诞生至今,已 ...
- 关注Cortex-M处理器,M0、M3、M4简单对比
最近在关注Cortex-M处理器,针对目前进入大众视野的M0.M3.M4做了如下简单对比,内容来自ARM等官网,这里仅仅是整理了下,看起来更直观点,呵呵. Cortex-M 系列针对成本和功耗敏感的 ...
- sql和python的区别_数据处理简单对比:Excel,SQL,Python
前言 无论是什么工具,做数据分析的时候一定会涉及到两类工作: 合并多个关联表 做数据透视表 这篇文章简单对比一下Excel.SQL和Python在这两类任务上的实现过程,从而对比其异同. 用到的数据表 ...
- vue 调用webservice_js跨域调用WebService的简单实例
步骤1. 在web.config中的system.web节点里加入 步骤2.webservice代码 using System; using System.Collections.Generic; u ...
- vs.net 2005中引用webservice的简单方法
vs.net 2005中引用webservice的简单方法 以往在vs.net 2003中,要add web reference的话,要输入要引用的webservice的wsdl的完全地址,然后点&q ...
- webservice实例java_Java WebService(实战) 简单实例
一.准备工作(以下为本实例使用工具) 1.MyEclipse10.7.1 2.JDK 1.6.0_22 二.创建服务端 1.创建[Web Service Project],命名为[TheService ...
- WebService的简单实现
WebService的简单实现 一.socket主机创建和使用过程 1.socket()//创建套接字 2.Setsockopt()//将套接字属性设置为允许和特定地点绑定 3.Bind()//将套接 ...
- C# 创建、部署和调用WebService的简单示例
C# 创建.部署和调用WebService的简单示例 webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互. 概念性的东西就不说太多,下面开始创建一个简单的webservice ...
- Dubbo入门----搭建一个最简单的Demo框架
Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本. ...
- 坐火车卧铺,到底是上、中、下哪个好?其实简单对比一下就知道了
坐火车卧铺,到底是上铺好还是下铺好?其实简单对比一下就知道了 我们出行,长途旅行经济有实惠的方式,当然大部分人还是会选择火车这一种简单快捷的手段,而且可以根据自己的长短距离自行选择是座位票,还是躺票, ...
最新文章
- HarmonyOS Java工程目录结构
- 纯CSS3进行hover时显示带箭头和动画的tips效果
- 让你的名字显示在电脑右下角
- python编程基础教程-史上最全Python编程基础入门教程
- Java并发编程之阻塞队列
- CF 1642 F. Two Arrays 随机 + sosdp
- 限制文本输入框只能输入0-9数字
- dimension and x,y,z components
- 总结《Ray Tracing from the Ground Up》
- 3dmax 渲染关机 脚本_3DMax渲染完自动关机设置
- 浏览计算机已查找驱动程序软件,欢迎访问海南省数字证书认证中心
- python需要在linux上运行,在linux上运行python的方法
- 带你了解常见的编码表,以及他们自己的关系.
- 使用PowerDesigner创建JAVA类图
- 我的免费版mbti职业性格测试
- abp vnext 通过Claim扩展用户表字段
- 解决:java.sql.SQLException:Value ‘0000-00-00‘ can not be represented as java.sql.Date
- JNLP文件详细说明
- Git冲突:Your local changes would be overwritten by merge. Commit, stash or revert them to proceed.
- [书籍翻译]12周撰写期刊文章 学术出版成功指南——第 6 周:加强结构