dubbo-001--前言
1,前言:
第一次了解dubbo是在15年刚工作的时候在瑞友,项目是给凯撒旅游公司签证部做一个签证系统,项目需要调用一些凯撒的方法,比如权限、部门信息,跟签证相关的一些如签证国家城市、领区啥玩意的,等等,,,由于凯撒提供的是dubbo接口,所以我们项目也就用了dubbo,dubbo官方文档也很详细,我这里只是记录一下项目中如何使用。
工作中遇到的项目之间的调用,没有用到dubbo的,就是以HttpClient直接以http方式传递json。还有公司用WebService(我工作过得公司没用过)。
我以大白话说说自己理解的dubbo吧!传统的项目结构:Controller调用service,service调用dao

使用了dubbo后的项目结构:dao+service组成一个单独的工程,是一个jar包,放到一个或者多个机器上运行,供其他web项目来调用。这样如果项目大的话,可以把每个服务进行拆分,如用户注册服务、账户服务、等等。(我还没见过把服务拆分的这么细的公司,可能自己工作过得公司都不大,其实很多公司没分这么细吧!)项目之间相互调用接口多的话,用dubbo就比用HTTPClient传递json要好了,dubbo提供了可视化的管控台,可以进行服务治理,查看服务的情况,根据服务器情况动态设置负载均衡,,等等。

2,dubbo简介
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东西。说白了就是个远程服务调用的分布式框架(告别WebService模式中的wsdl,以提供者和消费者的方式在dubbo上注册)
贴几个官网的图:



其核心部分包括:
1,远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。
2,集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。
3,自动发现:基于注册中心目录服务,使服务消费方能动态地查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。
3,dubbo用途
Dubbo能做什么?
1,透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。
2,软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。
3,服务自动注册与发现,不再需要写死服务器提供方的地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。
4,Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。
接下来,开始安装软件,打代码。
dubbo-001--前言的更多相关文章
- XSS的原理分析与解剖
0×01 前言: <xss攻击手法>一开始在互联网上资料并不多(都是现成的代码,没有从基础的开始),直到刺的<白帽子讲WEB安全>和cn4rry的<XSS跨站脚本攻击剖析 ...
- XSS的原理分析与解剖(转)
(转)http://netsecurity.51cto.com/art/201408/448305_all.htm 0×01 前言: <xss攻击手法>一开始在互联网上资料并不多(都是现成 ...
- XSS的原理分析与解剖[转http://www.freebuf.com/articles/web/40520.html]
0×01 前言: <xss攻击手法>一开始在互联网上资料并不多(都是现成的代码,没有从基础的开始),直到刺的<白帽子讲WEB安全>和cn4rry的<XSS跨站脚本攻击剖析 ...
- XSS的原理分析与解剖(二)
0×01 前言: 上节(http://www.freebuf.com/articles/web/40520.html)已经说明了xss的原理及不同环境的构造方法.本期来说说XSS的分类及挖掘方法. ...
- XSS的原理分析与解剖(一)
0×01 前言: <xss攻击手法>一开始在互联网上资料并不多(都是现成的代码,没有从基础的开始),直到刺的<白帽子讲WEB安全>和cn4rry的<XSS跨站脚本攻击剖析 ...
- 反编译与调试APK
0×01前言 这年头,apk全都是加密啊,加壳啊,反调试啊,小伙伴们表示已经不能愉快的玩耍了.静态分析越来越不靠谱了,apktool.ApkIDE.jd GUI.dex2jar等已经无法满足大家的需求 ...
- MIPCMS V3.1.0 远程写入配置文件Getshell过程分析(附批量getshell脚本)
作者:i春秋作家--F0rmat 0×01 前言 今天翻了下CNVD,看到了一个MIPCMS的远程代码执行漏洞,然后就去官网下载了这个版本的源码研究了下.看下整体的结构,用的是thinkPHP的架 ...
- Nmap 进阶使用 [ 脚本篇 ]
0×01 前言 因为今天的重点并非nmap本身的使用,主要还是想借这次机会给大家介绍一些在实战中相对比较实用的nmap脚本,所以关于nmap自身的一些基础选项就不多说了,详情可参考博客端口渗透相关文章 ...
- black-hole《XSS的原理分析与解剖》阅读笔记
0×01 前言: <xss攻击手法>一开始在互联网上资料并不多(都是现成的代码,没有从基础的开始),直到刺的<白帽子讲WEB安全>和cn4rry的<XSS跨站脚本攻击剖析 ...
- Python建代理配合burp实现自动免费用水
i春秋作家:凉风有信 Hi , 我是凉风 半年不见了啊,我又回来了因为太菜都不好意思发文章了 0×00 目录 0×01 前言0×02 利用fd分析与实战0×03 Python+burp简易搭建代理服务 ...
随机推荐
- readystatechange事件
IE为DOM文档中的某些部分readystatechange事件. 这个事件的目的是提供与文档或元素的加载状态有关的信息,但是这个事件的行为有时候也很难预测. 支持readystatechange事件 ...
- AngularJS封装UEditor
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- 20145232 韩文浩 《Java程序设计》第6周学习总结
教材学习内容总结 Java是以串流(Stream)的方式来处理输入与输出. 串流是一种抽象观念,从键盘输入资料,将处理结果输入档案,以及读取档案的内容等动作皆视为串流的处理. 输入串流代表对象为jav ...
- CentOS 6 安装Redmine
Redmine是一个灵活的项目管理web应用,采用Ruby on Rails框架开发.Redmine是典型的web 2.0网站,项目管理系统的后起之秀.Redmine支持多项目,灵活的角色权限管理,灵 ...
- Establish a website in 5 minutes
$sudo apt-get update //update $sudo apt-get install tasksel ...
- java基础-day20
第09天 IO流 今日内容介绍 u File类 u 字符流与字节流 第1章 File类 1.1 File概述 打开API,搜索File类.阅读其描述:File文件和目录路径名的抽象表 ...
- Android SimpleAdapter ViewBinder
- hadoop一代集群运行代码案例
hadoop一代集群运行代码案例 集群 一个 master,两个slave,IP分别是192.168.1.2.192.168.1.3.192.168.1.4 hadoop版 ...
- UNIGUI接收普通消息和被动回复用户消息
接收普通消息和被动回复用户消息 用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构,来对该消息进行响应(现支持回复 ...
- [LintCode] Permutations II
Given a collection of numbers that might contain duplicates, return all possible unique permutations ...