28实战总结:RPC实战总结与进阶延伸

经过前面几节的实战课,我们已经初步完成了一个 RPC 框架原型,其中串联了 RPC 框架所涉及的大部分核心知识点。纸上得来终觉浅,绝知此事要躬行,编码是每个程序员的基本功,一定要亲自动手做一遍,不要停留在纸上谈兵。虽然 RPC 框架原型已经可以运行起来了,但是离生产级使用还差得很远,例如性能、高可用等。本节课我会做一个有关知识点的总结回顾,并结合业界成熟的 RPC 框架再做一些知识补充,希望对你提升系统设计能力所有帮助。

29__1+1_2,灵活的工具组合及环境让你的工作效率翻倍

你好,我是葛俊。今天,我们来聊一聊工具的组合和环境。

在前面几篇文章,我与你介绍了很多工具,有开发工具,也有跟开发不直接相关的工具。毫无疑问,这些工具都很好用。但,如何配置这些工具,才能真正发挥它们的价值,提高我们的研发效能呢?

29__CISC和RISC:为什么手机芯片都是ARM?

我在第 5 讲讲计算机指令的时候,给你看过 MIPS 体系结构计算机的机器指令格式。MIPS 的指令都是固定的 32 位长度,如果要用一个打孔卡来表示,并不复杂。

MIPS 机器码的长度都是固定的 32 位

29__Copy-on-Write模式:不是延时策略的COW

在上一篇文章中我们讲到 Java 里 String 这个类在实现 replace() 方法的时候,并没有更改原字符串里面 value[] 数组的内容,而是创建了一个新字符串,这种方法在解决不可变对象的修改问题时经常用到。如果你深入地思考这个方法,你会发现它本质上是一种Copy-on-Write 方法。所谓 Copy-on-Write,经常被缩写为 COW 或者 CoW,顾名思义就是写时复制

29__GroupMetadataManager:组元数据管理器是个什么东西?

你好,我是胡夕。今天,我们学习 GroupMetadataManager 类的源码。从名字上来看,它是组元数据管理器,但是,从它提供的功能来看,我更愿意将它称作消费者组管理器,因为它定义的方法,提供的都是添加消费者组、移除组、查询组这样组级别的基础功能。

29__HTTP_1:HTTP性能优化

谈及浏览器中的网络,就避不开 HTTP。我们知道 HTTP 是浏览器中最重要使用最多的协议,是浏览器和服务器之间的通信语言,也是互联网的基石。而随着浏览器的发展,HTTP 为了能适应新的形式也在持续进化,我认为学习 HTTP 的最佳途径就是了解其发展史,所以在接下来的三篇文章中,我会从浏览器发展的视角来和你聊聊 HTTP 演进。这三篇分别是即将完成使命的 HTTP/1、正在向我们走来的 HTTP/2,以及未来的 HTTP/3

29__JavaScript语法(一):在script标签写export为什么会抛错?

你好,我是 winter,今天我们进入到语法部分的学习。在讲解具体的语法结构之前,这一堂课我首先要给你介绍一下 JavaScript 语法的一些基本规则。

脚本和模块

首先,JavaScript 有两种源文件,一种叫做脚本,一种叫做模块。这个区分是在 ES6 引入了模块机制开始的,在 ES5 和之前的版本中,就只有一种源文件类型(就只有脚本)。

29__Kafka动态配置了解下?

你好,我是胡夕。今天我要和你讨论的主题是:Kafka 的动态 Broker 参数配置。

什么是动态 Broker 参数配置?

在开始今天的分享之前,我们先来复习一下设置 Kafka 参数,特别是 Broker 端参数的方法。

29__Ops三部曲之二:集群部署

你好,我是四火。

今天我们来谈谈 Ops 的三部曲之二,集群部署。毕竟一台物理机能够承载的请求数是十分有限的,同时,一台物理机还存在着单点故障(Single Point Failure)问题,因此我们通常需要把多台 Web 服务器组成集群,来提供服务。

29__PV、PVC体系是不是多此一举?从本地持久化卷谈起

你好,我是张磊。今天我和你分享的主题是:PV、PVC 体系是不是多此一举?从本地持久化卷谈起。

在上一篇文章中,我为你详细讲解了 PV、PVC 持久化存储体系在 Kubernetes 项目中的设计和实现原理。而在文章最后的思考题中,我为你留下了这样一个讨论话题:像 PV、PVC 这样的用法,是不是有“过度设计”的嫌疑?