当前位置: 首页 > news >正文

可以免费做演播的听书网站南京企业自助建站

可以免费做演播的听书网站,南京企业自助建站,wordpress 连接qq视频教程,网站到期后如何转域名一、整体架构设计分层 接口服务层#xff08;Service#xff09;:该层与业务逻辑相关#xff0c;根据provider和consumer的业务设计对应的接口和实现 配置层#xff08;Config#xff09;#xff1a;对外配置接口#xff0c;以ServiceConfig和ReferenceConfig为中心 服…一、整体架构设计分层 接口服务层Service:该层与业务逻辑相关根据provider和consumer的业务设计对应的接口和实现 配置层Config对外配置接口以ServiceConfig和ReferenceConfig为中心 服务代理层Proxy:服务接口透明代理生成服务的客户端Stub和Skeleton以ServiceProxy为中心扩展接口为ProxyFactory 服务注册层Registry封装服务地址的注册和发现以服务URL为中心扩展接口为RegistryFactory、Registry、RegistryService 路由层Cluster封装多个提供者的路由和负载均衡并桥接注册中心以Invoker为中心扩展接口为 Cluster、Directory、Router 和 LoadBlancce 监控层MonitorRPC调用次数和调用时间监控以Statistics为中心扩展接口为 MonitorFactory、Monitor 和 MonitorService 远程调用层Protocal封装RPC调用以Invocation和Result为中心扩展接口为 Protocal、Invoker 和 Exporte 信息交换层Exchange封装请求响应模式同步转异步以Request和Response为中心扩展接口为Exchanger、ExchangeChannel、ExchangeClient 和 ExchangeServe 网络传输层Transport抽象mina和netty为统一接口以Message为中心扩展接口为Channel、Transport、Client、Server和Codec 数据序列化层Serialize可复用的一些工具扩展接口为 Serialization、ObjectInput、ObjectOutput 和 ThreadPoo 二、默认使用Netty框架还有mina 三、服务调用阻塞 Dubbo 是基于 NIO 的非阻塞实现并行调用客户端不需要启动多线程即可完成 并行调用多个远程服务相对多线程开销较小异步调用会返回一个 Future 对 象。 四、核心模块 dubbo:service 服务配置 dubbo:reference 引用配置 dubbo:protocol 协议配置 dubbo:application 应用配置 dubbo:module 模块配置 dubbo:registry 注册中心配置 dubbo:monitor 监控中心配置 dubbo:provider 提供方配置 dubbo:consumer 消费方配置 dubbo:method 方法配置 dubbo:argument 参数配置 五、集群容错方案 Failover Cluster 失败自动切换自动重试其它服务器默认 Failfast Cluster 快速失败立即报错只发起一次调用 Failsafe Cluster 失败安全出现异常时直接忽略 Failback Cluster 失败自动恢复记录失败请求定时重发 Forking Cluster 并行调用多个服务器只要一个成功即返回 Broadcast Cluster 广播逐个调用所有提供者任意一个报错则报错 六、Dubbo服务降级 通过 dubbo:reference 中设置 mock“return null”。mock 的值也可以修 改为 true然后再跟接口同一个路径下实现一个 Mock 类命名规则是 “接口 名称Mock” 后缀。然后在 Mock 类里实现自己的降级逻辑 七、Dubbo Monitor实现原理 Consumer 端在发起调用之前会先走 filter 链provider 端在接收到请求时也是 先走 filter 链然后才进行真正的业务逻辑处理。默认情况下在 consumer 和 provider 的 filter 链中都会有 Monitorfilter。 1、MonitorFilter 向 DubboMonitor 发送数据 2、DubboMonitor 将数据进行聚合后默认聚合 1min 中的统计数据暂存到 ConcurrentMapStatistics, AtomicReference statisticsMap然后使用一个 含有 3 个线程线程名字DubboMonitorSendTimer的线程池每隔 1min 钟 调用 SimpleMonitorService 遍历发送 statisticsMap 中的统计数据每发送完毕 一个就重置当前的 Statistics 的 AtomicReference 3、SimpleMonitorService 将这些聚合数据塞入 BlockingQueue queue 中队 列大写为 100000 4、SimpleMonitorService 使用一个后台线程线程名为 DubboMonitorAsyncWriteLogThread将 queue 中的数据写入文件该线程以 死循环的形式来写 5、SimpleMonitorService 还会使用一个含有 1 个线程线程名字 DubboMonitorTimer的线程池每隔 5min 钟将文件中的统计数据画成图表 八、设计模式 工厂模式Provider 在 export 服务时会调用 ServiceConfig 的 export 方法。ServiceConfig 中有个字段 装饰器模式Dubbo 在启动和调用阶段都大量使用了装饰器模式。以 Provider 提供的调用链为例具体的调用链代码是在 ProtocolFilterWrapper 的 buildInvokerChain 完成的具体是将注解中含有groupprovider 的 Filter 实现按照 order 排序最后的调用顺序是更确切地说这里是装饰器和责任链模式的混合使用。例如EchoFilter 的作用是判断是否是回声测试请求是的话直接返回内容这是一种责任链的体现。而像ClassLoaderFilter 则只是在主功能上添加了功能更改当前线程的ClassLoader这是典型的装饰器模式。 观察者模式Dubbo 的 Provider 启动时需要与注册中心交互先注册自己的服务再订阅自己的服务订阅时采用了观察者模式开启一个 listener。注册中心会每 5 秒定时检查是否有服务更新如果有更新向该服务的提供者发送一个 notify 消息provider 接受到 notify 消息后即运行 NotifyListener 的 notify 方法执行监听器方法。 动态代理模式Dubbo 扩展 JDK SPI 的类 ExtensionLoader 的 Adaptive 实现是典型的动态代理实现。Dubbo 需要灵活地控制实现类即在调用阶段动态地根据参数决定调用哪个实现类所以采用先生成代理类的方法能够做到灵活的调用。生成代理类的代码是 ExtensionLoader 的 createAdaptiveExtensionClassCode 方法。代理类的主要逻辑是获取 URL 参数中指定参数的值作为获取实现类的 key。 九、Dubbo配置文件加载到Spring中 Spring 容器在启动的时候会读取到 Spring 默认的一些 schema 以及 Dubbo 自定义的 schema每个 schema 都会对应一个自己的 NamespaceHandlerNamespaceHandler 里面通过 BeanDefinitionParser 来解析配置信息并转化为需要加载的 bean 对象。 十、Dubbo SPI和Java SPI Java SPI JDK 标准的 SPI 会一次性加载所有的扩展实现如果有的扩展吃实话很耗时但也没用上很浪费资源。 DUBBO SPI 1对 Dubbo 进行扩展不需要改动 Dubbo 的源码 2延迟加载可以一次只加载自己想要加载的扩展实现。 3增加了对扩展点 IOC 和 AOP 的支持一个扩展点可以直接 setter 注入其它扩展点。 4Dubbo 的扩展机制能很好的支持第三方 IoC 容器默认支持 Spring Bean。
http://www.pierceye.com/news/220541/

