首款跨语言RPC框架发布

开发历程

  • 2019 ~ 2019

什么跨语言呢?比如你学了Java,你会写Service去调用业务代码,运用了OCP原则,可以使用接口编程,老师告诉我们,这样让接口开放,这样你新增功能的时候,就不用在源码改了,只需要按照接口规范去实现一个Interface即可。
当然这时候我在面向C语言开发,还没接触Java,听说Java毕业后工资很高哇,很向往那种以后工作有花不完的money。

  • 2020 ~ 2020

抢了专业选修课Java,没选Python,开始了我的Java生涯了。
后面自己又再琢磨看到了RPC的存在,可以远程调用方法,这样客户端代码完全不用改,只需要改动远程机器代码,客户端请求的业务逻辑就可以改动。
是不是很神奇,但还是远远不局限于此,我们编写的代码局限在了Java,虽然Java之父说了Java是跨平台的,但是不能跨语言呀,那我想在Java调用C/C++/GoLang服务呢?没辙了吧。

  • 2020-2023

从20年开始,就开始研究 RPC,到2021开始发布,再到2022逐渐对代码和性能进行优化,上线了第一款基于RPC的微服务博客项目 ☞ fyupeng.cn,后面性能优化到瓶颈,还是没干过Dubbo,索性放弃,转战 GoLang,是从2023年初开始,虽然可以参考Java进行拷贝式编程,但被生态圈卡了脖子,愣是到8月才完成单语言发布,从9月到11月陆续完成GoLang与Java版本的通信,实现跨语言RPC远程调用,感兴趣可以start ☞rpc-netty-framework 和 rpc-go-netty,虽然不如市面上团队开发的产品。但是这款产品我会保持这样的目标:用最少代码完成工作。

想学习的可以看看几年来收录的文章,个人感觉还是大佬提供了很多思路造就了现在的项目,感激平台给我一个创作文章的舞台,让我一直以来能够不断被激励创作和更新,才有现在的 rnf.cool 诞生。(文档还不完善)
1、rpc
2、netty

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/194698.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Javase | 贪吃蛇小游戏

