cgroups隔离与限制

cgroups介绍

cgroups(Control Groups) 是linux 内核提供的一种为系统资源进程有效隔离和限制的一种手段。它可以有效的限制资源使用的cpu,内存及物理设备,如:磁盘等做精准限制。防止某一进程资源占用过大,导致整个系统物理资源耗尽,影响其他进程的运行。

Read More

leetcode-2079.LRU缓存

题目

设计和构建一个“最近最少使用”缓存,该缓存会删除最近最少使用的项目。缓存应该从键映射到值(允许你插入和检索特定键对应的值),并在初始化时指定最大容量。当缓存被填满时,它应该删除最近最少使用的项目。

它应该支持以下操作: 获取数据 get 和 写入数据 put 。

Read More

vscode搭建golang开发环境

在 vscode 的使用过程中,自己也是从小白到慢慢熟练vscode的日常开发,现在已经很少使用goland 等IDE,平时基本都在使用vscode。本篇文章主要记录自己vscode等一些探索,方便大家快速使用vscode做golang 开发。

golang 插件安装

Read More

grpc 内置protobuf类型使用

介绍内置protobuf 类型使用过程中,使用 B站开源框架 kratos 作为示例demo,kratos 框架会同时生成http代码及rpc代码,方便演示。kratos详细了解

使用protocal buffers 定义传参类型时,经常会遇到复杂场景及一些特殊情况需要定义proto文件的message,本文介绍protocal buffers内置数据类型的使用场景及使用示例。由于个人水平有限,如有不当之处还请指正。

空请求 empty 类型

适用无传参或返回的message 类型,但通常不建议使用,为了更好的向后兼容,通常定义一个空的message。

Read More

透视http协议 (一)

HTTP的前世今生

HTTP 协议是怎么来的?它最开始是什么样子的?又是如何一步一步发展到今天,几乎“统治”了整个互联网世界的呢?

史前时期

20 世纪 60 年代,美国国防部高等研究计划署(ARPA)建立了 ARPA 网,它有四个分布在各地的节点,被认为是如今互联网的“始祖”。

Read More

rpc的核心原理-rpc的通信流程

RPC 是解决分布式系统通信问题的一大利器。

分布式系统中的网络通信一般都会采用四层的 TCP 协议或七层的 HTTP 协议,前者占大多数,这主要得益于 TCP 协议的稳定性和高效性。网络通信说起来简单,但实际上是一个非常复杂的过程,这个过程主要包括:对端节点的查找、网络连接的建立、传输数据的编码解码以及网络连接的管理等等,每一项都很复杂。

Read More

go实现各类限流算法

介绍

限流是一种编程中常用的保护服务正常运行的一种方案;为了应对激增的流量,防止服务被击垮,经常使用某种算法来对流量进行某种限流,以保证后端服务的正常运行。

本文介绍 计数器、令牌桶算法和楼桶算法及它们之间的优缺点。

Read More

http 准则

HTTP 准则

本文档介绍了 Google API 如何与不同的 HTTP 版本和实现结合使用。

使用传输协议 (HTTP/*)

Read More

git 提交信息规范

您可以遵循的Git commit消息约定!

典型的git commit消息像下面这样

1
<type>(<scope>): <subject>

“类型”必须是以下提到的以下内容之一!

Read More
Search by:GoogleBingBaidu