欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于dubbo的思考【原创】

程序员文章站 2022-06-13 19:30:41
...
最近在看dubbo的文档,有些内容结合自己的思考记录一下
1. dubbo的本地存根能够提升性能
将与服务器环境无关的代码移到stub中,利用ThreadLocal本地缓存,将校验,容错(容错用mock更好,原理相似)等功能放在客户端做,应该能提升性能。这段代码是服务端写好的缓存过去的,所以维护也方便。
2. 利用future实现异步调用提升性能
等待的时间为最长的那个远程调用事件,并且在一个线程中完成,避免了多线程切换的开销和复杂性。
3. 利用injvm提升本地jvm调用性能
4. callback没看懂,我的理解应该是客户端注册了callback,服务端查找到callback调用。并且服务端跟客户端是长连接,服务端一旦有变动就会发起调用通知。
5. 如果spring加载报出wait to lock, 可能是dubbo服务过早暴露引起,设置
<dubbo:service delay="-1" />
6. 提供有状态服务
<dubbo:protocol name="dubbo" sticky="true" />
7. 配置参考手册标明了配置的作用,如果要性能调优,可以找找性能调优的配置项
8. 配置缓存文件,可以缓存注册中心和服务提供者,重启时从这个文件恢复。当注册中心宕机可以从缓存获取服务提供者列表。注意多个应用不要使用同一个文件。
<dubbo:registry file=”${user.home}/output/dubbo.cache” />
9.从官网测测试报告看,大数据量调用采用http协议+json序列化好, 小数据量(1k或POJO)采用dubbo协议hassian序列化好(注意dubbo序列化为试用)。
10. 从其他的参考资料看dubbo协议+kryo序列化比hassian序列化要好。
相关标签: dubbo