相关文章:

  • 平度网站建设公司电话制作动画网站模板
  • 教育手机网站开发郑州网站修改建设
  • 查询网站入口长春网站排名推广
  • 中国建设工程造价网站丰润网站建设
  • 电子项目外包网站可以发描文本的网站
  • 论文中引用网站中wordpress外汇行情
  • 宁城网站建设磁力宝
  • 找人做彩票网站多少钱茶叶网站flash模板
  • 海口制作网站企业深圳网站建设seo推广优化
  • 东莞建设质监网站建设网站方式有哪些
  • 中学网站建设书最好的网站设计开发公司
  • 下载网站源码聊城seo培训
  • 专用于做网站公司推广的方式有哪些
  • 网站如何规划c 手机网站开发模板
  • 哈尔滨网站建设优化公司室内设计网站
  • 厚街做网站的公司wordpress出现百度抓取404页面
  • 四川南充网站建设西安网站建设推广优化
  • 做企业门户网站都连连电商网站开发公司
  • 微商城网站建设价位公司要想做个网站这么弄
  • wordpress文章所属栏目关键词排名优化易下拉教程
  • 网站主题咋做免费网页模板素材网站
  • 网站建设对旅游意义公众号运营策划
  • 成都专业网站制作关于论文网站开发参考文献
  • 免费做代理郑州seo招聘
  • 做网站系统更新后wordpress
  • 兰州网站建站2024免费网站推广
  • 深圳模板建站企业网站出现搜索
  • app开发网站模板该网站正在紧急升级维护中
  • 公众号编辑器365保定seo推广
  • 陕西整站关键词自然排名优化外贸获客渠道有哪些