干货 | 快速融入云原生,携程开源 Dubbo for Go 版本

携程开源的分布式apollo技术,java大数据面试题 分享一些系统的面试题,大家可以拿去刷一刷,准备面试涨薪。 阅读详情

作者简介

何鑫铭,携程基础中台研发部技术专家,dubbo-go 主要作者。目前专注于 Golang & Java、中台架构、中间件与区块链等技术。


*本文来自开源中国对何鑫铭的采访,首发于开源中国*


Go目前在携程还不算是主流,但是聚集了一批忠实的拥趸,依托携程内部Golang社区,源源不断地发展壮大,已经有了规模可观的项目实践,发展势头十分迅猛。


近期,基于开源社区 dubbo-go 的早期项目,携程重构开发了更易于扩展且功能更加完善的 dubbo-go v1.0.0 版本,并且开源,重新贡献回了社区。


背景


5 月 21 日,经过一年多的孵化,Apache Dubbo 从 Apache 软件基金会毕业,成为 Apache 顶级项目。


640?wx_fmt=png


Dubbo 是阿里于 2011 年开源的一款高性能 RPC 框架,在 Java 生态中具有不小的影响力。当初经历过一段被外界诟病的“停止维护”灰暗时光,后来在 2017 年 Dubbo 浪子回头,官方宣布重新重点维护。


重新启航的 Dubbo 将首要目标定位于重新激活社区,赢回开发者的信任,并且逐渐将 Dubbo 打造成一个国际化与现代化的项目,目前距离宣布重启已经过了一年半的时间。


在这个过程中,Dubbo 发布了多个版本,并逐渐从一个 RPC 框架向微服务生态系统转变,2018 年年初 Dubbo 入驻 Apache 软件基金会孵化器,开始以 Apache 之道发展社区。


一年之后,Dubbo 在 Apache 孵化器中发布了重启维护以来的首个里程碑版本 2.7.0,添加了社区呼声很高的异步化支持,以及注册中心与配置中心分离等特性。


这期间 Dubbo 3.0 的开发工作也被提上了日程,今年 4 月中旬,官方正式公布了 Dubbo 3.0 的进度,此版本新特性包括支持 Filter 链的异步化、响应式编程、云原生/Service Mesh 方向的探索,以及与阿里内外融合。


然后,Dubbo 毕业了。毕业后的 Dubbo 近期有什么消息呢?


生态还在发展,Dubbo 社区在前几日公开了 Dubbo Roadmap 2019,计划在 2020 年 2 月份发布 Dubbo 3.0 正式版,感兴趣的同学可以详细查阅。


640?wx_fmt=png


而最近官方又宣布 Go 语言加入 Dubbo 生态,发布了 dubbo-go 项目。


640?wx_fmt=png


在此之前 Dubbo 的跨语言可扩展性已经有一些实现,支持的语言包括 PHP、Node.js 与 Python,同时也基于标准 Java REST API - JAX-RS 2.0 实现了 REST 的调用支持,具体情况如下:


  • PHP:php-for-apache-dubbo,by 乐信,提供客户端和服务端

  • Node.js:dubbo2.js,by 千米网,提供客户端

  • Node.js:egg-dubbo-rpc,by 蚂蚁金服 egg 团队,提供客户端和服务端

  • Python :py-client-for-apache-dubbo,by 千米网,提供客户端


现在加入了 dubbo-go,Go 开发者也终于可以尝到 Dubbo 的滋味了。


据悉,dubbo-go 项目将于本周完成往 Apache 软件基金会的迁移,作为 Apache Dubbo 顶级项目的子项目,届时 dubbo-go 项目的新地址也将变为:https://github.com/apache/dubbo-go。


开源中国访谈实录



关于dobbo-go项目的研发背景与具体技术细节等,开源中国采访了项目共同发起人——携程基础中台研发部何鑫铭。

 

问:dubbo-go 是什么,定位是什么,为什么做这个项目?


答: dubbo-go 是 Dubbo 的完整 Go 语言实现。


我们知道 Dubbo 本身基于 Java,很多公司也都以 Java 开发为主,并且使用 Dubbo 作 RPC 或微服务开发框架。


而最近 Go 语言生态发展比较迅速,因其语言优势,我们已经有部门开始尝试使用 Go 开发一些新的项目,就会存在亟需解决的问题:


  • 如何实现 Go 项目和 Java & Dubbo 项目的互通?

  • Go 项目本身也有对 RPC 与微服务开发框架的诉求,如何解决?


