InfraPub 为您找到相关结果 715

协议介绍之深入了解 gRPC

HTTP header。HTTP header 各个 fields 使用 \r\n 分隔,然后跟 body 之间使用 \r\n\r\n 分隔。解析完 header 之后,我们才能从 header 里面的 content-length 拿到 body 的 size,从而读取 body。 这套流其实并不高效,因为我们需要读取多次,才能将一个完整的 HTTP 请求给解析出来,虽然在代码实现上面,有很多优化方式,譬如: 一次将一大块数据读取到 buffer 里面避免多次 IO read 读取的时候直接匹配 \r\n 的方式流式解析 但上面的方式对于高性能服务来说,终归还是会有开销。其实最主要的问题在于,HTTP/1.x 的协议是 文本协议,是给人看的,对机器不友好,如果要对机器友好,二进制协议才是更好的...阅读全文

博文 2017-06-22 11:08:48 debian.cn

Debian的版本号及distributions

release的code name(名为code name的distribution)。每天一些叫做britney的scripts都会被运行,从sid中选出满足一定条件的packges更新到testing中。当release manager感觉合适的时候,testing被frozen,这意味这控制packages从unstable到testing的策略变紧了,too buggy的pacakges被移除,除bug fixes外其他改动不允许进入testing。根据进度一段时间过后,testing更进一步被frozen。处理testing的细节被Release Team在debian-devel-announce上发布。当Release Team对当前问题的解决情况达到满意的度后,testing就被...阅读全文

博文 2021-01-28 17:50:08 debian.cn

Debian目前面临的问题:钱足够但很缺人!

眉之急。 当前很多人承担了过多的责任。 最大的问题在于参与者,而非具体的过。Carter 认为项目本身非常具有挑战。“问题永无止境,潜藏于项目的方方面面。计算机科学领域的任何问题,都同样存在于我们的工作中”。这将吸引那些勇于面对挑战的志愿开发人员参与其中,“Debian 是一个值得投入毕生精力关注的项目”。 “在不增加现有开发人员工作强度前提下,我估算达成我们期望项目目标所需增加的志愿开发人员规模,大约是目前人员规模的三倍。当前的项目人员承担了过多的责任,因为大家感觉到每个人都是不可替代的。” 一种考虑是增加人员的多样性。Carter 本人来自南非,更倾向于增加非洲籍和女性代码开发人员。他还提议增加小规模会议、用户组活动等本地 Debian 活动,进而“降低进入项目的门槛”。 Carter...阅读全文

博文 2020-10-09 10:24:04 debian.cn

Go 1.16 即将发布,这些变更你需要知道

)) } 在 Go1.16 以前输出 2048, 1280。在 Go1.16 及以后输出 1280, 1280,保证了两种的一致。 支持 Apple Silicon M1 众所周知,最新版本的 Mac 采用了新的 64 位 ARM 架构,因此在 Go1.16 后正式支持了 GOOS=darwin 和 GOARCH=arm64。 而相应的先前用于 iOS 端口的,将改为 GOOS=ios 和 GOARCH=arm64。 同时 Apple M1 能不能很好的跑好 Go 语言序也是各大微信群爱讨论的问题,在 GoLand 上: 图来自网络,路过微信群看见 需要注意,GoLand 的一些与 Go1.16 相关的特性要到后续新版本才可以使用。 调整 Go modules 策略 从 Go1.16 起,Go...阅读全文

博文 2021-02-17 08:52:12 CSDN博客

linux下查看系统socket读写缓冲区_eyucham的专栏

. udp收发缓冲区默认值 [root@ www.linuxidc.com]# cat /proc/sys/net/core/rmem_default 111616:udp接收缓冲区的默认值 [root@ www.linuxidc.com]# cat /proc/sys/net/core/wmem_default 111616 111616:udp发送缓冲区的默认值 4. tcp 或udp收发缓冲区最小值 tcp 或udp接收缓冲区的最小值为 256 bytes,由内核的宏决定; tcp 或udp发送缓冲区的最小值为 2048 bytes,由内核的宏决定 二:socket编设置读写缓冲区大小: http://blog.csdn.net/maopig/article/details/6982457...阅读全文

