月度归档:2021年05月

服务端对服务端的HTTP请求最好不要用HTTPS协议

注:本文描述的调用方和被调用方都是同一家公司内部。

一、背景
作为服务端研发,我们经常需要去调用公司内部其他部门提供的服务,发起HTTP请求调用API,印象中被调用的API默认都是http协议,也从来没有在这个协议上出现过任何问题,今天却遇到了问题,最后查名跟协议有关。
继续阅读

PHP curl 提示Connection time-out错误笔记

最近在整理电脑,发现备忘录中记了一笔关于curl timeout的问题,回想当时问题出现的场景,难得一见的问题,记录下来希望能帮助到大家。

一、问题描述
服务端对服务端API调用,使用PHP curl方法通过HTTP的方式调用API接口,压测的时候发现调用API出现大量错误”curl server is error: Connection time-out 错误码28″

我是API的提供者,通过traceid分析,我发现异常的请求根本没有到达我的服务,但是调用方拉着我不放,于是帮忙排查,也知道了问题的原因。
继续阅读

Go大切片并发查找问题笔记

一、问题描述
超长切片,切片元素类型为int,切片中元素乱序,使用多个goroutine查找给定值是否存在,找到目标值后立即结束所有的goroutine的执行

二、解决思路
把slice分成多段,每一段起一个task goroutine进行查找,找到目标值后在全局channel中放一条消息。在main goroutine中用select阻塞读取channel中的消息,读到后调用context包的cancel方法,在所有task goroutine的context Done通道中放一条消息, task goroutine读到消息后退出。
继续阅读