gRPC简介和实践 发表于 2020-01-05 | 分类于 HTTP简介 gRPC是Google主导的一个高性能,跨语言的RPC(远程过程调用)框架。官网: https://grpc.io/ 支持多种常见的流行编程语言,如C++ Java Node.js PHP Python等等。 其实从本质上来看到gRPC其实是基于使用protobuf做为数据传输格式,借助HTTP2协议通信做的一个RPC框架,只要任何语言实现了gRP ...阅读全文 »
Jenkins学习笔记 发表于 2019-12-09 | 分类于 DevOps背景 DevOps其实是描述的是从开发人员push代码或者上线打tag发布新版本的时候,会经过一些列单元测试,集成测试,自动部署等等一系列步骤转化为自动化的一个过程。只要这些自动化脚本都做好了, 那么就节约了很多的物力和财力。 程序员只要关心自己的业务代码即可, 后面一些列繁琐的事情,打包,更新镜像等等都不用关心, 也无须关心,因为流程都是一样的,步骤也是一样的,就让脚本帮我们做就好了。 那么 ...阅读全文 »
https跳过证书校验底层原理 发表于 2019-11-26 | 分类于 HTTPS背景大家可能遇到过爬虫或者curl某个https站点,由于站点TLS证书过期或者使用自签证书,curl或者浏览器校验不通过,导致不能正常访问。 所以类似什么Java中怎么跳过https证书校验,php怎么跳过,python怎么跳过等等问题全网遍地都是。 但是你知道跳过https证书底层到底干了什么事情呢? https不懂的同学可以先简单看我的一篇文章: https加密和解密过程。网上太多人只讲通过 ...阅读全文 »
K8S中Pod内部容器通信原理 发表于 2019-11-21 | 分类于 K8S原文地址: https://blog.csdn.net/xyz_dream/article/details/103179128要了解和分析Pod中的container容器网络,那么首先肯定是要了解docker容器网络的几种模式以及常见用法。之后我们再带着这个问题一步一步地去进行实操验证一下我们的推断是否正确。1.docker容器网络模式1.1 默认bridge桥接网络默认分配docker0网桥网段 ...阅读全文 »
lua入门与学习笔记 发表于 2019-10-27 | 分类于 openresty原文: https://blog.csdn.net/xyz_dream/article/details/102766332由于nginx采用异步非阻塞io模型, 可以高效的处理并发请求,nginx还可以加入一些模块,其中就包括lua模块。 这个模块非常强悍和轻巧,犹如瑞士军刀,小巧精悍。nginx在做反向代理以及web服务器,是拿到http第一手源数据,那么我们可以在nginx这一块针对例如url ...阅读全文 »
php源码逆向工程转化为UML类图 发表于 2019-10-11 | 分类于 uml原文: https://blog.csdn.net/xyz_dream/article/details/102502232通过php源码导出uml类图能够方便我们查看整体项目的类结构,方便我们去阅读源码以及理解。找到一个项目, phuml使用php代码扫描php代码文件,通过extends implements以及注解等形式, 描绘出DOT格式的画图文件,再通过Graphviz软件将DOT图形文件 ...阅读全文 »
由于已经具备PHP基础转Golang学习笔记 发表于 2019-09-12 | 分类于 golang原文: https://blog.csdn.net/xyz_dream/article/details/100754331golang近几年由于docker k8s等开源项目实在是火得不行,很多国内大厂也都有使用go语言对现有项目或者新项目进行使用。典型国内最早期的粉丝当属七牛云了,许式伟的<<Go语言编程>>这本书也是很多golang入门者的必备书籍。不过,就我个人而言, ...阅读全文 »
Redis通信协议 发表于 2019-07-02 | 分类于 redis原文: https://blog.csdn.net/xyz_dream/article/details/944948841.前言redis日常开发多多少少都有使用过。不过大多数都停留在get set等基本操作,存数据,取数据等简单操作。对于redis的通信协议基本上都没怎么留意过,所以自己有必要通过博文记录一番。了解相对底层的东西,有助于我们更好的使用redis以及排查错误。2.redis通信协议 ...阅读全文 »
ssh设置通过http代理连接远程主机 发表于 2019-06-11 | 分类于 linux原文: https://blog.csdn.net/xyz_dream/article/details/91414333需求背景存在A B C三台主机, 由于安全因素或者其他,A不能直接与C通信。 但是存在B可以与A,C通信。 则现在需要在A上通过ssh, 假设B已经搭建好一个http代理,专门来代理ssh访问C的服务。具体方法分为2种常见做法:1.通过软件 corkscrew作为proxy的客户 ...阅读全文 »