没有合适的资源?快使用搜索试试~ 我知道了~
首页华为ServiceComb在ServiceMesh实践:解决微服务复杂挑战
华为ServiceComb在ServiceMesh实践:解决微服务复杂挑战
1 下载量 160 浏览量
更新于2024-08-27
收藏 516KB PDF 举报
"华为多年实践:ServiceComb在ServiceMesh的探索与思考"聚焦于华为在ServiceMesh领域的深入研究和实际应用。首先,报告阐述了ServiceMesh在华为微服务架构演进过程中的关键作用。在华为内部,面对微服务架构带来的复杂性,如代码量庞大、交付周期长以及开发者适应性问题,传统的开发框架难以满足需求。ServiceMesh作为一种网络层的解决方案,通过在TCP/IP之上提供代理,实现了服务与应用的解耦,支持自动化的发现、故障切换(熔断)、流量控制(限流)和监控等功能,无需改动原有代码即可运行。 13年,华为在微服务开发平台上引入了IR组件,每个节点内置路由功能,应用程序部署在平台上并通过RouterAgent注册到Zookeeper,实现服务发现。然而,IR组件依赖Nginx作为通信代理,存在单点故障和扩展性受限的问题。为了解决这些问题,华为在15年推出了sidecar组件,借鉴Kubernetes的Pod多容器特性,将业务逻辑和sidecar分离。sidecar负责处理所有服务请求的转发,从而提升了服务的健壮性和灵活性。 通过这些实践,华为展示了ServiceMesh如何帮助企业简化服务管理,提高运维效率,降低复杂性,使得企业能够更轻松地应对微服务架构的挑战。华为的经验表明,ServiceMesh是现代企业应对微服务时代复杂性的重要工具,有助于推动组织向更加灵活、可扩展的架构转型。"
资源详情
资源推荐
华为多年实践:华为多年实践:ServiceComb在在ServiceMesh的探索与思考的探索与思考
摘要
我们今天围绕三个主题来讲,首先会讲一下Service Mesh在华为多年的实践,另外会介绍一些实践的方法,最后会介绍几个
案例来带大家看一下,我们是怎么在实践中帮助企业在生产环境中使用Service Mesh。
华为内部演进
实际上我们在做微服务的时候,整个演进的过程中要解决很多微服务架构带来的复杂的问题。我个人曾实现过一个Go版本的
微服务开源框架,这个框架有大概2万行左右的代码,并交付给业务使用,这个过程耗时非常长,实际上一般的公司是没有这
个实力去交付的,另外可能还需要一些时间去让开发者去适应框架。
对此的另一种解决方案是使用Service Mesh,这是一个网络模型,不同于开发框架在应用层和应用耦合在一起,以解决微服
务的复杂问题。Service Mesh是在TCP IP之上提供代理的方式和Application解耦,然后帮你去做发现、熔断、限流、监控等
事情,这些都是在五层协议来做的。
其实可以这样看待,过去的Application是跑在tcp ip之上,现在这些服务跑在Service Mesh服务网络之上,而且这个过程不需
要对原有代码进行一点修改。
实际上华为内部很早就已经有了非常多的实践。13年的时候实现了微服务开发平台中的IR组件,它是在每一个节点上有一个
内部路由,这个节点上所有的Application由平台部署,部署进去之后由有一个叫RouterAgent组件将APP注册到zookeeper
上,同时RouterAgent会刷新IR中的路由表,这样的就可以做发现了。
Application之间的所有通信呢都是通过Router来进行的,但是它是由nginx实现的,所以有几个缺点。首先一旦节点挂了之
后,节点上的所有Application即进不来也出不去,通信就都没有了。另外扩展性受到一定局限,语言生态不像Go语言Java那
么好。
我们在15年的时候又做了一个叫sidecar的组件,这也是一个大框架下的组件。它的原理其实已经和现在的Service Mesh非常
像了,利用了kubernetes的一个pod下可以又多个容器的能力,一个container是承载业务,另外一个container就是sidecar。
所有服务的请求都要通过sidecar进行发送接收,一般来说这些Service都是HTTP的service。sidecar其实也有自己的一些缺
点,比如说它是Java开发的,大家都知道,java虚拟机是非常的占用资源的,现在每个微服务都要起一个虚拟机,总的来说不
够清亮,所以sidecar其实不符合Service Mesh的最佳实践。
Mesher
下载后可阅读完整内容,剩余5页未读,立即下载
weixin_38701156
- 粉丝: 5
- 资源: 957
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 十种常见电感线圈电感量计算公式详解
- 军用车辆:CAN总线的集成与优势
- CAN总线在汽车智能换档系统中的作用与实现
- CAN总线数据超载问题及解决策略
- 汽车车身系统CAN总线设计与应用
- SAP企业需求深度剖析:财务会计与供应链的关键流程与改进策略
- CAN总线在发动机电控系统中的通信设计实践
- Spring与iBATIS整合:快速开发与比较分析
- CAN总线驱动的整车管理系统硬件设计详解
- CAN总线通讯智能节点设计与实现
- DSP实现电动汽车CAN总线通讯技术
- CAN协议网关设计:自动位速率检测与互连
- Xcode免证书调试iPad程序开发指南
- 分布式数据库查询优化算法探讨
- Win7安装VC++6.0完全指南:解决兼容性与Office冲突
- MFC实现学生信息管理系统:登录与数据库操作
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功