专业做图片制作网站,石家庄最新封闭小区消息,商务网站建设哪家好,58同城装修设计师目录 1、为什么要用 Dubbo#xff1f;
2、Dubbo 的整体架构设计有哪些分层?
3、默认使用的是什么通信框架#xff0c;还有别的选择吗?
4、服务调用是阻塞的吗#xff1f;
5、一般使用什么注册中心#xff1f;还有别的选择吗#xff1f;
6、默认使用什么序列化框架
2、Dubbo 的整体架构设计有哪些分层?
3、默认使用的是什么通信框架还有别的选择吗?
4、服务调用是阻塞的吗
5、一般使用什么注册中心还有别的选择吗
6、默认使用什么序列化框架你知道的还有哪些
7、服务提供者能实现失效踢出是什么原理
8、服务上线怎么不影响旧版本
9、如何解决服务调用链过长的问题
10、说说核心的配置有哪些
11、Dubbo 推荐用什么协议
12、同一个服务多个注册的情况下可以直连某一个服务吗
13、画一画服务注册与发现的流程图
14、Dubbo 集群容错有几种方案
16、Dubbo 使用过程中都遇到了些什么问题
17、Dubbo Monitor 实现原理 1、为什么要用 Dubbo 随着服务化的进一步发展服务越来越多服务之间的调用和依赖关系也越来越复杂诞生了面向服务的架构体系(SOA) 也因此衍生出了一系列相应的技术如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。就这样为分布式系统的服务治理框架就出现了Dubbo 也就这样产生了。 2、Dubbo 的整体架构设计有哪些分层? 接口服务层 Service 该层与业务逻辑相关根据 provider 和 consumer 的业务设计对应的接口和实现 配置层 Config 对外配置接口以 ServiceConfig 和 ReferenceConfig 为中心 服务代理层 Proxy 服务接口透明代理生成服务的客户端 Stub 和 服务端的 Skeleton 以 ServiceProxy 为中心扩展接口为 ProxyFactory 服务注册层 Registry 封装服务地址的注册和发现以服务 URL 为中心扩展接口为 RegistryFactory 、 Registry 、 RegistryService 路由层 Cluster 封装多个提供者的路由和负载均衡并桥接注册中心以Invoker 为中心扩展接口为 Cluster 、 Directory 、 Router 和 LoadBlancce 监控层 Monitor RPC 调用次数和调用时间监控以 Statistics 为中心扩展接口为 MonitorFactory 、 Monitor 和 MonitorService 远程调用层 Protocal 封装 RPC 调用以 Invocation 和 Result 为中心扩展接口为 Protocal 、 Invoker 和 Exporter 信息交换层 Exchange 封装请求响应模式同步转异步。以 Request 和Response 为中心扩展接口为 Exchanger 、 ExchangeChannel 、ExchangeClient 和 ExchangeServer 网络传输层Transport 抽象 mina 和 netty 为统一接口以 Message 为中心扩展接口为 Channel 、 Transporter 、 Client 、 Server 和 Codec 数据序列化层 Serialize 可复用的一些工具扩展接口为 Serialization 、ObjectInput、 ObjectOutput 和 ThreadPool 3、默认使用的是什么通信框架还有别的选择吗? 默认也推荐使用 netty 框架还有 mina 。 4、服务调用是阻塞的吗 默认是阻塞的可以异步调用没有返回值的可以这么做。 Dubbo 是基于 NIO 的非阻塞实现并行调用客户端不需要启动多线程即可完成并行调用多个远程服务相对多线程开销较小异步调用会返回一个 Future 对象。 5、一般使用什么注册中心还有别的选择吗 推荐使用 Zookeeper 作为注册中心还有 Redis 、 Multicast 、 Simple 注册中心但不推荐。 6、默认使用什么序列化框架你知道的还有哪些 推荐使用 Hessian 序列化还有 Duddo 、 FastJson 、 Java 自带序列化。 7、服务提供者能实现失效踢出是什么原理 服务失效踢出基于 zookeeper 的临时节点原理。 8、服务上线怎么不影响旧版本 采用多版本开发不影响旧版本。 9、如何解决服务调用链过长的问题 可以结合 zipkin 实现分布式服务追踪。 10、说说核心的配置有哪些 配置 配置说明 dubbo:service 服务配置 dubbo:reference 引用配置 dubbo:protocol 协议配置 dubbo:application 应用配置 dubbo:module 模块配置 dubbo:registry 注册中心配置 dubbo:monitor 监控中心配置 dubbo:provider 提供方配置 dubbo:consumer 消费方配置 dubbo:method 方法配置 dubbo:argument 参数配置 11、Dubbo 推荐用什么协议 dubbo:// 推荐 rmi:// hessian:// http:// webservice:// thrift:// memcached:// redis:// rest:// 12、同一个服务多个注册的情况下可以直连某一个服务吗 可以点对点直连修改配置即可也可以通过 telnet 直接某个服务。 13、画一画服务注册与发现的流程图 14、Dubbo 集群容错有几种方案 集群容错方案 说明 Failover Cluster 失败自动切换自动重试其它服务器默认 Failfast Cluste 快速失败立即报错只发起一次调用 Failsafe Cluster 失败安全出现异常时直接忽略 Failback Cluster 失败自动恢复记录失败请求定时重发 Forking Cluster 并行调用多个服务器只要一个成功即返回 Broadcast Cluster 广播逐个调用所有提供者任意一个报错则报错 16、Dubbo 使用过程中都遇到了些什么问题 在注册中心找不到对应的服务 , 检查 service 实现类是否添加了 service 注解无法连接到注册中心, 检查配置文件中的对应的测试 ip 是否正确 17、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 钟将文件中的统计数据画成图表 要想了解更多
千题千解·Java面试宝典_时光の尘的博客-CSDN博客