目录: 1.贪吃蛇游戏介绍:(该游戏代码不是很完善,可后续不断优化哦)2.贪吃蛇游戏的代码操作步骤/讲解:3.贪吃蛇游戏的详细代码 :3.1MPanel.java3.2 Msnake.java 4.贪吃蛇游戏的代码分享 (获得代码 和 其中游戏图片)5.(继…

总结react中css的使用

1、css in js css in js有很多库,这里介绍styled-components styled-components 下载【vscode可以安装vscode-styled-components 插件,有代码提示】 npm i styled-components 1、然后为某个组件新建style.js文件,然后写一些样式。 impo…

【腾讯云HAI域探密】- AIGC应用助力企业降本增效之路

一、前言: 近年来,随着深度学习、大数据、人工智能、AI等技术领域的不断发展,机器学习是目前最火热的人工智能分支之一,是使用大量数据训练计算机程序,以实现智能决策、语音识别、图像处理等任务。 作者也是经过了以…

开源 Linux 系统 KDE neon 20231109 中文正式版来了

前言 开源 Linux 系统Neon 的外观和感觉很像 Linux 发行版,但其开发人员在其网站上非常公开地声称 Neon 不是真正的 Linux 发行版。它只是安装和运行 – 有点像。Neon 似乎是一个 Linux 操作系统。它会启动您的计算机。它显示了一个完整的桌面环境。它运行应用程序,所以你可…

【算法套路】(数组中)等价转换

文章目录 例题——2488. 统计中位数为 K 的子数组⭐【套路】子数组统计问题常用技巧:等价转换 相似题目列表面试题 17.05. 字母与数字525. 连续数组1124. 表现良好的最长时间段解法1解法2——利用单调栈 例题——2488. 统计中位数为 K 的子数组⭐ https://leetcode…

Proteus仿真--基于ADC0832设计的两路电压表

本文介绍基于ADC0832实现的双路电压表采集设计(完整仿真源文件及代码见文末链接) 仿真图如下 采集芯片选用ADC0832,电压显示在LCD1602液晶显示屏上 仿真运行视频 Proteus仿真--基于ADC0832设计的两路电压表 附完整Proteus仿真资料代码资料…

【力扣206】反转链表

【力扣206】反转链表 一.题目描述 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1 : 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2 : 输入:head [1,2] 输出&#x…

sqlserver2019基本操作

一、下载管理工具 sql server2019官方的管理工具是SQL Server Management Studio 简称SSMS。 下载连接: https://learn.microsoft.com/zh-CN/sql/ssms/download-sql-server-management-studio-ssms?viewsql-server-ver16二、登录 1.连接服务器 点击 文件 --> 连接对象资…

harmonyOS学习笔记之stateStyles

stateStyles:多态样式 stateStyles可以依据组件的内部状态的不同,设置不同的样式 stateStyles是属性方法,可以根据状态来设置样式,类似于css伪类,但是语法不一样,ArkUI提供了四种状态: focused:获焦态 normal:正常态 pressed:按压态 disable:不可用态例如: Entry Component …

Mybatis-Plus更新时间字段不生效

一、背景 Mybatis-Plus是在Mybatis的基础上只做增强不做改变,主要是为简化开发。项目的背景是使用的就是Mybatis-Plus,但是在运行项目过程中发现一个问题,当使用Mybatis-Plus进行数据的更新的时候,更新字段没有按照我们所预想的进…

Springboot依赖注入时重复初始化Bean的问题

前言 最近做项目,发现了springboot2.7.x在参数initiate的时候可以反复初始化,而且首次异常后,第二次成功居然也可以启动,通过查看源代码发现了问题根源,且在springboot高版本3.x,就出现了了Configuration的…

qnx修改tcp和udp缓冲区默认大小

拷贝/home/test/qnx/qos223/target/qnx7/aarch64le/sbin/sysctl进系统中 https://www.qnx.com/developers/docs/7.1/#com.qnx.doc.neutrino.utilities/topic/s/sysctl.html kern.sbmax 默认262144,这个限制住了发送、接收缓冲器大小 ./sysctl -w kern.sbmax10000…

尺寸公差软件 AI自动化建模在电控器装配测量中的应用

在公差仿真分析中,公差仿真模型的建立,是耗时、繁琐,但又必需的一步:手动建立特征、手动建立装配、手动建立公差、手动建立测量。往往需要几天时至几十天,才能将模型建立完成。 幸运的是,随着AI&#xff0…

Kafka 架构深度解析:生产者(Producer)和消费者(Consumer)

Apache Kafka 作为分布式流处理平台,其架构中的生产者和消费者是核心组件,负责实现高效的消息生产和消费。本文将深入剖析 Kafka 架构中生产者和消费者的工作原理、核心概念以及高级功能。 Kafka 生产者(Producer) 1 发送消息到…

【Delphi】中使用Indy进行UDP广播通信

目录 一、服务器端(接收端) 二、客户端(广播端) Delphi中进行UDP广播通信函数代码: 一、服务器端(接收端) 在主界面上返放置一个TIdUDPServer控件,设置好该控件的监听端口&#…

专业课:递归非递归中序遍历

非递归中序遍历二叉树通常使用栈来辅助实现。 树结构: struct TreeNode {int data;TreeNode* left;TreeNode* right; };递归 void inorderTraversal(TreeNode *root){if(root ! nullptr){//中序遍历 “左孩子--根节点--右孩子”inOrder(root->lchild);printf(…

设计模式-结构型模式之代理设计模式

文章目录 八、代理设计模式 八、代理设计模式 代理设计模式通过代理控制对象的访问,可以详细访问某个对象的方法,在这个方法调用处理,或调用后处理。既(AOP微实现) 。 代理有分静态代理和动态代理: 静态代理:在程序…

c 实现的jpeg 8×8 离散余弦DCT 正向,逆向转换

理论公式&#xff1a; 验证数据 1.正向&#xff0c;数据源为YCbCr 88 数据 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/ioctl.h> #include <sys/mman.h> #include <string.…

Android CardView基础使用

目录 一、CardView 1.1 导入material库 1.2 属性 二、使用(效果) 2.1 圆角卡片效果 2.2 阴影卡片效果 2.3 背景 2.3.1 设置卡片背景(app:cardBackgroundColor) 2.3.2 内嵌布局&#xff0c;给布局设置背景色 2.4 进阶版 2.4.1 带透明度 2.4.2 无透明度 一、CardView 顾名…

面试题:MySQL为什么选择B+树作为索引结构

文章目录 前言二、平衡二叉树(AVL)&#xff1a;旋转耗时三、红黑树&#xff1a;树太高四、B树&#xff1a;为磁盘而生五、B树六、感受B树的威力七、总结 前言 在MySQL中&#xff0c;无论是Innodb还是MyIsam&#xff0c;都使用了B树作索引结构(这里不考虑hash等其他索引)。本文…