kong网关-http转grpc使用
正常项目中,对外提供的接口都是HTTP接口,可是后端架构中,我们内部已经迭代成gRPC版本了。这样还得做一层抽象HTTP层去调用server端的GRPC,在项目中,能免去这个HTTP层吗?
答案是可以的,使用网关,通过网关层做掉HTTP转GRPC的协议这层,这样就可以尽量让后端都提供出grpc了。
正常项目中,对外提供的接口都是HTTP接口,可是后端架构中,我们内部已经迭代成gRPC版本了。这样还得做一层抽象HTTP层去调用server端的GRPC,在项目中,能免去这个HTTP层吗?
答案是可以的,使用网关,通过网关层做掉HTTP转GRPC的协议这层,这样就可以尽量让后端都提供出grpc了。
最近在项目中要考虑一个接口幂等问题,幂等既是,多次请求请求接口,接口操作的东西都不会被其后续的重复请求所改变,维持第一次请求成功时的样子。
例如查询操作,不管查询多少次,在数据不变的情况下,查询到的数据都是一样的;删除一条数据也是,删一次和多次,都已经将数据删除了。
流水线模型在编程中是非常常见的,但扇入扇出模型可能就较少听闻了。
以汽车组装为例,汽车生产线上有个阶段是给小汽车装4个轮子,可以把这个阶段任务交给4个人同时去做,这4个人把轮子都装完后,再把汽车移动到生产线下一个阶段。(这是流水线)
这个过程中,就有任务的分发,和任务结果的收集。其中任务分发是FAN-OUT,任务收集是FAN-IN。
Cache Aside 模型中,读缓存 Miss 的回填操作,和修改数据同步更新缓存,包括消息队列的异步补偿缓存,都无法满足 “Happens Before”,会存在相互覆盖的情况。
无意中在V站发现了有人提到ardanlabs
的课程,课程怎么样不清楚,贵是真的很贵(699刀了),但其在GitHub上的文档我觉得写的很好。
Ultimate Go:https://github.com/ardanlabs/gotraining/blob/master/topics/go/README.md