我给你讲解了 RPC 远程调用的原理,简单回顾一下一个完整的 RPC 框架主要有三部分组成:通信框架、通信协议、序列化和反序列化格式。根据我的经验,想要开发一个完整的 RPC 框架,并且应用到线上生产环境,至少需要投入三个人力半年以上的时间。这对于大部分中小团队来说,人力成本和时间成本都是不可接受的,所以我建议还是选择开源的 RPC 框架比较合适。
那么业界应用比较广泛的开源 RPC 框架有哪些呢?
简单划分的话,主要分为两类:一类是跟某种特定语言平台绑定的,另一类是与语言无关即跨语言平台的。
2024年10月10日
我给你讲解了 RPC 远程调用的原理,简单回顾一下一个完整的 RPC 框架主要有三部分组成:通信框架、通信协议、序列化和反序列化格式。根据我的经验,想要开发一个完整的 RPC 框架,并且应用到线上生产环境,至少需要投入三个人力半年以上的时间。这对于大部分中小团队来说,人力成本和时间成本都是不可接受的,所以我建议还是选择开源的 RPC 框架比较合适。
那么业界应用比较广泛的开源 RPC 框架有哪些呢?
简单划分的话,主要分为两类:一类是跟某种特定语言平台绑定的,另一类是与语言无关即跨语言平台的。
2024年10月10日
简介: 大多数业务应用只要做到同城双活,就可以避免掉大多数数据中心不可用故障。本实践就是帮助大家高效、低成本地实现自己的业务应用具备同城双活容灾能力。
上云目前已经是绝大数企业首选的IT基础设施建设方案,但是云上仍然存在一些不确定因素(机房硬件故障、网络故障、断网/断电、人为操作失误),导致各大云厂商每年在不同的数据中心都会发生一些故障,所以建设具备容灾能力的业务应用是必需的。公共云上容灾解决方案涵盖同城双活、跨Region容灾和异地多活等容灾场景,对公共云上大多数中长尾客户来说,更需要的是一种对应用侵入性小甚至透明,但又能保证高可用的容灾方案,同城双活无疑是首选的容灾方案,大多数业务应用只要做到同城双活,就可以避免掉大多数数据中心不可用故障。
2024年10月10日
要完成一次服务调用,首先要解决的问题是服务消费者如何得到服务提供者的地址,其中注册中心扮演了关键角色,服务提供者把自己的地址登记到注册中心,服务消费者就可以查询注册中心得到服务提供者的地址,可以说注册中心犹如海上的一座灯塔,为服务消费者指引了前行的方向。
有了服务提供者的地址后,服务消费者就可以向这个地址发起请求了,但这时候也产生了一个新的问题。你知道,在单体应用时,一次服务调用发生在同一台机器上的同一个进程内部,也就是说调用发生在本机内部,因此也被叫作本地方法调用。在进行服务化拆分之后,服务提供者和服务消费者运行在两台不同物理机上的不同进程内,它们之间的调用相比于本地方法调用,可称之为远程方法调用,简称 RPC(Remote Procedure Call),那么RPC 调用是如何实现的呢?
2024年10月10日
简介: 年年有大促,大家对于大促稳定性保障这个词都不陌生,业务场景尽管各不相同,“套路”往往殊路同归,全链路压测、容量评估、限流、紧急预案等,来来去去总少不了那么几板斧。跳出这些“套路”,回到问题的本质,我们为什么要按照这些策略来做?除了口口相传的历史经验,我们还能做些什么?又有什么理论依据?
年年有大促,大家对于大促稳定性保障这个词都不陌生,业务场景尽管各不相同,“套路”往往殊路同归,全链路压测、容量评估、限流、紧急预案等,来来去去总少不了那么几板斧。
2024年10月10日
微服务近年来很火很热,相关的文章汗牛充栋,关于架构设计本文就不作叙述了,只谈谈在分布式服务的容错方面怎么做。
对于微服务,我们可以简单的理解成对一个服务解耦,以降低业务系统的复杂性,将服务系统中的功能进行拆分成多个轻量的子服务,各个自服务间通过RPC实现服务间的关联,这样做的好处是将业务简单化,每个子服务可以有自己独立的编程语言,模式等且能够独立维护,独立部署,功能复用。
由于微服务间通过RPC来进行数据交换,所以我们可以做一个假设:在IO型服务中,假设服务A依赖服务B和服务C,而B服务和C服务有可能继续依赖其他的服务,继续下去会使得调用链路过长,技术上称1->N扇出。如果在A的链路上某个或几个被调用的子服务不可用或延迟较高,则会导致调用A服务的请求被堵住,堵住的请求会消耗占用掉系统的线程、io等资源,当该类请求越来越多,占用的计算机资源越来越多的时候,会导致系统瓶颈出现,造成其他的请求同样不可用,最终导致业务系统崩溃,又称:雪崩效应。
2024年10月10日
在使用 XXL-Job 时,有时我们会遇到启动时的端口冲突问题,例如报错 xxl-rpc provider port is used。本文将为大家介绍该错误的原因及相应的解决方案。
下面是问题描述和问题解决记录。
2024年10月10日
上一期小编做了一篇关于打印机共享的教程,也得到了广大朋友的支持,由于工作原因,评论就不一一回复了,当然也有朋友发来私信,主要就是打印机卡纸、打印文档被挂起这些问题,今天小编就以这篇文章 和大家谈谈这些问题,当然知道的不全,有经验的朋友也可以在评论区留言,大家共同学习。#钉钉新工作方式#
首先我们要明白什么叫卡纸?打印设备卡纸主要发生在走纸单元(进纸、打印、出纸整个流程),因纸张无法平直在走纸单元内按既定路线运动,最终影响打印操作的问题。那如何解决卡纸的问题?
2024年10月10日
IT人的职场进阶
前亚马逊工程师,现58转转技术总监。持续分享个人的成长之路,希望对你有所启发。如果感兴趣,就请关注我吧。
“
这篇文章将通过一个真实的线上事故,系统性地介绍:在微服务架构下,该如何正确理解并设置 RPC 接口的超时时间,让大家在开发服务端接口时有更全局的视野。