从PHP 到Golang 的笔记 ( 转 )

———文章来源 YamiOdymel/PHP-to-Golang PHP和模块之间的关系令人感到烦躁,假设你要读取 yaml 档案,你需要有一个 yaml 的模块,为此,你还需要将其编译然后将编译后的模块摆放至指定位置,之后换了一台伺服器你还要重新编译,这点到现在还是没有改善;顺带一提之后出了PHP 7效能确实提升了许多(比Python 3快了些),但PHP仍令我感到臃肿,我觉得是时候 (转行)了。 PHP 和Golang 的效能我想毋庸置疑是后者比较快(而且是以倍数来算),也许有的人会认为两种不应该被放在一起比较,但Golang 本身就是偏向Web 开发的,所以这也是为什么我考虑转用Golang 的原因,起初我的考虑有几个:Node.js 和Rust 还有最终被选定的Golang;先谈谈Node.js 吧。 Node.js的效能可以说是快上PHP 3.5倍至6倍左右

Golang开发工具

Golang.org/x/tools/gopls 是Go语言开发中不可或缺的一款工具,它基于LSP协议,集成了诸如代码补全、代码导航、重构、格式化、语法检查、错误提示和自动完成等一系列强大功能。这个官方工具旨在提升Go语言开发的效率和便利性,使得开发者能够更轻松地编写和维护代码。要使用gopls,首先需要通过命令行安装:go install golang.org/x/tools/gopls...。它不仅提供了基础的开发支持,还配合其他七款实用工具进一步增强开发体验:gotests:自动生成针对Go代码的单元测试,提升代码质量和开发效率。gomodifytags:简化结构体字段tag的修改过程,特别是在处理JSON或YAML序列化时,尤其方便。impl:根据接口自动生成方法模板,简化接口实现过程。goplay:在浏览器中运行Go代码片段并查看输出,方便测试和学习。dlv:Go语言的高效调试器,有助于开发者快速定位开发中的问题

Golang kafka简述和操作(sarama同步异步和消费组)

一、Kafka简述 1. 为什么需要用到消息队列 异步:对比以前的串行同步方式来说,可以在同一时间做更多的事情,提高效率; 解耦:在耦合太高的场景,多个任务要对同一个数据进行操作消费的时候,会导致一个任务的处理因为另一个任务对数据的操作变得及其复杂。 缓冲:当遇到突发大流量的时候,消息队列可以先把所有消息有序保存起来,避免直接作用于系统主体,系统主题始终以一个平稳的速率去消费这些消息。 2.为什么选择kafka呢? 这没有绝对的好坏,看个人需求来选择,我这里就抄了一段他人总结的的优缺点,可见原文 kafka的优点: 1.支持多个生产者和消费者2