摘要: 之前手动实现了一次简陋的 rpc 调用,为了简单使用了 json 编码信息,其实这是非常不可靠的,go 中 json 解析会有一些问题,比如整数会变成浮点数,而且 json 字符串比较占空间。 gRPC 由 google 开发,是一款语言中立、平台中立、开源的 RPC 框架,默认使用 protoco 阅读全文
posted @ 2020-07-21 15:54 luke44 阅读(713) 评论(0) 推荐(0) 编辑
摘要: rpc 全称 Remote Procedure Call 远程过程调用,即调用远程方法。我们调用当前进程中的方法时很简单,但是想要调用不同进程,甚至不同主机、不同语言中的方法时就需要借助 rpc 来实现,下面我一步步实现一个简单的 rpc 调用。 server 端注册函数,运行并接收客户端请求 fu 阅读全文
posted @ 2020-07-08 16:30 luke44 阅读(682) 评论(0) 推荐(0) 编辑
摘要: 在早期,CPU都是以单核的形式顺序执行机器指令。C语言、PHP正是这种顺序编程语言的代表,即所有的指令都是以串行的方式执行,在相同的时刻有且仅有一个CPU在顺序执行程序的指令。随着处理器技术的发展,单核时代以提升处理器频率来提高运行效率的方式遇到了瓶颈。单核CPU的发展的停滞,给多核CPU的发展带来了机遇。相应地,编程语言也开始逐步向并行化的方向发展。Go语言正是在多核和网络化的时代背景下诞生的原生支持并发的编程语言。 阅读全文
posted @ 2020-05-13 18:41 luke44 阅读(495) 评论(2) 推荐(0) 编辑
摘要: 最近要做一个圣诞抽奖活动,需要记录每天用户签到的记录,以前一般都是用普通的字符串数据类型,每个用户的签到用一个 key 那么一个用户一天的签到记录就要占一个字节,用户一多就产生非常多的 key,浪费宝贵的内存。 位图 为了解决这个问题,redis 另一种数据类型位图就非常适合。位图并不是特殊的数据类 阅读全文
posted @ 2019-12-12 19:09 luke44 阅读(791) 评论(0) 推荐(2) 编辑
摘要: 现在 Internet 使用的主流协议族是 TCP/IP 协议族,它是一个分层、多协议的通信体系。 阅读全文
posted @ 2019-05-10 11:39 luke44 阅读(1346) 评论(0) 推荐(2) 编辑
摘要: go 是一门非常灵活的语言,既具有静态语言的高性能,又有动态语言的开发速度快的优点,语法也比较简单,本例就通过简单的代码实现了一个简单的增删改查 api 接口 阅读全文
posted @ 2019-03-17 17:48 luke44 阅读(6921) 评论(3) 推荐(1) 编辑
摘要: 初学laravel常常看到诸如依赖注入、控制反转等名词一脸懵逼,望而生畏,用了一段时间后才明白这些基本的原理,原理其实并不难,关键在于怎么理解。 阅读全文
posted @ 2019-01-30 23:09 luke44 阅读(1563) 评论(0) 推荐(0) 编辑
摘要: Docker 有点像虚拟机。但与虚拟机不同,Docker不是创建一个完整的虚拟操作系统,而是通过共享宿主机内核资源,创建一个个隔离的环境来运行应用程序。这样可以显著提升性能并缩小应用程序的大小。 阅读全文
posted @ 2019-01-17 16:47 luke44 阅读(300) 评论(0) 推荐(1) 编辑
摘要: Elastic是目前全文搜索引擎的首选,本质上是一个非关系型数据库,许多知名公司都是使用它来做全文搜索,比如github,本文介绍了一些它的基本的操作,后面还会学习一些更高级的知识,比如中文分词,与项目结合使用等等 阅读全文
posted @ 2019-01-10 16:29 luke44 阅读(2329) 评论(0) 推荐(2) 编辑