Skip to content
gqlxj1987's Blog
Go back

Golang in Sigma

Edit page

原文链接

sigma架构

Api Server

采用redis/etcd,实时+全量的方式

状态的一致性转化为存储的一致性,来降低处理问题的难度

多master,无状态,以及快速的failover

 APIServer 把前面的发布、扩容等都放在 task,丢到 Redis 里,底层的 Worker 消费一些任务,做到无状态

Scheduler

并发架构

整个机器的顶层加一个 glock

加锁部分,尽量在最上层部分?

map的一些使用

for key, value :=range map_obj

&value取的value地址不变,而这个地址指向的内容是循环最后一个元素内容

超时机制

关于goroutine部分的超时机制

除了滚动式的交付,还有总体任务时间的控制,这就涉及到两级的 Goroute,第一级 Goroute 是总任务,子任务也是 Goroute,这就会涉及到泄露的问题。假设主任务超时了,就不管子任务,子任务一直在跑就会把资源耗完。

k8s中的定时任务部分


Edit page
Share this post on:

Previous Post
Install Kubernetes Cluster guide
Next Post
我的倔强