基于这两个问题,携程团队基于 dubbo-go 的早期项目,重构开发了更易于扩展且功能更加完善的 dubbo-go v1.0.0 版本,并贡献回了社区。


它首要目的就是解决 Go 项目与 Java & Dubbo 项目的互通问题,同时也为 Go 项目提供了一种 RPC 与微服务开发框架的选择。


dubbo-go 提供客户端与服务器端,目前 dubbo-go 社区作为 Dubbo 生态最活跃的社区之一,后面的定位需要配合 Dubbo 官方的要求与社区用户的需求。

 

问:我们知道 Dubbo 在 Java 生态上是有非常高的成就的,而目前 Go 生态本身也有一些知名的微服务框架,那 dubbo-go 之于 Go 生态,是否有与其它框架比拼的能力?


答:我们最大的能力就是作为 Dubbo 的 Go 语言版本,打通了两种语言之间的 gap,让 Dubbo 更加贴近云原生,为开发者也提供了最大的灵活性,显著降低企业现有服务上云的成本,让企业在云原生时代多了一种选择。

 

问:Go 的特性有没有在 dubbo-go 中得到相应的体现?(比如 Go 的高并发是怎么从基于 Java 的 Dubbo 中改造到 dubbo-go 中的?)


答:我对于 Go 语言的认知是,首先学习成本比较小,相比于 Java 的学习成本,Go 语言更容易学习和上手。


其次 Go 在语言层面上,比如其 CSP 编程模型在高并发处理上的简单高效、轻量级协程的优势,相比较基于 JVM 的 Java 程序来说,基于 runtime 的 Go 程序瞬时启动能力等特性都吸引着很多开发者,这里就不详细阐述了。


最后就是作为云原生语言的优势,随着 Docker、k8s 与 Istio 等优秀项目的出现,云原生底层基本被 Go 语言统一了,相信企业在云原生模式下开发的日子已经不远了。我觉得 Go 语言的生态应该会越来越好,也会有越来越多的人使用它。


将基于 Java 的 Dubbo 引入到 Go 中,像前边讲的,dubbo-go 带来的优势就是可以快速融入云原生的领域。要说 Go 语言特性体现的话,可以参考一下 dubbo-go 中异步网络 I/O 模型的设计,这部分将 Go 语言轻量级协程的优势体现了出来。


这里也说一下 Go 语言不足的地方:


  • Go 相对 Java 来说还是很年轻的语言,没有模板库可用,所以社区在编写并维护Hessian 2 协议库上付出了很高的开发成本;

  • 比起 Java 的 try/catch 错误处理方式,Go 的 error 处理能力偏弱;

  • 总体生态还是不如 Java,如没有像 Netty 一样的强有力网络 I/O 库。


为什么提到这一点呢,因为 Dubbo 自身使用了 Netty 和 Hessian 2 协议官方 Java 库,而 dubbo-go 在开始做的时候这些都是没有的,这使得 dubbo-go 一路走来非常艰辛,但是社区最终都克服了,并且额外贡献了开源的 Getty 和 Hessian2 项目。


这里特别感谢 dubbo-go 社区早期的组织者于雨,项目的早期版本是 2016 年在其领导胡长城和同事刘畏三支持下开发的,他贡献的 Hessian2 和 Getty 项目,也为最新版本的 dubbo-go 打好了坚实的基础。

 

问:前不久 Dubbo 才宣布之后会在 3.0 中强调 Service Mesh ,这就是语言无关的了,那 dubbo-go 还有必要在这时候加入生态吗?


答:Service Mesh 确实是微服务未来发展的一个大方向,但是现阶段在国内大公司还没有看到非常成功的案例,很多中小公司自身微服务还未拆分完毕甚至于还未开始。


目前 dubbo-go 社区优先解决这种类型企业微服务技术落地环节中遇到的问题,专注于补齐相关功能、优化整体性能和解决 bug。至于未来,我相信随着 Dubbo Mesh 在 Service Mesh 领域的探索,dubbo-go 肯定会跟进并扮演重要角色。

 

问:dubbo-go 与 Dubbo 的更新关系是怎么样的?是同步更新特性还是有自己的一些创新?


