gRPC.io官网上的一篇Blog大致讲解了gRPC是如何使用HTTP/2的,觉得讲的比较抽象,理解的不够透彻,于是自己找了一些资料。大致总结一下,个人认为:gRPC之所以高效,除了在协议层使用Protobuffer之外,底层使用HTTP/2也是一个非常重要的原因。下面先上一张图,再来看看HTTP/2的一些特征。
Redis知识点整理
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,和Memcached类似;它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型);同时,还支持地理位置GEO和Bitmap扩展类型。
编译原理
一般高级语言程序编译的过程:预处理
、编译
、汇编
、链接
。
gcc在后台实际上也经历了这几个过程,我们可以通过-v
参数查看它的编译细节,如果想看某个具体的编译过程,则可以分别使用-E
, -S
, -c
和 -O
,对应的后台工具则分别为cpp,cc1,as,ld。
下面我们将逐步分析这几个过程以及相关的内容,诸如语法检查、代码调试、汇编语言等。
Docker核心原理
每次看docker相关的资料,都是零零碎碎的,没有系统性的去把所有知识融汇起来。最近花时间好好学习了一下,基本算是能够把docker所用的linux相关的知识给串通起来;这里简单记录一下,希望便于后续进一步学习或者对后来人有一定的帮助。
微服务网关Kong实践
之前做PaaS平台使用过新浪基于OpenResty实现蓝绿部署和灰度发布的方案。这几天倒腾了一下大名鼎鼎的Kong,对其新版本中的概念抽象,以及环境搭建、plugin编程规则等内容大概记录一下。
Kong介绍
API网关
是所有的客户端和消费端统一的接入点,它对消费者屏蔽了后端的微服务,并处理非业务功能。通常,网关也提供REST/HTTP的访问API,服务端通过API-GW注册和管理服务。Kong
是一个可扩展的开放源码的API中间件, 它在任何RESTful API的前面运行,通过插件扩展,它提供了超越核心平台的额外功能和服务。Kong是基于OpenResty(不要问我Openresty是不是基于Nginx),在其基础上做了一系列的抽象概念、提供了相应的Lua脚本编程框架和库;同时,它也提供了集群方案,是一个满足生产级的API网关解决方案。