摘要:
1.概述 最近有个新需求,然后设计db的时候发现大部分字段都有取值范围限制,当然之前做法都是在后台服务器的接口请求时进行判断。但我现在想换种方式了,把部分功能前移给后台管理系统去实现,同时把约束后移到数据库层面,这样服务器就不需要增加接口了,如果功能复杂了再说。 我试了check约束和触发器约束 2 阅读全文
摘要:
1.概述 sar太强大了,和sar比起来,其他Linux命令都是渣 Sar是一个Linux下的监控工具,一直站在鄙视链的顶端。但是往往因繁多的参数,让人望而生畏,不知道怎么使用。然而这么强大命令并非是无章可循,只要我们找到合适的切入点来分析这个工具,就会发现实际上是非常简单的。 格式: sar命令很 阅读全文
摘要:
1.概要 最近考虑采用protobuf来实现kafka消息传递,所以先测试一下golang和python之前序列化互通问题。 由于go和python对于二进制的表示在ide层面是无法统一的,直接把python的字符串拷出来放到golang肯定是不行的,需要通过hex进行16进制表示法 2.bytes 阅读全文
摘要:
1. 简介 实现kafka SASL_PLAINTEXT账号密码验证机制。 详细请参考项目:https://github.com/duruo850/kafka kafka普通部署(不对外开放)请参考之前的文档, 这篇文章专注于如何SASL_PLAINTEXT的账号密码验证机制 2.服务器配置 2.1 阅读全文
摘要:
1.问题: 最近客服有报无法上报运动记录,通过日志查看是分布式锁等待超时所致。 redis出现一个分布式锁的TTL为-1,正常情况都会设置超时时间的。 2.分析: 通过k8s发现sport服务在50几天内重启了40几次,机器上内存比较紧缺,暂时只能重启,占用内存高的问题也先不解决。 看下之前加锁的代 阅读全文
摘要:
1.top简介 k8stop命令我们通常可以基于top命令来查看节点上的资源使用情况, 可以带两个参数nodes和pods,通过这个命令分别用于查看节点和pods的资源使用情况, 这对于我们快速查看k8s集群以及pod的字样利用率,从而提醒业务或者系统管理人员及时的集群扩容,调整Pod的资源请求。 阅读全文
摘要:
1. 前言 关于内存泄漏的情形已经在之前文章总结过了,本文将讨论如何发现内存泄漏。 2. 怎么发现内存泄露 在Go中发现内存泄露有2种方法,一个是通用的监控工具,另一个是go pprof: 2.1. 监控工具 定周期对进程的内存占用情况进行采样,数据可视化后,根据内存占用走势(持续上升),很容易发现 阅读全文
摘要:
1. 什么是死锁? 死锁并不是锁的一种,而是一种错误使用锁导致的现象,死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。系统发生死锁现象不仅浪费大量的系统资源,甚至导致整个系统崩溃,带来灾难性后果。所以,对于死锁问题在理 阅读全文
摘要:
1.什么是 GC 在计算机科学中,垃圾回收(GC)是一种自动管理内存的机制,垃圾回收器会去尝试回收程序不再使用的对象及其占用的内存。 最早 John McCarthy 在 1959 年左右发明了垃圾回收,以简化 Lisp 中的手动内存管理的机制(来自 @wikipedia)。 2.为什么要 GC 手 阅读全文
摘要:
1.内存泄漏归纳 简单归纳一下,还是“临时性”内存泄露和“永久性”内存泄露: 临时性泄露,指的是该释放的内存资源没有及时释放,对应的内存资源仍然有机会在更晚些时候被释放,即便如此在内存资源紧张情况下,也会是个问题。这类主要是 string、slice 底层 buffer 的错误共享,导致无用数据对象 阅读全文