答:我们现在发布的最新版本是 v1.0.0,我们在每一次 release 新的版本后,都会明确说明可以兼容的 Dubbo 版本。所以,dubbo-go 需要兼容对应 Dubbo 版本号的功能,会同步更新一些 Dubbo 特性。

 

问:新发布版本带来什么值得关注的特性?


答:当前发布的 v1.0.0 版本支持的功能如下:


  • 角色:Consumer(√)、Provider(√)

  • 传输协议:HTTP(√)、TCP(√)

  • 序列化协议:JsonRPC v2(√)、Hessian v2(√)

  • 注册中心:ZooKeeper(√)

  • 集群策略:Failover(√)

  • 负载均衡:Random(√)

  • 过滤器:Echo Health Check(√)

  • extension 扩展机制


dubbo-go v1.0.0 版本,主要由我和同在携程的同事方银城维护,社区成员周子庆与高辛格参与贡献,该版本沿用了 Dubbo 的代码分层解耦设计。Dubbo 2.6.x 的主要功能都会逐渐在 dubbo-go 中实现,包括 Dubbo 基于 SPI 的代码拓展机制,dubbo-go 也有对应的 extension 扩展机制与之对应。


我们在未来将逐渐推出目前可扩展模块的更多实现,如补齐更多的 Loadbalance 负载均衡、Cluster Strategy 集群策略实现(目前这些任务由社区伙伴主动认领,希望更多的 Go 语言爱好者朋友可以加入社区贡献);又如云原生领域非常流行的 k8s,我们也将同步 Dubbo 的 roadmap,跟进 k8s 作为注册中心的支持,目前由社区成员张海彬负责跟进。


当然广大开发者们也可以对这些模块接口进行新的实现,通过 extension 拓展,以完成自己的特殊需求而无需修改源代码。同时,我们非常欢迎开发者为社区贡献有用的拓展实现。


此版本解决了一大重点问题:与 Dubbo Java 版本互通的解决方案。我们将这部分提取出了 Hessian2 项目,该项目源自社区于雨的早期贡献,现在由社区成员望哥负责维护,周子庆与高辛格参与贡献。


目前该项目已经完成了对 Java 大部分类型的兼容支持。大家也可以单独将该项目集成到自己的项目中,它的开源协议是 Apache-2.0。


另外一个比较重要的就是 dubbo-go 现在使用的 TCP 异步网络 I/O 库,该库也是基于于雨早期写的 Getty 项目,目前由社区的望哥与方银城负责维护,它同样也是 Apache-2.0 的开源协议。下一版本我们会针对 dubbo-go 和 Getty 的网络 I/O 与线程派发这一部分进行进一步优化。


除此之外,我们计划下一步支持 Dubbo 的另外几大重要功能,如:


  • routing rule 路由规则(dubbo v2.6.x)

  • dynamic configuration 动态配置中心(dubbo v2.7.x)

  • metrics 指标与监控(dubbo v2.7.x) 

  • trace 链路监控(dubbo ecos) 

 

问:目前项目的应用情况如何?


答:dubbo-go 现在已经开始被一些企业尝试应用于 Go 语言应用融入企业已有 Java & Dubbo 技术栈,以及搭建全新 Go 语言分布式应用等场景。比如中通快递内部 Go 调用 Java Dubbo 服务;作为携程 Go 语言应用的服务框架以及 Go、Java 应用互通。


具体的应用情况可以查看:https://github.com/dubbo/go-for-apache-dubbo/issues/2

 

问:接下来的演进方向是怎么样的?


答:在 dubbo-go 迁往 Apache 软件基金会作为 Apache Dubbo 的子项目后,首先最重要的是性能的进一步优化,目前性能上虽然能够达到应用的生产级别要求,但我们觉得还没有发挥出 Go 语言的优势,还有比较大的优化空间。比如前边提到的 Getty,下一版本会针对 dubbo-go 应用 Getty 的网络 I/O 模型与线程派发做一些优化。


另外包含上面提到的我们近期需要补全一些重要功能,最大限度地在功能完整性上能够跟 Dubbo 兼容。关于未来 dubbo-go 的发展,也会向 Dubbo 2.7.x 版本这条线上的路线图演进。

 

问:说到性能,当前性能情况具体如何?


