dubbo
究极纲要
狗命要紧
展开
-
Dubbo之Zookeeper客户端
百度:" ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 ZooKeeper包含一个...原创 2020-04-30 23:08:58 · 496 阅读 · 0 评论 -
Dubbo服务引用(二)远程引用
上篇本地,这篇远程。 createProxy(map) 方法中,涉及远程引用服务: /** * 服务引用 URL 数组 */ private final List<URL> urls = new ArrayList<URL>(); /** * 直连服务地址 * * 1. 可以是注册中心,也可以是服务提供者 * 2. 可配置多个,使用 ; 分隔 */ // ur...原创 2020-04-17 22:07:38 · 3254 阅读 · 0 评论 -
Dubbo服务暴露(二)之远程暴露
相比本地暴露,远程暴露会多做如下几件事情: 启动通信服务器,绑定服务端口,提供远程调用。 向注册中心注册服务提供者,提供服务消费者从注册中心发现服务。 上次分享本地暴露,该方式仅使用 Injvm 协议实现,具体代码在 dubbo-rpc-injvm 模块中。 这篇分享远程暴露,该方式有多种协议实现,例如 Dubbo ( 默认协议 )、Hessian 、Rest 等等。 doExportUrls...原创 2020-04-14 20:51:02 · 655 阅读 · 0 评论 -
Dubbo服务暴露(一)之本地暴露
Dubbo 服务暴露有两种方式: 本地暴露:JVM 本地调用。配置如下 <dubbo:service scope="local" /> 远程暴露:网络远程通信。配置如下 <dubbo:service scope="remote" /> 不暴露: <dubbo:service scope="none" /> 不配置scope的情况下,默认两种方式...原创 2020-04-13 20:48:37 · 612 阅读 · 0 评论 -
Dubbo之线程池
Dubbo中提供了三种线程池的实现: fixed 固定大小线程池,启动时建立线程不关闭,一直持有。 cached 缓存线程池,空闲一分钟自动删除,需要时重建。 limited 可伸缩线程池,但池中的线程数只会增长不会收缩。只增长不收缩的目的是为了避免收缩时突然来了大流量引起的性能问题。 ThreadPool ,线程池接口: @SPI(“fixed”) 注解,Dubbo SPI 拓展点,默认为 ...原创 2020-04-11 21:00:42 · 513 阅读 · 0 评论 -
Dubbo之拓展机制 SPI(二)
getAdaptiveExtension() 方法,获得自适应拓展对象: /** * 缓存的自适应( Adaptive )拓展对象 */ private final Holder<Object> cachedAdaptiveInstance = new Holder<Object>(); /** * 创建 {@link #cachedAdaptiveInstance...原创 2020-04-08 17:26:28 · 156 阅读 · 0 评论 -
Dubbo之拓展机制 SPI(一)
SPI ,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。 Dubbo 改进了 JDK 标准的 SPI 的一些问题: JDK 标准的 SPI 会一次性实例化扩展点所有实现,如果有扩展实现初始化很耗时,但如果没用上也加载,会很浪费资源。 如果扩展点加载失败...原创 2020-04-08 17:26:03 · 190 阅读 · 0 评论 -
Dubbo服务引用(一)本地引用
哈哈哈和服务暴露一样,也有两种: 本地引用,jvm本地调用: // 推荐 <dubbo:service scope="local" /> // 不推荐使用,准备废弃 <dubbo:service injvm="true" /> 远程暴露,网络远程通信: <dubbo:service scope="remote" /> 这篇看看本地引用。 在Ref...原创 2020-04-17 20:04:28 · 1177 阅读 · 0 评论