InfraPub 为您找到相关结果 553

分布式运行时 Dapr 知多少

制以完成诸如服务发现、流量控制、重试熔断、安全访问等,而这相关的网络控制功能就是集成在Dapr的Sidecar中,以对应用透明的方式集成进来的。整体的服务调用流程如下图所示: PS:如对Istio熟悉的同学需要注意,二者虽然都是通过Sidecar的模式进行网络控制,但二者是有有区别的。Dapr是以API的方式,而Istio是以代理的方式(不改变HTTP请求URI)。 2. State management(状态管理) 在进行微服务开发时,绕不开的话题就是服务间的状态共享、并发一致性问题。对于状态共享,你可能会说,各个服务连接到同一个Redis实例就OK了。是,但不得不考虑潜在的更新冲突的问题。Dapr 以更友好的HTTP API的方式进行状态的存储和读取,同时支持通过ETags进行并发控制...阅读全文

kubelet 中垃圾回收机制的设计与实现

退出的时间进行排序优先删除退出时间最久的,MaxPerPodContainer 在上文已经提过,表示一个 pod 最多可以保存多少个已经停止的容器,默认为1,可以使用 --maximum-dead-containers-per-container 在启动时指定;4、若 kubelet 启动时指定了 --maximum-dead-containers(默认为 -1 即不限制),即需要为 node 保留退出的容器数,若 node 上保留已经停止的容器数超过 --maximum-dead-containers,首先计算需要为每个 pod 保留多少个已退出的容器保证其总数不超过 --maximum-dead-containers 的值,若计算结小于 1 则取 1,即至少保留一个,然后删除每个...阅读全文

博文 2021-02-05 17:48:22 知乎

influxdb内存消耗分析及性能优化【探索篇】

现过于复杂,所以 go 语言团队在最新1.15版本还没有着手实现。目前根据相关资料,考虑influxdb运行时会占用大规模内存,建议通过如下方式启动influxdb:numactl --interleave=all /usr/bin/influxd -config /usr/bin/influxdb.conf6.读取端优化从系统角度,应该同时关注influxdb写入和读取两个维度。写入端应从具体业务场景,提前划分好写入的tags及fields,从而避免产生大量的series导致内存膨胀过快。而读取端,应明确查询时间范围,命中更少的分片数据,来防止加载大量的无用查询结而导致程序OOM。走查了读取端相关influxdb查询语句,发现几处类似如下消耗内存及性能的语句:#表描述 - 表名...阅读全文

博文 2021-10-27 16:06:30 知乎