性能调优相关参数
常用的性能调优参数


总结
dubbo提供什么功能
1 服务远程通信:默认通过netty来完成通信的
2 服务的监控:可以通过dubbo提供的admin来实现服务的监控
3 服务的发现和感知:通过实现监听-通知机制来实现的。
4 服务的容错:服务通信失败后如何处理如超时调用3次
5 服务的负载均衡:通过抽象工厂方法来实现,默认是随机
6 服务的降级:若出现错误时使用默认数据来兜底。
7 服务的路由:根据规则选择一批服务地址。
核心基础
1 spi:通过spi实现了根据条件自动激活;根据生成的字节码方法动态选择或使用默认值;在自动装配是实现类的包装
2 Invoker:对实现类对象的包装,通过invoker动态生成的方法实现对实现类方法的调用,从而解决了反射方法调用慢的问题。
源码
1 服务发布:通过对配置文件的解析,启动netty服务暴露20880端口,并把invoker保存到Map<String, Exporter<?>> exporterMap(key:由服务组名,服务名,服务版本号以及端口,value:
DubboExporter(InvokerDelegate(DelegateProviderMetaDataInvoker(AbstractProxyInvoker())))),在zookeeper创建一个临时节点,并对该结点进行订阅。
2 服务注册:把dubbo的url注册到zookeeper中,是服务发布的一部分。
3 服务消费:把InvokerInvocationHandler(MockClusterWrapper(FailoverClusterInvoker(RegistryDirectory)))设置给service对象。
4 服务调用:实现服务的路由,负载均衡,服务降级,容错等,路由的地址通过RegistryDirectory的Map<String, Invoker<T>> urlInvokerMap获取(key:dubbo的url地址,value:
InvokerDelegate(ListenerInvokerWrapper(AsyncToSyncInvoker(DubboInvoker))))
网友评论