Dubbo学习笔记(二) 环境配置
来源:互联网 发布:mac os x安装光盘映像 编辑:程序博客网 时间:2024/06/04 18:53
Dubbo学习笔记(二) 环境配置:
Dubbo支持的注册策略
Dubbo支持四种容器,包括Zookeeper, Redis, Multicast, Simple。其中推荐生产使用的是Zookeeper, Redis. 本次我们使用Zookeeper, Redis, Multicast。通讯协议支持Dubbo协议, Rmi协议等。本次我们使用Dubbo协议, Rmi协议.
环境配置
搭建环境:
搭建Zookeeper环境
上传zookeeper的压缩文件
tar zxvf zookeeper-3.3.3.tar.gzcd zookeeper-3.3.3cp conf/zoo_sample.cfg conf/zoo.cfg
配置zoo.cfg(这里只用单机的配置)
#改掉其中的dataDir即可,自定义想要存储文件的位置dataDir=/dubbo/zookeeper/
启动
./bin/zkServer.sh start# 停止./bin/zkServer.sh stop
官方说明, 还是蛮详细的。
搭建Redis环境
- 上传redis压缩文件
- 解压, 然后启动(很简单,略)
搭建Multicase
这个注册中心有如下特点:
* 不需要启动任何中心节点,只要广播地址一样,就可以互相发现。
* 组播受网络结构限制,只适合小规模应用或开发阶段使用。
* 组播地址段: 224.0.0.0 - 239.255.255.255
提供方启动时广播自己的地址,消费放启动时订阅请求,收到服务方提供的地址后,进行连接并RPC调用。
协议的特点
Dubbo协议特点
- ubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。
- Dubbo缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。
Rmi协议:
- RMI协议采用JDK标准的java.rmi.*实现,采用阻塞式短连接和JDK标准序列化方式。
- 如果正在使用RMI提供服务给外部访问(公司内网环境应该不会有攻击风险),同时应用里依赖了老的common-collections包(dubbo不会依赖这个包,请排查自己的应用有没有使用)的情况下,存在反序列化安全风险。
请检查应用:
将commons-collections3 请升级到3.2.2版本:https://commons.apache.org/proper/commons-collections/release_3_2_2.html
将commons-collections4 请升级到4.1版本:https://commons.apache.org/proper/commons-collections/release_4_1.html
新版本的commons-collections解决了该问题 - 果服务接口继承了java.rmi.Remote接口,可以和原生RMI互操作,即:
提供者用Dubbo的RMI协议暴露服务,消费者直接用标准RMI接口调用,
或者提供方用标准RMI暴露服务,消费方用Dubbo的RMI协议调用。 - 如果服务接口没有继承java.rmi.Remote接口,
缺省Dubbo将自动生成一个com.xxx.XxxServiceRemote的接口,并继承java.rmi.Remote接口,并以此接口暴露服务,但如果设置了,将不生成 Remote接口,而使用Spring的RmiInvocationHandler接口暴露服务,和Spring兼容。
0 0
- Dubbo学习笔记(二) 环境配置
- Dubbo学习笔记(二)------Demo配置
- dubbo学习笔记 二 dubbo-admin
- Dubbo学习笔记(二)
- dubbo源码 学习笔记(二)
- Scala学习笔记(二) - 环境配置
- Scala学习笔记(二) - 环境配置
- Scala学习笔记(二) - 环境配置
- Dubbo框架学习笔记(二)
- dubbo学习笔记 第一章 zookeeper安装配置
- jbpm学习笔记(二)--jbpmHelloWorld(运行环境配置)
- hadoop学习笔记<二>----hadoop集群环境的配置
- Torch学习笔记(二):相关的环境配置
- 【Angular4.X学习笔记二】开发环境配置(windows)
- python3.6.3+opencv3.3.0学习笔记二环境配置
- MyBatis学习笔记(二)--配置环境详解
- 环境配置学习笔记
- dubbo程序环境配置
- 我见过最简单,方便的屏幕适配
- Python实现Huffman Code
- Python进阶(十二)-浅谈python中的方法
- JDK 源码解析 —— ThreadLocal
- express使用MongoDB数据库
- Dubbo学习笔记(二) 环境配置
- 可用性测试
- 病毒(3602017秋招真题)
- 如何将Oracle导出的数据导入MongoDB
- webots自学笔记(一)软件界面和简单模型仿真
- MySql数据库主(master)从(slave)配置以及原理
- hdu1250 Hat's Fibonacci
- 悲观锁和乐观锁的区别
- 欢迎使用CSDN-markdown编辑器