自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 使用Go和gRPC构建通信协议:实例教程

gRPC相对于传统的HTTP有几个优势:性能:gRPC使用了高效的二进制协议(Protocol Buffers)和基于HTTP/2的传输协议。这使得gRPC具有更小的消息体积和更高的传输效率,从而提供更好的性能和更低的延迟。可扩展性:gRPC支持双向流、流式传输和连接复用等特性,使得它非常适合构建实时应用程序和大规模的分布式系统。它可以轻松处理大量的并发请求,而不会对服务器资源造成过大的负担。

2023-12-28 09:18:05 1105 1

原创 升级 Go 模块版本的翻车事故及解决方案

在我的项目中,我决定将 Go 模块的版本升级到与我的编译版本一致的 Go 1.20。为了保持依赖项的一致性,我使用了 Jetbrains 提供的提示,将 beego 的版本升级到了安全版本 v2.0.3。经过测试,问题得到了解决,所有的接口恢复正常运行。在我的情况中,beego v2.0.3 与 Go 1.20 之间存在不兼容的问题,导致了应用程序的故障。通过我这次的翻车事故,我意识到在升级版本之前进行充分的测试和验证是至关重要的。及时将 beego 的版本降级到已知稳定的 v2.1.0,解决了我的问题。

2023-11-13 19:38:30 376 1

原创 iOS支付验证方式变更及Golang开发实践

首先,我们需要下载第三方包"github.com/golang-jwt/jwt",用于生成JWT Token。然后,我们需要生成一个JWT Token,用于请求验证接口"https://api.storekit.itunes.apple.com/inApps/v1/transactions"。然而,苹果公司宣布将弃用此接口,并提供了新的验证接口"https://api.storekit.itunes.apple.com/inApps/v1/transactions"

2023-11-09 15:48:07 1232 1

原创 解决Nginx错误:Upstream prematurely closed connection while reading response header from upstream

【nginx error log】 /var/log/nginx/error.log: 级别:error 类型: [other] 次数: 1 错误信息(只取第一条): upstream prematurely closed connection while reading response header from upstream, client: 50.30.156.24 server: xx requests: "GET x HTTP/1.1" upstream: "x。

2023-11-08 09:18:16 7325 2

原创 Nginx错误解决实战:SSL_do_handshake() failed

这意味着Nginx会尝试重用SSL会话,以提高性能。经过查看nginx相关文档发现默认情况下,服务器偶发报警错误日志。然后nginx修改配置。重新加载nginx配置。

2023-11-07 19:47:08 4634

原创 粘包和拆包怎么解决

解决方案:客户端在每个包的末尾使用固定的分隔符,例如\r\n,如果一个包被拆分了则等待下一个包发送过来之后找到其中的\r\n,然后对其拆分后的头部部分与前一个包的剩余部分进行合并,这样就得到了一个完整的数据包。原因:tcp在接受数据的时候,有一个缓冲区的大小,缓冲区满了就会把数据发送出去,因为每次发送的数据包的大小不是固定的,有时候比缓冲区大有时候比缓冲区小。发送数据量比较大的时候,超过了缓冲区的大小,tcp就会将其拆分为多次发送,这就是拆包,也就是将一个大的包拆分为多个小的包进行发送。

2023-11-07 14:12:36 215

原创 max_allowed_packet引发的血案

看了一下代码发现同样的推送业务逻辑,只有某个场景的推送出了问题,我就怀疑是sql问题了,查看了一下代码没发现那个sql有写报错的日志,然后我就本地模拟了一下查询sql,结果由于sql太大导致报错,没查出结果来,导致已经发送过的没拦截到。当五彩斑斓的太阳升起,我们迎接着充满希望和期待的新一天,本来准备要去钓鱼,结果收到了一个测试的消息,改变了我的计划。分片查询,尽可能让sql更精简,减少sql大小。随后百度了一下查看了一下mysql设置的值,然后开始优化代码。推送出问题了,导致玩家重复收到推送消息。

2023-11-06 11:14:56 128

原创 mysql面试题

总结一下最近面试过程中遇到的问题。

2023-11-04 13:10:09 163

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除