首页
学习
活动
专区
工具
TVP
发布

JavaEdge

关注公众号:JavaEdge,加入全国最大的后端交流群。
专栏成员
2499
文章
2704678
阅读量
182
订阅数
RPC异步化原理
深入RPC,更好使用RPC,须从RPC框架整体性能考虑问题。得知道如何提升RPC框架的性能、稳定性、安全性、吞吐量及如何在分布式下快速定位问题。RPC框架如何压榨单机吞吐量?
JavaEdge
2023-02-28
9870
RPC框架设计的安全性考量
RPC里面该如何提升单机资源的利用率,你要记住的关键点就一个,那就是“异步化”。调用方利用异步化机制实现并行调用多个服务,以缩短整个调用时间;而服务提供方则可以利用异步化把业务逻辑放到自定义线程池里面去执行,以提升单机的OPS。
JavaEdge
2023-02-26
7240
RPC框架的路由策略
真实环境的服务提供方以集群提供服务,对服务调用方,就是一个接口会有多个服务提供方同时提供服务,所以RPC每次发起请求时,要从多个服务提供方节点里选择一个用于发请求的节点。这次请求无论发送到集合中的哪个节点上,返回结果都一样。
JavaEdge
2023-02-26
1.1K0
06-gRPC收发请求过程解析
Google 开发并且开源的一款高性能、跨语言的 RPC 框架,当前支持 C、Java 和 Go。跨语言,通信协议基于HTTP/2,序列化支持 PB(Protocol Buffer)和 JSON。
JavaEdge
2023-02-26
7260
RPC框架整体架构
RPC就是把拦截到的方法参数,转成可以在网络中传输的二进制,并保证在服务提供方能正确地还原出语义,最终实现像调用本地一样地调用远程的目的。
JavaEdge
2023-02-26
8040
关注专栏作者,随时接收最新技术干货
JavaEdge
华为软件开发工程师
动态代理-RPC实现核心原理
实现过统一拦截吗?如授权认证、性能统计,可以用 Spring AOP,不需要改动原有代码前提下,还能实现非业务逻辑跟业务逻辑的解耦。核心就是动态代理,通过对字节码进行增强,在方法调用时进行拦截,以便于在方法调用前后,增加处理逻辑。
JavaEdge
2023-02-26
4220
如何设计可向后兼容的RPC协议
HTTP协议(本文HTTP默认1.X)跟RPC协议又有什么关系呢?都属于应用层协议。
JavaEdge
2023-02-26
9520
RPC的序列化方案详解
序列化过程就是在读取对象数据的时候,不断加入一些特殊分隔符,这些特殊分隔符用于在反序列化过程中截断用。
JavaEdge
2023-02-26
1.1K0
大厂都是如何对高并发系统做到高可用的?
Hadoop1.0的NameNode是单点,一旦故障,整个集群不可用。Hadoop2提出的NameNode HA方案就是同时启动两个NameNode:
JavaEdge
2022-12-13
2930
Java的Condition接口最正确的理解方式
Condition就是实现了管程里面的条件变量。 Java 语言内置的管程里只有一个条件变量,而Lock&Condition实现的管程支持多个条件变量。 支持多个条件变量,能让代码可读性更好,实现也更容易。例如,你看我这里实现一个阻塞队列,就需要两个条件变量:
JavaEdge
2022-11-30
2530
如何设计一个RPC框架?
很多语言都内置了RPC技术。 Java RMI .NET Remoting 远古时期,就有很多尝试:
JavaEdge
2022-11-30
5240
一文搞懂RPC
分布式服务化作为SOA的另一种选择,以不同方式把ESB的一些功能重做了一遍。 SOA/ESB:代理调用,直接增强。
JavaEdge
2022-11-30
1.7K0
Kafka实战(1)-为何大厂都选择Kafka作为消息队列
MQ是一组规范。 利用这组规范可以在不同系统间传递语义准确的消息,实现松耦合的异步式数据传递。
JavaEdge
2022-11-30
6520
Dubbo的SPI机制详解
Dubbo SPI 逻辑封装在 ExtensionLoader 类,通过 ExtensionLoader,可加载指定实现类。Dubbo SPI 所需配置文件需放置在 META-INF/dubbo 路径:
JavaEdge
2022-11-30
3320
突破Java面试(40)-如何设计一个类似Dubbo的RPC框架
其实一般问到你这问题,你起码不能认怂,因为这既然是面试突击教程,那不可能给你深入讲解什么kafka源码剖析,dubbo源码剖析,何况就算讲了,你要真的消化理解和吸收,起码个把月以后了!
JavaEdge
2022-11-30
2920
Dubbo的工作原理解析
第一层:service层,接口层,给服务提供者和消费者来实现的 第二层:config层,配置层,主要是对dubbo进行各种配置的 第三层:proxy层,服务代理层,透明生成客户端的stub和服务单的skeleton 第四层:registry层,服务注册层,负责服务的注册与发现 第五层:cluster层,集群层,封装多个服务提供者的路由以及负载均衡,将多个实例组合成一个服务 第六层:monitor层,监控层,对rpc接口的调用次数和调用时间进行监控 第七层:protocol层,远程调用层,封装rpc调用 第八层:exchange层,信息交换层,封装请求响应模式,同步转异步 第九层:transport层,网络传输层,抽象mina和netty为统一接口 第十层:serialize层,数据序列化层
JavaEdge
2022-11-30
2400
为什么要学习数据结构和算法?
是不是觉得数据结构和算法,跟os、计网一样,属于脱离实际工作的屠龙术? 除了面试,其实这辈子也用不着?
JavaEdge
2021-12-07
4210
微服务应用的多机房部署
为了实现高可用性,微服务一般部署在多机房,只要部署到多机房就万无一失了?考虑如下问题:
JavaEdge
2021-12-07
7280
大一学妹对Java的Condition接口理解让我佩服,当面给她offer!
Condition就是实现了管程里面的条件变量。 Java 语言内置的管程里只有一个条件变量,而Lock&Condition实现的管程支持多个条件变量。 因为支持多个条件变量,能让代码可读性更好,实现也更容易。 例如,你看我这里实现一个阻塞队列,就需要两个条件变量。
JavaEdge
2021-04-23
3740
ServiceMesh最火项目Istio架构设计哲学
由一组智能代理(Envoy)组成,被部署为 sidecar。这些代理负责协调和控制微服务之间的所有网络通信。他们还收集和报告所有网格流量的遥测数据。
JavaEdge
2021-02-23
4350
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档