dubbo初学采坑记
写在前面的话
- dubbo 现在是apache组织旗下的项目,相信国内也有很多人使用。最近一个同事离职,我就接手了他的项目。远程通讯就是用的dubbo框架来实现的。使用Intelij idea 写了一个maven和spring-boot的Demo,代码放在最后。
其实学习一个知识点最好的地方就是官网。但是官网有点穷举的意思,不能每次学习都去读一遍,所以这里记录一下如何使用的问题,官网可以用作一个词典之类的工具。
介绍
- dubbo 这是一个分布式框架,主要为了解决单点服务器带来的压力和性能以及难以维护的问题
dubbo的优点就是基本分布式的全部优点,并且因为注册中心的加弛让框架有了更好的连通性和健壮性和伸缩性,也可以实现灰度发布
架构

实操
- 我们可以发现服务发布和消费都是通过注册中心来连接的,官文上也说了,可以不要注册中心采用直连的方式的。官方推荐的是zookeeper,我们项目中也是用的zookeeper所以,我们第一步就是开启zookeeper服务
我们可以在这里下载
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
记得使用的端口。 - 新建一个工程 api 主要提供服务发布者和消费者共用的接口
- 服务发布者添加对应的配置文件并依赖api工程
intellij idea 添加不同的模块依赖可以参考一个博文,以及配置文件会自动导入命名空间,不要手动导入配一堆。反而不好用。 消费者同样添加对api工程的引用和项目文件
基本上就可以通信了,源码可以到github上去找到采坑
- 第一次用接手的代码乱。发现没有zookeeper也可以启动,但是不能实现RPC,原因是check并了,没有进行检查
- 一定要看好dubbo的jar包依赖,这的很不好搞,花了很长的时间。不可大意
- 注意配置文件的优先级 消费者>发布者>全局
方法级别配置优于接口级别
源码
https://github.com/Ants-double/BlogCode/tree/master/java
dubbo初学采坑记的更多相关文章
- 分布式改造剧集之Redis缓存采坑记
Redis缓存采坑记 前言 这个其实应该属于分布式改造剧集中的一集(第一集见前面博客:http://www.cnblogs.com/Kidezyq/p/8748961.html),本来按照顺序 ...
- Spring Cloud Config采坑记
1. Spring Cloud Config采坑记 1.1. 问题 在本地运行没问题,本地客户端服务能连上本地服务端服务,可一旦上线,发现本地连不上线上的服务 服务端添加security登录加密,客户 ...
- k8s采坑记 - 解决二进制安装环境下证书过期问题
前言 上一篇k8s采坑记 - 证书过期之kubeadm重新生成证书阐述了如何使用kubeadm解决k8s证书过期问题. 本篇阐述使用二进制安装的kubernetes环境,如何升级过期证书? k8s配置 ...
- Redis适配采坑记
Redis适配采坑记 相对于其他的适配,Redis可以说是非常简单的其中只发现一个坑 问题一: 问题描述: redis认证失败 问题详解: redis连接配置时,本地需要采用password属性,远程 ...
- tk.mybatis通用工具采坑记
tk.mybatis通用工具pom <!--mybatis依赖--> <dependency> <groupId>org.mybatis.spring.boot&l ...
- Service worker (@nuxtjs/workbox) 采坑记
PWA(Progressive Web App)是前端的大趋势,它能极大的加快前端页面的加载速度,得到近乎原生 app 的展示效果(其实难说).PWA 其实是多种前端技术的组合,其中最重要的一个技术就 ...
- aidl使用采坑记
什么是AIDL? AIDL是 Android Interface definition language的缩写,它是一种Android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口 A ...
- css选择器:first-child和nth-child 采坑记
今天想用nth-child来给一个类似于树的目录(bootstrap-nav-tree 一个angularjs插件)设置不同的颜色,结构大致类似于 <ul> <li class=& ...
- 使用wepy框架搭建微信小程序采坑记(一)
1.什么是wepy 这个框架是腾讯内部出的一个类MVVM的小程序开发框架.大体上来说语法是类VUE的,所以如果有VUE开发经验的话迁移成本会低一些.至于具体的怎么使用我就不赘言了,有问题查文档(官方文 ...
随机推荐
- 线控性能比拼,MKZ与CRV作为自动驾驶开发平台的全面测评
全球自动驾驶创业公司最主流的测试开发用车是林肯MKZ,这是因为其高性能高精度的线控能力表现,易于使用逆向工程实现改装,以及存在成熟的线控改造服务提供商AS和Dataspeed,共同为自动驾驶初创及辅助 ...
- 【linux】linux固定ip
vi /etc/sysconfig/network-scripts/ifcfg-ens33 ifcfg-ens33为ifconfig显示的网卡名 TYPE="Ethernet"P ...
- elasticsearch倒排索引与TF-IDF算法
elasticsearch专栏:https://www.cnblogs.com/hello-shf/category/1550315.html 一.倒排索引(Inverted Index)简介 在关系 ...
- jmeter入门(环境搭建&运行&初识)
最近了解了一些性能测试的基础知识和原理决定动手实践下,比较选择了jmeter 一.什么是jmeter Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试 ...
- 我用阿里云的虚拟云主机,也能配置https加密吗?
我用阿里云的虚拟云主机,也能配置https加密吗?答案是YES. 整个过程比想象中还要简单,都是一些基本的配置,虚拟主机 Web托管都可以很容易的搞定https. 首先我们要了解一下,阿里云是怎么支持 ...
- 配置Redis(远程访问及授权设置)
配置Redis(远程访问及授权设置) 1.将redis.conf里面的bind 127.0.0.1这一行注释掉,添加自己服务器的IP 2. 还有,找到protected-mode这行, 将改为yes. ...
- Linux kail安装及查看命令
Linux kail安装及查看命令 apt-get update //更新源 apt-get install package ...
- Salesforce Admin篇(四) Security 之Two-Factor Authentication & Single Sign On
本篇参考: https://c1.sfdcstatic.com/content/dam/web/en_us/www/documents/white-papers/2fa-admin-rollout-g ...
- vue运行报错webpack-dev-server: command not found
翻译过来就是: 'webpack-dev-server' 不是内部或外部命令,也不是可运行的程序 解决方法: 然后总结下成功的步骤: 1. 直接在项目目录下: cnpm install npm run ...
- 重学Golang系列(一): 深入理解 interface和reflect
前言 interface(即接口),是Go语言中一个重要的概念和知识点,而功能强大的reflect正是基于interface.本文即是对Go语言中的interface和reflect基础概念和用法的一 ...