博文 2021-01-26 16:21:35 CSDN博客

改善 Debian Linux 软件包管理的七款工具

说,你可以用它来设定软件包安装时向你提出哪种类型的问题、重置问题的优先级,或者尽管软件包破损仍强行安装。 dpkg-reconfigure可用来配置基于Debian系统的几乎方方面面。由于出现了配置安装系统的其他工具,它的多用途性在丧失,不过dpkg- reconfigure仍可用于配置诸如此类的特性:时区、视频驱动序、打印机和扫描仪。Ubuntu弃用了dpkg- reconfigure,但是它在其他基于Debian的发行版中仍很有用。 4.netselect-apt 如今,互联网连接的速度已经非常快。然而,一些软件包代码库的速度仍比其他代码库要快;在使用高峰期间,流行的软件包代码库会降低速度。有时候,根本就缺少高速连接。 对于注重速度的那些人来说,netselect-apt为你的位置列出...阅读全文

博文 2021-01-28 17:50:21 debian.cn

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

knode1 和 knode2,并将 IP 地址分别调整为 192.168.0.51 和 192.168.0.52。调整完成后,就可以开始安装 K3s 了。 通过 ssh 连接到 knode1 上,执行类似的安装命令。在工作节点上安装 K3s 和之前差不多,需要加上额外的参数,表明它是一个工作节点,需要连接到已有的集群上, curl -sfL http://get.k3s.io | K3S_URL=https://192.168.0.50:6443 \ K3S_TOKEN=保存下来的JOIN_TOKEN sh - K3S_TOKEN 的值需要替换成保存下来的连接令牌。命令执行完后,在 knode2 的树莓派上重复这个安装过。 访问Kubernetes集群 knode2的安装完成后,集群基本进入可用状...阅读全文

博文 2020-04-12 16:30:23 debian.cn

Golang常见的十大算法精简版