答:我们有做一个 dubbo-go-benchmark 项目,在 CPU 型号为 Intel(R) Xeon(R) CPU E5-2609 0 @2.40GHz,CPU 核心数为 4*8 的硬件水平下,发送 1k 并返回 1k 的数据,100 并发数,100w 总请求数,qps 可以达到 1.2 万左右。


CPU 性能换成比较高的配置如 Intel Core i9 2.9GHz,qps 可以到达 2 万左右。


我们后面会对 Hessian2 库和 Getty 库进行持续性能优化,以给广大使用者节约资源。




抓紧上车

了解百度/阿里/携程的最新架构实践

6月15日,等你来~

戳下方图片报名


640?wx_fmt=png


【推荐阅读】



640?wx_fmt=jpeg


一文带你快速入门 Go 语言微服务开发 - Dubbo Go 入门实践总结 更多详细示例可直接访问 Dubbo 官网 或搜索关注官方微信公众号:Apache Dubbo 1. 安装Go语言环境 建议使用最新版 go 1.17 go version >= go 1.15 【Go 语言官网下载地址】 将 $GOPATH/bin 加入环境变量 2. 安装序列化工具protoc 【protoc 下载地址】 3. 安装 dubbogo-cli 以及相关插件 执行以下指令安装dubbogo-cli 至 $GOPATH/bin $ export GOPROXY="https: 阅读详情

相关推荐

使用dubbo-go搭建dubbo接口测试平台

背景 http接口测试只需要一个curl命令,但dubbo协议没有这样的现成接口测试工具。通常公司内的dubbo控制台或其他平台会集成一个dubbo接口测试工具。 调用一个dubbo接口,需要知道服务名service、方法名method和参数args。 正常的调用,调用方需引入服务提供方定义的接口jar包。 作为接口测试平台,没办法引入所有提供方定义的接口jar包,可以有以下方案来解决: dubbo支持telnet协议调用dubbo接口 dubbo的泛化调用可以在不引入提供方接口定义jar包的情况下对接口

捉虫大师 1283

dubbo go 初体验

dubbo go 夸语言调用

u013433591的博客 1014

携程开源配置管理中心Apollo简介

一.为什么需要配置中心?       由于程序日益复杂,相应的配置也越来越多,对配置的期望也会变高(比如实时性,分环境管理),因此我们需要一个配置中心去管理我们的配置。二.Apollo是什么?       Apollo是携程框架部门研发的开源配置管理中心,能够集中管理应用在不同环境、不同集群的配置,配置修改后能够实时的推送到应用端,并且有关于权限管理、流程治理等功能。(一)Apollo支持四个维度...

Anthony_1223的博客 1万+

记一次对 dubbo-go-hessian2 的性能优化

dubbo-go-hessian2是一个用 Go 实现的 hessian 协议 v2.0 版本的序列化库。从项目名称里可以看到主要用在dubbo-go这个项目里。hessian 协...

Go中国 432

基于555定时器的呼吸灯电路

呼吸灯是指LED灯在芯片的控制下完成由亮到暗的逐渐变化,感觉就像人在呼吸,其广泛使用在手机上,起到一个通知提醒的作用。呼吸灯在许多灯光装饰上也有大量使用,如音响、汽车广告牌等,在生活中较为常见。...

qq1074237849的博客 9492

CarPlay wired(USB)连接方案

CarPlay的wired(USB)的连接方案要求车载设备至少要支持USB2.0 Hi-Speed,支持USB Host Mode,该模式要求车载设备能够工作在USB device模式下,因为Apple设备在CarPlay中是作为USB Host的。而通常情况下,车载设备USB是工作在USB Host模式的,而外接的USB设备是工作在USB Device模式的,因而在这种情况下的CarPlay wired(USB)连接方案中就需要进行USB的模式切换。模式切换完成后便是Apple设备(USB HOST)的枚

Ke8323的博客 1万+

开源 | 携程 Redis On Rocks 实践,节省 2/3 Redis成本

作者简介patpatbear,携程软件技术专家,负责携程缓存内核的维护,热爱开源,专注于高性能、分布式NoSQL系统的建设和应用。一、背景redis使用内存作为存储介质,具有良好的性能和低延迟,但其内存容量通常成为瓶颈,且内存价格较高,导致redis使用成本较高。随着SSD磁盘性能的不断提高,NVMe SSD的随机读写延迟也仅有几十微秒,与redis的固有延迟(100~200us)相当,用SSD作...

