Go语言中的死锁

关于死锁和阻塞的区别

在Go语言中,死锁主要发生在使用通道时。下面是两个可能导致死锁的例子:

通道读写阻塞
当一个Goroutine在通道中写入数据,而另一个Goroutine在相同的通道上等待读取数据时,如果通道中没有数据,那么写入的Goroutine将阻塞等待,直到另一个Goroutine将数据写入通道。但如果另一个Goroutine在等待读取数据之前先阻塞了,那么这两个Goroutine将陷入死锁状态。

K8S中的request和limit

https://www.google.com/search?q=request%E5%92%8Climit%E8%AE%BE%E7%BD%AE+%E6%9C%80%E5%A5%BD%E8%AE%BE%E7%BD%AE%E6%88%90%E4%B8%80%E6%A0%B7&newwindow=1&sxsrf=ALiCzsYE-YIXViAfGguWIPUotnYVLCGU9w%3A1672045320782&ei=CGOpY5qrL8SOseMP4c--mAI&ved=0ahUKEwiaz5Kb9pb8AhVER2wGHeGnDyMQ4dUDCA8&uact=5&oq=request%E5%92%8Climit%E8%AE%BE%E7%BD%AE+%E6%9C%80%E5%A5%BD%E8%AE%BE%E7%BD%AE%E6%88%90%E4%B8%80%E6%A0%B7&gs_lcp=Cgxnd3Mtd2l6LXNlcnAQAzIFCAAQogQyBQgAEKIEOgoIABBHENYEELADOgUIIRCgAToKCAAQ8QQQHhCiBEoECEEYAEoECEYYAFDZA1i4L2CIMGgFcAF4A4AB1QOIAe5XkgEGMy0yOC4zmAEAoAEByAEJwAEB&sclient=gws-wiz-serp

https://www.google.com/search?q=statefulset+mysql&newwindow=1&sxsrf=ALiCzsbV1998w5KFpQnqGpeHr0_d5T2d6Q%3A1670950020568&ei=hKyYY9qiIrTl2roPqLSmoAI&ved=0ahUKEwja9Kbzhff7AhW0slYBHSiaCSQQ4dUDCA8&uact=5&oq=statefulset+mysql&gs_lcp=Cgxnd3Mtd2l6LXNlcnAQAzIFCAAQgAQyCAgAEIAEEMsBMgUIABCABDIGCAAQBRAeMgYIABAFEB4yBggAEAgQHjIGCAAQCBAeMgYIABAIEB4yBggAEAgQHjIGCAAQCBAeOgoIABBHENYEELADOgcIABCABBAMOgQIABBDSgQIQRgASgQIRhgAUJgDWMcaYOccaAVwAXgBgAHXA4gB2RSSAQM0LTaYAQCgAQHIAQrAAQE&sclient=gws-wiz-serp

https://www.google.com/search?newwindow=1&sxsrf=ALiCzsbV1998w5KFpQnqGpeHr0_d5T2d6Q:1670950020568&q=statefulset%E4%BD%9C%E7%94%A8&sa=X&ved=2ahUKEwja9Kbzhff7AhW0slYBHSiaCSQQ1QJ6BAgyEAE&biw=1800&bih=995&dpr=1.6

Elasticsearch中的Mapping

Mapping即映射

Mapping类似于关系型数据库的Schema,主要包含以下内容:

  1. 定义索引中字段的名称

  2. 定义字段的数据类型,如:字符串、数字、boolean等

  3. 可对字段设置倒排索引的相关配置,如是否需要分词,使用什么分词器