AB实验平台-分流服务

什么是ABTest产品的改变不是由我们随便「拍脑袋」得出,而是需要由实际的数据驱动,让用户的反馈来指导我们如何更好地改善服务,「有些东西是需要 Sense,但大部分东西是可以用 Science 来做判断的。」简单来说,ABTest就是将用户分成不同的组,同时在线试验产品的不同版本,通过用户反馈的真实数据来找出采用哪一个版本方案更好的过程,很多时候,一个按钮、一张图片或者一句文案的调整,可能都会带来

- 阅读全文 -

go中基于redis实现的分布式锁

我们在实际开发中,经常会遇到对共享变量进行多线程同步访问的情况,为了保证数据、业务的一致性,我们需要用到分布式锁进行处理。import ( "context" "errors" "fmt" "github.com/go-redis/redis/v8" "sync&quo

- 阅读全文 -

go中实现http请求代理转发

背景:web开发中,经常采用的是前后端分离,在后端服务采用分布式架构的情况下,请求通常都是只发到一个统一的前置服务/api网关中,然后将根据实际的请求,将调用其他服务进行实际的处理。(如下图)前置网关通常会有一些校验的中间件,进行安全校验,比如登录验证,鉴权等,而实际的业务服务通常处于内网内,用户无法直接访问,所以不需要再次做安全校验,直接处理业务逻辑。内网服务实际的业务处理完成后将结果返回到网关

- 阅读全文 -

oAuth2.0

一、oAuth2.0:推荐阅读阮一峰老师的 理解OAuth 2.01、OAuth 2.0的运行流程如下图,摘自RFC 6749:(A)用户打开客户端以后,客户端要求用户给予授权。 (B)用户同意给予客户端授权。 (C)客户端使用上一步获得的授权,向认证服务器申请令牌。 (D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。 (E)客户端使用令牌,向资源服务器申请获取资源。 (F)资源服务器

- 阅读全文 -