携程技术 2953

Delphi解决 openssl DLL 与 Indy 的SSL/TLS 连接问题

​ 使用 SSL 连接时出错。错误 1409442E:SSL 例程:ssl3_read_bytes:tlsv1 警报协议版本 由于我使用的是最新版本的Indy,根据Delphi Praxis 上的此线程,这种情况不应该发生。事实证明,不知何故,一个非常旧版本的 openssl DLLlibeay32.dll和ssleay32.dll已被放置在我计算机上的 sarch 路径中(版本 1.0.0e)。

Delphi开发局QQ群:32422310 2492

Dubbo3.0入门教程与新特性介绍 包括改装为dubbo以及跨语言调用

⾃此,Dubbo的改造就完成了,总结⼀下:1. 添加pom依赖2. 配置dubbo应⽤名、协议、注册中⼼3. 定义服务接⼝和实现类4. 使⽤@DubboService来定义⼀个Dubbo服务5. 使⽤@DubboReference来使⽤⼀个Dubbo服务6. 使⽤@EnableDubbo开启Dubbo注册模型的改变在服务注册领域,市⾯上有两种模型,⼀种是应⽤级注册,⼀种是接⼝级注册,在Spring Cloud中,⼀个应⽤是⼀个微服务,⽽在Dubbo2.7中,⼀个接⼝是⼀个微服务。

weixin_44030143的博客 1160

YOLOv11改进 | 注意力篇 | YOLOv11引入24年最新的ELA注意力机制,并构建C2PSA_ELA

为了解决这些限制,本文介绍了一种高效的本地注意力(ELA)方法,实现了一个简单的结构,大幅度的性能改善。我们精心设计了ELA中的三个超参数,产生了四个不同的版本:ELA-T,ELAB,ELA-S和ELA-L,以满足不同视觉任务的具体要求,如图像分类,目标检测和语义分割。到此本文的正式分享内容就结束了,在这里给大家推荐我的YOLOv11改进有效涨点专栏,本专栏目前为新开的,后期我会根据各种前沿顶会进行论文复现,也会对一些老的改进机制进行补充,如果大家觉得本文帮助到你了,订阅本专栏,关注后续更多的更新~

tsg6698的博客 1284

【Coze】在Coze平台使用源码创建工作流

Coze平台提供低代码工作流搭建功能,支持通过图形化界面快速构建自动化任务流程。用户可通过资源库创建工作流,导入JSON配置生成节点结构,连接起始节点并配置输入/输出字段(需定义数据类型)。平台提供试运行功能验证流程执行,支持可视化调试与发布上线。该方案适用于快速部署标准化业务逻辑,实现端到端的自动化处理。

Mr数据杨 2430

eb_jepa动作条件视频JEPA实战:构建可规划的世界模型,冲刺97%目标到达成功率

eb_jepa 是 Meta AI 开源的 Energy-Based JEPA(联合嵌入预测架构,Joint-Embedding Predictive Architecture)轻量级库。本文以它最有代表性的 **动作条件视频 JEPA(Action-Conditioned Video JEPA)** 示例为主线,演示如何不用任何奖励信号、仅靠自监督学习训练一个**可规划的世界模型**,再配合 M

gitblog_01081的博客 466

你以为你懂 Java 反射?看了这篇源码分析,我发现我以前都错了

摘要:本文讲述了一次生产环境Metaspace内存溢出的故障排查经历。事故源于一个通用数据导出功能中频繁使用反射调用method.invoke(),触发了JVM的"膨胀机制":当同一Method对象调用超过15次时,JVM会动态生成GeneratedMethodAccessor类,导致Metaspace被撑爆。文章分析了问题根源在于循环中反复调用getMethods()创建新Method对象,并提出了三种解决方案:缓存Method对象、改用MapStruct/MethodHandle工具

BUG猿的博客 769

Go 协程实现原理

如果没有可用的P,那么G与M之间的关联将解除,同时G会被标记为runnable,放入全局的运行队列中,等待调度器的再次调度。每个线程会都占用 1M 以上的内存空间,在切换线程时不止会消耗较多的内存,恢复寄存器中的内容还需要向操作系统申请或者销毁资源,每一次线程上下文的切换都需要消耗 ~1us 左右的时间。因为多线程不需要创建新的虚拟内存空间,所以它们也不需要内存管理单元处理上下文的切换,线程之间的通信也正是基于共享的内存进行的,与重量级的进程相比,线程显得比较轻量。个活跃线程能够正常运行。

