缓存一致性问题
当我们使用缓存时,必定会遇到缓存一致性问题,也就是在读写请求过程中数据库和缓存中的数据不一致。 下面将分析为什么会造成不一致, 所有的代码参考末尾。
当我们使用缓存时,必定会遇到缓存一致性问题,也就是在读写请求过程中数据库和缓存中的数据不一致。 下面将分析为什么会造成不一致, 所有的代码参考末尾。
dubbo 基于 3.2.6 版本
如果我们将
dubbo应用部署在k8s环境中,我们就可以使用k8s作为注册中心。
provider 使用 KubernetesServiceDiscovery#doRegister 注册服务实例,元数据信息会存放在 pod 对象上.consumer 使用 ServiceNameMapping#getMapping 来获取 consumerUrl 对应的 serviceName.consumer 使用 KubernetesServiceDiscovery#getInstances 来获取 serviceName 对应的服务实例.url 列表.invoker,比如 DubboInvoker, TripleInvoker.源码位置: org.apache.dubbo.registry.kubernetes.KubernetesServiceDiscovery#KubernetesServiceDiscovery
dubbo 基于 3.2.6 版本
dubbo 集成 spring 的实现方式:
ServiceAnnotationPostProcessor 来扫描 @DubboService 注解,导出服务ReferenceAnnotationBeanPostProcessor 来扫描 @DubboReference 注解,引用服务SpringExtensionInjector 来获取 spring 的 beanDubboInfraBeanRegisterPostProcessor 来注册相关类,加载 spring 配置对一个 HelloService, 会注册两个 beanDefinition,分别为