最近有时间,都在看Go,感觉Go语言真的不错,具体自行百度。今天简单说一下算法。 什么是算法一系列的计算步骤,用来将输入数据转化成输出结果算法的意义用于解决特定的问题解决同一个问题的不同算法的效率常常相差非常大,这种差距的影响往往比硬件和软件方面的差距还要大。 算法在我们编开发中,还是不可或缺的。下面简单来列举一下go语言常见的十大算法。 BubbleSort(冒泡排序) func Sort(list []int, left, right int) { if right == 0 { return } for index,num := range list { if index < right && num > list[index + 1] { utils.SwapGo(list...阅读全文

博文 2019-09-05 09:31:10 debian.cn

最全 MongoDB 基础教程

', description: 'shu ju ku', by: 'ruochen', tags: ['mongodb', 'database', 'NoSQL'] }) db.ruochen.find() 方法2 document=({title: 'mongodb', description: 'shu ju ku', by: 'ruochen', tags: ['mongodb', 'database', 'NoSQL'] }) db.ruochen.insert(document) db.ruochen.find() db.collection.insertOne() # 向指定集合中插入一条文档数据 db.collection.insertMany() # 向指定集合中插入多条...阅读全文

博文 2021-02-22 07:45:45 OSChina

Gitlab CI 配置文件 .gitlab

/gitlab-ce 上面这个例子将会为所有的分支执行job,但master分支除外。 Job variables 在job中是可以使用关键字variables来定义job变量。它的运行原理跟global-level是一样的,但是它允许设置特殊的job变量。 当设置了job级别的关键字variables,它会覆盖全局YAML和预定义中的job变量。想要关闭全局变量可以在job中设置一个空数组: job_name: variables: [] Job变量的优先级关系可查看variables文档说明。 tags tags可以从允许运行此项目的所有Runners中选择特定的Runners来执行jobs。 在注册Runner的过中,我们可以设置Runner的标签,比如ruby,postgres...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)

Gitlab CI 配置文件 .gitlab

的job,则需要测试的提交应该在克隆的Git历史记录中存在。设置GIT_DEPTH太小的值可能会导致无法运行哪些旧的commits。在job志中可以查看unresolved reference。你应该考虑设置GIT_DEPTH为一个更大的值。 当GIT_DEPTH只设置了部分存在的记录时,哪些依赖于git describe的jobs也许不能正确的工作。 只抓取或克隆最后的3次commits: variables: GIT_DEPTH: "3" Hidden keys GitLab 8.6 和 GitLab Runner v1.1.1引入。 Key 是以.开始的,GitLab CI 将不会处理它。你可以使用这个功能来忽略jobs,或者用Special YAML features 转换隐藏键为...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

HTTP状态码详解

,而且有一个新的资源已经依据请求的需要而建立,且其 URI 已经随Location 头信息返回。假如需要的资源无法及时建立的话,应当返回 ‘202 Accepted’。 202 服务器已接受请求,但尚未处理。正如它可能被拒绝一样,最终该请求可能会也可能不会被执行。在异步操作的场合下,没有比发送这个状态码更方便的做法了。 返回202状态码的响应的目的是允许服务器接受其他过的请求(例如某个每天只执行一次的基于批处理的操作),而不必让客户端一直保持与服务器的连接直到批处理操作全部完成。在接受请求处理并返回202状态码的响应应当在返回的实体中包含一些指示处理当前状态的信息,以及指向处理状态监视器或状态预测的指针,以便用户能够估计操作是否已经完成。 203 服务器已成功处理了请求,但返回的实体头部元信...阅读全文

博文 2021-01-28 17:50:11 debian.cn

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

Docker、VirtualBox、Minikube、Kubectl 的安装过,着重介绍一下如何配置 PodPreset 以及使用。 3、K8s 启用 PodPreset 配置 K8s 默认不开启 PodPreset 支持的,其 API 类型为 settings.k8s.io/v1alpha1,如果不确认集群是否已开启 PodPreset 支持,可以通过 kubectl api-versions 命令查看是否存在该类型,或者 kubectl get podpreset 命令查看,如果没开启会提示 error: the server doesn't have a resource type "podpreset" 错误。 启用 PodPreset,可以通过 K8s ApiServer 增加...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

Golang 中的 channel 通道详解

channel的容量。对于内置的len函数,如果传入的是channel,那么将返回channel内部缓存队列中有效元素的个数。因为在并发序中该信息会随着接收操作而失效,但是它对某些故障诊断和性能优化会有帮助。package main import "fmt" func main() { ch := make(chan int, 10) // 创建一个最大容量为10的channel ch <- 233 ch <- 2 ch <- 3 fmt.Println(cap(ch)) // 10 fmt.Println(len(ch)) // 3 fmt.Println(<-ch) // 233 fmt.Println(len(ch)) // 2 } 向缓存Channel的发送操作就是向内部缓存队列的尾部插入元素...阅读全文

RabbitMQ 高可用实现镜像队列

master 中未被同步的消息将会丢失。 镜像队列消息的同步: 将新节点加入已存在的镜像队列时,默认情况下 ha-sync-mode=manual,镜像队列中的消息不会主动同步到新节点,除非显式调用同步命令。当调用同步命令后,队列开始阻塞,无法对其进行操作,直到同步完毕。当 ha-sync-mode=automatic 时,新加入节点时会默认同步已知的镜像队列。由于同步过的限制,所以不建议在生产的 active 队列(有生产消费消息)中操作。 rabbitmqctl list_queues name slave_pids synchronised_slave_pids #查看那些slaves已经完成同步rabbitmqctl sync_queue name #手动的方式同步一个...阅读全文

博文 2018-12-30 19:21:59 debian.cn