weixin_41069439的博客 668

【OpenCV实战】简洁易懂的车牌号识别Python+OpenCV实现“超详解”(含代码)

简洁易懂的车牌号识别Python实现(含代码)1、整体思路2、代码详解 1、整体思路 2、代码详解

qq_40784418的博客 9万+

SAP_PP模块定额工艺路线简介

在 SAP PP(生产计划)模块中,定额工艺路线(Routing) 是生产制造流程中的核心主数据之一,用于定义制造一个产品所需的标准操作步骤。工艺路线详细描述了生产过程中的各个工序、使用的工作中心、标准作业时间、资源分配等信息,是进行生产计划、成本核算、排产控制、车间执行等功能的基础。

我小时候很黑的博客 763

Dubbo-go 源码笔记(一)Server 端开启服务过程,2024年最新Golang事件分发机制收藏这一篇就够了

该结构体组合了 registry.BaseRegistry 结构,base 结构定义了注册器基础的功能函数,比如 Registry、Subscribe 等,但在这些默认定义的函数内部,还是会调用 facade 层(zkRegistry 层)的具体实现函数,这一设计模型能在保证已有功能函数不需要重复定义的同时,引入外层函数的实现,类似于结构体继承却又复用了代码。前面提到,在配置文件中已经写好了要暴露的 service 的种种信息,比如服务名、interface 名、method 名等等。

2401_84264662的博客 961

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

原来dubbo 还支持 golang 呢,可以用相互调用,相爱了。使用java 做服务端,golang做客户端

以前有很多项目都是java写的,业务逻辑是用dubbo做的服务。 这部分是不可能重写了。但是要是使用golang开发新项目。需要用到 dubbo服务。 支持的协议 hessian2 ,这样写的程序就可以相互调用了。 超级兴奋。同时问了下作者, dubbo-go 再过1 - 2 月也能完善了。 同时也可以使用 golang 做server服务,让java 程序去做client 调用。 非常非常帮的。

freewebsys的专栏 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

apollo与springboot集成实现动态刷新配置

分布式apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。 本文主要介绍如何使用apollo与springboot实现动态刷新配置,如果之前不了解apollo可以查看如下文档 https://github.com/ctripcorp/apollo 学习了解一下apollo,再来查看本文 正文 apollo与spring实现动态刷新配置本文主要演示2种刷新,一种基于普通

kingwinstar的博客 2789

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Dubbo Golang开发微服务

Dubbo Golang开发微服务

qq_36070104的博客 760

Dubbo Go Hessian2 开源项目安装及使用指南

Dubbo Go Hessian2 开源项目安装及使用指南 一、项目介绍 背景概述 Dubbo Go Hessian2 是一个基于 Go 语言实现的 CaUcho Hessian2 协议库,专门用于 Apache Dubbo 生态系统中,它兼容于 Dubbo Hessian Lite。这个项目的初衷是为了增强跨平台服务调用的能力,尤其是在 Go 和 Java 环境下的互操作性。 核心特性 协议兼...

gitblog_00991的博客 998

携程开源 基于真实请求与数据的流量回放测试平台、自动化接口测试平台AREX

官网文档这篇文章稍稍水一下,主要讲下部署过程里踩的坑,因为部署的过程主要是运维同学去处理了,我只说下踩到的坑,官方的教程是可行的。目前该项目对zuul项目的录制回放会有点问题(录制的样例会出现路由匹配符/order/**,而不是URI,批量回放会出问题),已联系携程AREX开源团队,正在处理,有进度会更新该博客。

HumorChen的博客 1902

力扣热门100题之盛最多水的容器,2024年最新学习路线+知识点梳理

人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。输入:[1,8,6,2,5,4,8,3,7]输入:height = [1,1]解法2:双重for循环暴力破解。

2401_84264010的博客 522

Dubbo Golang快速开发Rpc服务

Dubbo Golang快速开发Rpc服务

qq_36070104的博客 1164
上一篇: 干货 | 当你在携程搜索时,背后的推荐系统是如何工作的
下一篇: 干货 | 携程机票 App Kotlin Multiplatform 初探
携程技术
博客等级 码龄10年 3716粉丝 324原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值