[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-config":3,"primary-menu":6,"cat-dubbo":85,"catposts-dubbo":99,"post-detail-post-dubbo-architecture-9ce704df":208},{"config":4,"socialLinks":5},null,[],{"metadata":7,"spec":10,"menuItems":20},{"name":8,"creationTimestamp":9},"primary","2026-09-12T06:13:55.024154Z",{"displayName":11,"menuItems":12},"主菜单",[13,14,15,16,17,18,19],"88c3f10b-321c-4092-86a8-70db00251b74","menu-item-izrtmxer","c4c814d1-0c2c-456b-8c96-4864965fee94","menu-item-column","menu-item-tools","menu-item-zsxq","menu-item-ocrxlczu",[21,30,40,49,58,67,76],{"displayName":22,"metadata":23,"spec":25,"status":28,"children":29},"首页",{"name":13,"creationTimestamp":24},"2026-09-12T06:13:54.422830Z",{"displayName":22,"href":26,"priority":27,"menuName":8},"\u002F",0,{"displayName":22,"href":26},[],{"displayName":31,"metadata":32,"spec":34,"status":38,"children":39},"Java面试八股",{"name":14,"creationTimestamp":33},"2026-09-13T09:42:02.854891Z",{"displayName":31,"href":35,"target":36,"priority":37,"menuName":8},"\u002Fjava-interview","_self",1,{"displayName":31,"href":35},[],{"displayName":41,"metadata":42,"spec":44,"status":47,"children":48},"文章",{"name":15,"creationTimestamp":43},"2026-09-12T06:13:54.457307Z",{"displayName":41,"href":45,"priority":46,"menuName":8},"\u002Farchives",2,{"displayName":41,"href":45},[],{"displayName":50,"metadata":51,"spec":53,"status":56,"children":57},"项目实战",{"name":16,"creationTimestamp":52},"2026-09-14T00:35:08.138170Z",{"displayName":50,"href":54,"target":36,"priority":55,"menuName":8},"\u002Fcolumn",3,{"displayName":50,"href":54},[],{"displayName":59,"metadata":60,"spec":62,"status":65,"children":66},"在线工具",{"name":17,"creationTimestamp":61},"2026-09-14T00:35:08.171474Z",{"displayName":59,"href":63,"target":36,"priority":64,"menuName":8},"\u002Ftools",4,{"displayName":59,"href":63},[],{"displayName":68,"metadata":69,"spec":71,"status":74,"children":75},"知识星球",{"name":18,"creationTimestamp":70},"2026-09-14T00:35:08.199145Z",{"displayName":68,"href":72,"target":36,"priority":73,"menuName":8},"\u002Fzsxq",5,{"displayName":68,"href":72},[],{"displayName":77,"metadata":78,"spec":80,"status":83,"children":84},"特价云服务器",{"name":19,"creationTimestamp":79},"2026-09-25T15:30:59.201614Z",{"displayName":77,"href":81,"target":36,"priority":82,"menuName":8},"\u002Fserver",6,{"displayName":77,"href":81},[],{"metadata":86,"spec":91,"status":97,"postCount":73},{"name":87,"creationTimestamp":88,"labels":89},"dubbo","2026-09-13T09:13:25.917842Z",{"haloweb.section":90},"interview",{"displayName":92,"slug":87,"cover":93,"description":94,"priority":95,"hideFromList":96,"preventParentPostCascadeQuery":96},"Dubbo 面试题","","Dubbo 面试题：RPC 原理、注册中心、负载均衡、SPI 扩展与服务治理机制。",16,false,{"permalink":98,"postCount":73,"visiblePostCount":73},"\u002Fcategories\u002Fdubbo",[100,124,145,166,187],{"metadata":101,"spec":104,"status":113,"categories":118},{"name":102,"creationTimestamp":103},"post-dubbo-vs-feign-492bd570","2026-09-13T10:01:11.561540Z",{"title":105,"slug":106,"cover":93,"excerpt":107,"publishTime":109,"categories":110,"tags":111,"priority":27,"pinned":96,"deleted":96,"visible":112,"allowComment":108},"Dubbo 和 OpenFeign 的区别？","dubbo-vs-feign",{"raw":93,"autoGenerate":108},true,"2026-09-13T10:01:11.608721Z",[87],[],"PUBLIC",{"permalink":114,"excerpt":115,"lastModifyTime":116,"phase":117},"\u002Farchives\u002Fdubbo-vs-feign","一、对比 维度 Dubbo OpenFeign 协议 多协议（dubbo 默认） HTTP 性能 高（二进制协议） 较低（HTTP+JSON） 服务治理 完善（路由、熔断、限流） 需配合 Sentinel 注册中心 必需 必需 语言 Java 为主 跨语言（HTTP） 适用 内部服务调用 内外通用 ","2026-09-16T09:15:44.673817Z","PUBLISHED",[119],{"metadata":120,"spec":122,"status":123,"postCount":73},{"name":87,"creationTimestamp":88,"labels":121},{"haloweb.section":90},{"displayName":92,"slug":87,"cover":93,"description":94,"priority":95,"hideFromList":96,"preventParentPostCascadeQuery":96},{"permalink":98,"postCount":73,"visiblePostCount":73},{"metadata":125,"spec":128,"status":135,"categories":139},{"name":126,"creationTimestamp":127},"post-dubbo-rpc-2946497d","2026-09-13T10:01:11.371736Z",{"title":129,"slug":130,"cover":93,"excerpt":131,"publishTime":132,"categories":133,"tags":134,"priority":27,"pinned":96,"deleted":96,"visible":112,"allowComment":108},"Dubbo 的 RPC 调用过程？","dubbo-rpc",{"raw":93,"autoGenerate":108},"2026-09-13T10:01:11.419823Z",[87],[],{"permalink":136,"excerpt":137,"lastModifyTime":138,"phase":117},"\u002Farchives\u002Fdubbo-rpc","一、代理层 Consumer 调用接口方法，实际调用的是代理对象（JDK 动态代理或 Javassist）。 二、路由层 Cluster：集群容错，处理调用失败。 Directory：管理 Provider 列表。 Router：根据路由规则过滤 Provider。 LoadBalance：从 Pr","2026-09-16T09:15:45.125834Z",[140],{"metadata":141,"spec":143,"status":144,"postCount":73},{"name":87,"creationTimestamp":88,"labels":142},{"haloweb.section":90},{"displayName":92,"slug":87,"cover":93,"description":94,"priority":95,"hideFromList":96,"preventParentPostCascadeQuery":96},{"permalink":98,"postCount":73,"visiblePostCount":73},{"metadata":146,"spec":149,"status":156,"categories":160},{"name":147,"creationTimestamp":148},"post-dubbo-spi-053de0a7","2026-09-13T10:01:11.161638Z",{"title":150,"slug":151,"cover":93,"excerpt":152,"publishTime":153,"categories":154,"tags":155,"priority":27,"pinned":96,"deleted":96,"visible":112,"allowComment":108},"Dubbo 的 SPI 机制？","dubbo-spi",{"raw":93,"autoGenerate":108},"2026-09-13T10:01:11.215283Z",[87],[],{"permalink":157,"excerpt":158,"lastModifyTime":159,"phase":117},"\u002Farchives\u002Fdubbo-spi","一、SPI 定义 Service Provider Interface，服务提供接口。Java 有自带 SPI，Dubbo 对其增强。 二、Dubbo SPI 优势 按需加载，不一次性加载所有实现。 支持自适应扩展（@Adaptive），运行时动态选择实现。 支持自动包装（Wrapper），AOP ","2026-09-16T09:15:41.272158Z",[161],{"metadata":162,"spec":164,"status":165,"postCount":73},{"name":87,"creationTimestamp":88,"labels":163},{"haloweb.section":90},{"displayName":92,"slug":87,"cover":93,"description":94,"priority":95,"hideFromList":96,"preventParentPostCascadeQuery":96},{"permalink":98,"postCount":73,"visiblePostCount":73},{"metadata":167,"spec":170,"status":177,"categories":181},{"name":168,"creationTimestamp":169},"post-dubbo-loadbalance-2e6422fe","2026-09-13T10:01:10.977842Z",{"title":171,"slug":172,"cover":93,"excerpt":173,"publishTime":174,"categories":175,"tags":176,"priority":27,"pinned":96,"deleted":96,"visible":112,"allowComment":108},"Dubbo 的负载均衡策略？","dubbo-loadbalance",{"raw":93,"autoGenerate":108},"2026-09-13T10:01:11.023987Z",[87],[],{"permalink":178,"excerpt":179,"lastModifyTime":180,"phase":117},"\u002Farchives\u002Fdubbo-loadbalance","一、四种策略 Random（默认）：随机，按权重加权随机。 RoundRobin：轮询，按权重轮询，慢的 Provider 会累积请求。 LeastActive：最少活跃调用，慢的 Provider 收到更少请求。 ConsistentHash：一致性哈希，相同参数请求到同一 Provider。 二","2026-09-16T09:15:42.198255Z",[182],{"metadata":183,"spec":185,"status":186,"postCount":73},{"name":87,"creationTimestamp":88,"labels":184},{"haloweb.section":90},{"displayName":92,"slug":87,"cover":93,"description":94,"priority":95,"hideFromList":96,"preventParentPostCascadeQuery":96},{"permalink":98,"postCount":73,"visiblePostCount":73},{"metadata":188,"spec":191,"status":198,"categories":202},{"name":189,"creationTimestamp":190},"post-dubbo-architecture-9ce704df","2026-09-13T10:01:10.788551Z",{"title":192,"slug":193,"cover":93,"excerpt":194,"publishTime":195,"categories":196,"tags":197,"priority":27,"pinned":96,"deleted":96,"visible":112,"allowComment":108},"Dubbo 的整体架构？","dubbo-architecture",{"raw":93,"autoGenerate":108},"2026-09-13T10:01:10.836412Z",[87],[],{"permalink":199,"excerpt":200,"lastModifyTime":201,"phase":117},"\u002Farchives\u002Fdubbo-architecture","一、核心角色 Provider：服务提供者，暴露服务。 Consumer：服务消费者，调用远程服务。 Registry：注册中心，服务注册与发现。 Monitor：监控中心，统计调用次数和耗时。 Container：服务运行容器。 二、调用流程 Provider 启动时向 Registry 注册服务","2026-09-16T09:15:43.605509Z",[203],{"metadata":204,"spec":206,"status":207,"postCount":73},{"name":87,"creationTimestamp":88,"labels":205},{"haloweb.section":90},{"displayName":92,"slug":87,"cover":93,"description":94,"priority":95,"hideFromList":96,"preventParentPostCascadeQuery":96},{"permalink":98,"postCount":73,"visiblePostCount":73},{"metadata":209,"spec":210,"status":214,"categories":215,"content":221},{"name":189,"creationTimestamp":190},{"title":192,"slug":193,"cover":93,"excerpt":211,"publishTime":195,"categories":212,"tags":213,"priority":27,"pinned":96,"deleted":96,"visible":112,"allowComment":108},{"raw":93,"autoGenerate":108},[87],[],{"permalink":199,"excerpt":200,"lastModifyTime":201,"phase":117},[216],{"metadata":217,"spec":219,"status":220,"postCount":73},{"name":87,"creationTimestamp":88,"labels":218},{"haloweb.section":90},{"displayName":92,"slug":87,"cover":93,"description":94,"priority":95,"hideFromList":96,"preventParentPostCascadeQuery":96},{"permalink":98,"postCount":73,"visiblePostCount":73},{"content":222,"raw":222},"\u003Ch2>一、核心角色\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Provider\u003C\u002Fstrong>：服务提供者，暴露服务。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Consumer\u003C\u002Fstrong>：服务消费者，调用远程服务。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Registry\u003C\u002Fstrong>：注册中心，服务注册与发现。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Monitor\u003C\u002Fstrong>：监控中心，统计调用次数和耗时。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Container\u003C\u002Fstrong>：服务运行容器。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>二、调用流程\u003C\u002Fh2>\n\u003Col>\n\u003Cli>Provider 启动时向 Registry 注册服务。\u003C\u002Fli>\n\u003Cli>Consumer 启动时向 Registry 订阅服务，获取 Provider 列表。\u003C\u002Fli>\n\u003Cli>Consumer 调用服务时，通过负载均衡选一个 Provider，发起 RPC 调用。\u003C\u002Fli>\n\u003Cli>调用数据异步上报 Monitor。\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2>三、协议\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>dubbo\u003C\u002Fstrong>：默认，基于 Netty + Hessian，适合服务间调用。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>rest\u003C\u002Fstrong>：HTTP RESTful。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>hessian\u003C\u002Fstrong>：基于 HTTP + Hessian。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>http\u003C\u002Fstrong>：基于 HTTP 表单。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>grpc\u003C\u002Fstrong>：基于 gRPC。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>四、注册中心\u003C\u002Fh2>\n\u003Cp>推荐 Nacos，也支持 ZooKeeper、Redis、Multicast。\u003C\u002Fp>"]