InfraPub 为您找到相关结果 438

Spinnaker 介绍 – Netflix 的持续交付平台

两种集成测试,一种是一个 jenkins job,会不断用 API 接口,确保API是按照预想的在工作,另一种是一个 Spinnaker 的 pipeline,用来执行日常任务(比如创建镜像,部署环境等)。当发现未知的失败是,首先执行回滚操作,直到这个问题被修复。 总结 Netflix 是一个秀的企业,有着自由的精神和先进的技术,崇尚 DevOps 文化。而 Spinnaker 是他们在践行 DevOps 文化时创造出的秀工具,通过这些工具我们能窥见他们对微服务和敏捷开发的深刻理解,希望能够给国内的开发者一些启发和帮助。 pipeline stage 目录...阅读全文

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

Python的闭包和装饰器

什么是装饰器? 装饰器(Decorator)相对简单,咱们先介绍它:“装饰器的功能是将被装饰的函数当作参数传递给与装饰器对应的函数(名称相同的函数),并返回包装后的被装饰的函数”,听起来有点绕,没关系,直接看示意图,其中 a 为与装饰器 @a 对应的函数, b 为装饰器修饰的函数,装饰器@a的作用是: 简而言之:@a 就是将 b 传递给 a(),并返回新的 b = a(b) 栗子: 上面使用@dobi来表示装饰器,其等同于:qinfeng = dobi(qinfeng)因此装饰器本质上就是个语法糖,其作用为简化代码,以提高代码可读性,运行上段代码的结果为: 解析过程是这样子的: 1.python 解释器发现@dobi,就去用与其对应的函数( dobi 函数) 2.dobi 函数用前要指...阅读全文

博文 2014-07-23 17:06:38 debian.cn

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

发语言。早在 2016 年,基础架构团队就已经开始基于 Golang 开发内部框架 Kite,并在 2019 年围绕性能和可扩展启动重构,使其能更好地满足业务发展和技术体系演进需求。 2020 年 10 月,Kitex 正式上线。虽然是一个全新的框架,但经过一年的线上应用,目前字节跳动内部已有超过 50% 的 Golang 微服务迁移到了 Kitex。 下面是 Kitex 的一些特性: 高性能:Kitex 默认集成自研网络库 Netpoll 作为网络传输模块,性能相较使用 go net 有显著势;除了网络库带来的性能收益,Kitex 对 Thrift 编解码也做了化,这在之前的性能化实践文章中有介绍。关于性能数据,可参考 https://github.com/cloudwego...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区

五种绕过 Linux 命令别名的方法

我们可以使用 alias 命令定义或显示 bash shell 别名。一旦创建了 Bash shell 别名,它们将先于外部或内部命令。本文将展示如何暂时绕过 bash 别名,以便你可以运行实际的内部或外部命令。 我在我的 Linux 系统中定义了以下 mount 别名: alias mount='mount | column -t' 但是,在我挂载文件系统和其他用途时想绕过这个 bash 别名,我如何临时禁用或者绕过这个别名呢? 你可以使用 alias 命令定义或显示 bash shell 别名。一旦创建了 bash shell 别名,它们将先于外部或内部命令。本文将展示如何暂时绕过 bash 别名,以便你可以运行实际的内部或外部命令。 五种绕过 Bash 命令别名的方法 尝试以下任...阅读全文

博文 2018-03-08 13:33:02 debian.cn

Node.js Vs. PHP:你应该选择哪一个

Node.js 早诞生将近20年,所以在文档,API 和代码库等在线资源方面更为丰富。所以很有可能其他人也尝试了你想要用代码完成的事情并从中获得了帮助。另一方面,Node.js 虽然已经得到了开发者和组织的广泛关注,但是它支持开发者开发的资源缺相当少。 8.学习曲线: 编写 Node.js 代码对于新手甚至是专业的 JavaScript 开发人员来说都不是件容易的事情,因为他们需要在入门之前理解一些复杂的概念,比如 web worker 和回函数。相反,PHP是一门非常友好的编程语言对于开发 Web 应用程序的新手来说。 Node.js 和 PHP 战斗的结果是相辅相成的,因为这两种技术都有各自的点和缺点。这大多是相似的情况在比较或选择用于 Web,桌面和移动开发的其他技术时。Node.js 有前途...阅读全文

博文 2017-12-23 23:15:39 debian.cn

Linux Mint 19.2 “Tina”稳定版发布

| 64-bit Linux Mint 更新内容: 新版本除了对附带的软件进行升级,还带来了许多改进和新特性,让你的桌面使用起来更加舒适。除此之外,还提供了 UI 方面的改进,例如现在支持对滚动条的配置进行设置,并且在应用程序菜单中对具有相同名称的程序显示添加的描述,以便用户可以在 GNOME 程序的 X-Apps 和 Deb 软件包的 Flatpaks 中进行区分。 Linux Mint 19 针对 Xfce, MATE 和 Cinnamon 这三个桌面环境版本都提供了一些独有的新特性,但大多数新特性对于所有的版本都是通用的,下面来看看有哪些变化。 改进了升级管理器中的内核管理软件管理器可以获取“丢失”的 GPG 密钥软件管理器可以扫描/删除重复的源化了 Muffin 窗口管理器,使用起来感觉...阅读全文

Mageia 6 正式发布,基于 Mandriva 的分支

Mageia 6 已正式发布,该版本的研发周期是有史以来最长的。新版本中包含了大量全新和激动人心的功能,带来了一系列全新的安装媒体,并且在可用性和稳定性上进行了诸多整。 新版使用了 KDE Plasma 5 桌面环境,DNF 软件包管理器现在可与 urpmi 一起使用,Mageia 6 还包括可用于 Xfce 桌面环境的 live test media。下面简单介绍一下更新的内容: KDE Plasma 5 替代了此前的 KDE SC 4 桌面环境 新的软件包管理器 DNF 作为 urpmi 的替代方案,提供了一个秀的软件包生态系统:支持 AppStream,从而支持 GNOME 软件和 Plasma Discover 支持 Fedora COPR 和 openSUSE Build...阅读全文

Golang后端面试题目

技术一面 基础面试 一面是通过电话直接沟通。 go的度go struct能不能比较go defer(for defer)select可以用于什么context包的用途client如何实现长连接主协程如何等其余协程完再操作slice,len,cap,共享,扩容map如何顺序读取实现set实现消息队列(多生产者,多消费者)大文件排序基本排序,哪些是稳定的http get跟headhttp 401,403http keep-alivehttp能不能一次连接多次请求,不等后端返回tcp与udp区别,udp点,适用场景time-wait的作用数据库如何建索引孤儿进程,僵尸进程死锁条件,如何避免linux命令,查看端口占用,cpu负载,内存占用,如何发送信号给一个进程git文件版本,使用顺序...阅读全文

博文 2020-04-13 13:13:00 2020腾讯社招

华为的 Linux 发行版 openEuler 可以使用了!

。 它是为 ARM64 架构的服务器量身定做的,同时华为声称已经做了一些改变来提高其性能。你可以在华为开发博客上了解更多。 目前,根据 openEuler 的官方声明,有 50 多名贡献者为 openEuler 贡献了近 600 个提交。 贡献者们使源代码对社区可用成为可能。 值得注意的是,存储库还包括两个与之相关的新项目(或子项目),iSulad 和 A-Tune。 A-Tune 是一个基于 AI 的操作系统软件,iSulad 是一个轻量级的容器运行时守护进程,如在 Gitee 中提到的那样,它是为物联网和云基础设施设计的。 另外,官方的公告提到,这些系统是在华为云上通过脚本自动构建的。这确实十分有趣。 下载 openEuler 到目前为止,你找不到它的英文文档,所以你必须等待或选择通过...阅读全文

博文 2020-01-27 11:08:00 debian.cn

Golang 之禅: 如何写优质代码

。 明确处理错误 健壮的程序其实是由处理故障案例的片段组成的,并且需要在故障出现之前处理好。冗余的if err != nil { return err }比出了故障再一个个去处理更有价值。panic 和 recover 也一样。 尽早 return,不要深陷 每次缩进时都会在程序员的堆栈中添加另一个先决条件,这会占用他们短期内存中的 7±2 个片段。避免需要深层缩进的控制流。与其深入嵌套,不如使用守卫子句将成功路径保持在左侧。 并发权留给用者 让用者选择是否要异步运行你的库或函数,不要强制他们使用异步。 在启动 goroutine 之前,要知道它什么时候会停止 goroutines 拥有资源、锁、变量与内存等,释放这些资源的可靠方法是停止 goroutine。 避免包级别的状态 要完成明确和...阅读全文

博文 2020-02-25 20:48:33 debian.cn

岗位需求: CTO

工作规范和工作流程,并跟踪开发过程实际合规性; 8. 指导. 审核项目总体技术方案,对各项目进行最后的质量评估; 9. 负责技术团队建设和管理,注重人才培养和营造创新的研发文化; 10. 完成各项技术工作相关数据统计分析报告,并据此对公司发展提出合理化建议。 ** 岗位要求:** 1. 本科及以上学历,计算机. 软件工程相关专业,互联网行业先考虑; 2. 10年及以上技术研发. 软件开发相关行业工作经验,5年以上互联网行业技术研发团队管理经验, 精通基于Java. PHP等语言的开发,熟悉服务端软件架构设计与开发流程;有互联网CTO或技术总监工作经验,带过百人以上团队; 3. 熟悉互联网领域业务,深刻理解产业发展方向,具备敏锐准确的洞察力和缜密的逻...阅读全文

腾讯在贵州有个山洞:放置腾讯业务最核心数据

干嘛的?“如果把腾讯比作一个工厂,那么数据中心就是车间,信息需要在这里集中处理、存储、交换。”腾讯技术工程事业群任职数据中心技术总监朱华说。 那个名叫T-block的技术,是腾讯数据中心自主研发的第四代技术。 腾讯数据中心的技术发展,总共经历四个阶段: 第一代(2006-2009),基本是沿用了传统电信机房的解决方案(厂房改造,风冷,N+1冗余),只在局部做了点化,比如冷热通道隔离; 第二代(2007-2011),从天津开启数据中心的大而全模式,10万量级、大型离心冷水机组、10KV Switch Gear、变压器上楼、中压油机、UPS、STS、AHU、MAU、封闭热通道、预作用水消防、水侧Free cooling、Air side economizer; 第三代TMDC(2011...阅读全文

博文 2018-04-06 08:44:38 debian.cn

Ceph 12.2.0 正式版本发布, 代号 Luminous

。 ceph-mgr还包括一个Prometheus插件。 ceph-mgr现在有一个Zabbix插件。使用zabbix_sender,它可以将集群故障事件发送到Zabbix Server主机。 这样可以方便地监视Ceph群集的状态,并在发生故障时发送通知。 集群的总体可扩展性有所提高。我们已经成功测试了多达10,000个OSD的集群。 目前,每个OSD都具有与其相关联的设备类(例如,hdd或ssd),允许CRUSH规则将数据简单地映射到系统中的设备的子集。 通常不需要手动编写CRUSH规则或手动编辑CRUSH。可以化CRUSH权重,以保持OSD之间数据的近乎完美的分布。 还有一个新的upmap异常处理机制,允许单个PG移动以实现完美的分发(这需要客户端)。 每个OSD目前可以根据后端设备是HDD还是...阅读全文

博文 2017-08-31 13:36:49 debian.cn

深入理解Golang之context

选择执行哪个取消选项。考虑下面这种情况:假如主协程中有多个任务1, 2, …m,主协程对这些任务有超时控制;而其中任务1又有多个子任务1, 2, …n,任务1对这些子任务也有自己的超时控制,那么这些子任务既要感知主协程的取消信号,也需要感知任务1的取消信号。如果还是使用done channel的用法,我们需要定义两个done channel,子任务们需要同时监听这两个done channel。嗯,这样其实好像也还行哈。但是如果层级更深,如果这些子任务还有子任务,那么使用done channel的方式将会变得非常繁琐且混乱。我们需要一种雅的方案来实现这样一种机制:上层任务取消后,所有的下层任务都会被取消;中间某一层的任务取消后,只会将当前任务的下层任务取消,而不会影响上层的任务以及同级任务...阅读全文

博文 2021-01-27 09:05:27 知乎

监控Kubernetes集群证书过期时间的三种方案 - OSCHINA

。Blackbox Exporter 最重要的功能之一是测量 Endpoint 的可用性。 当然, Blackbox Exporter 探测 HTTPS 后就可以获取到证书的相关信息, 就是利用这种方式实现对 Kubernetes apiserver 证书过期时间的监控. 配置步骤 整 Blackbox Exporter 的配置, 增加 insecure_tls_verify: true, 如下: 重启 blackbox exporter: kubectl rollout restart deploy ... 增加对 Kubernetes APIServer 内部端点https://kubernetes.default.svc.cluster.local/readyz的监控. 如果你没有使用...阅读全文

博文 2022-12-10 06:49:43 中文开源技术交流社区

NameSilo优惠码 新注册COM仅$7.99

最近有个域名需要续费了,原注册商 GoDaddy 的续费价格太高了,官网标称的价格已经超过100块一年了,所以想转移下,搜索之后,推荐使用的域名注册商 Namesilo.com,它是全网中(含国内域名注册商)中,最实惠的域名注册商。 Namesilo介绍 Godaddy变得越来越不靠谱,若干年前,国人还勉强能用$7.99注册到com域名,现在最便宜的已是9刀,续费也得10刀。如果需要给域名加隐私保护,用了惠码后也得20美元。 现在推荐将域名转移到 Namesilo.com。Namesilo首先价格方面不错,而且也是ICANN的顶级域名注册商,在Namesilo注册com域名使用1美元惠码只需要7.99美元,转移仅需7.39美元,而且还赠送免费隐私保护。 Namesilo.com 1美元...阅读全文

博文 2017-04-21 23:47:58 debian.cn

Debian 系统中如何禁用 IPv6

国内腾讯云和阿里云的机器是没有ipv6的,但安装完 Debian 9 却发现默认启用了ipv6,所以需要将 IPv6 禁用,或者降低先级。 方法一:降低 IPv6的先级 使IPv4先 默认的安装中,ipv4 和 ipv6 并存,并且 ipv6 却先于 ipv4。如果不需要彻底关闭 ipv6,可以设置让 ipv4 先于 ipv6。配置方式如下: echo "precedence ::ffff:0:0/96 100" >>/etc/gai.conf 当然也可以直接修改 /etc/gai.conf 文件,找到下面这一行 #precedence ::ffff:0:0/96 100 把前面的#去掉即可。 方法二:设置 GRUB 启动参数禁用 IPv6 编辑 /etc/default...阅读全文

博文 2019-07-12 11:06:50 debian.cn

最全的 DevOps 工具集合

、Bitbucket 和 Subversion。 Git Git 是一个分布式版本控制系统,用来在软件开发过程中跟踪源代码的更改。它是专为协不同程序员的工作而设计的,也可用于跟踪各种文件集中的更改。它的势包括速度、数据完整性以及对分布式非线性工作流的支持。 GitHub GitHub 提供了 Git 的分布式版本控制和源代码管理功能,自己也有很多特性。 GitLab GitLab 中的版本控制提供了世界一流的源代码管理功能,可帮助你的开发团队共享、协作并尽可能提高生产力。 Bitbucket Bitbucket 是 Atlassian 所有的、基于 Web 的版本控制库托管服务,可用在使用 Mercurial 或 Git 版本控制系统的源代码和开发项目上。 Subversion Apache...阅读全文

博文 2021-05-26 14:35:21 博客园

深度解密基于 eBPF 的 Kubernetes 问题排查全景图

一、当 Kubernetes 成为云原生事实标准,可观测性挑战随之而来当前,云原生技术以容器技术为基础,通过标准可扩展的度、网络、存储、容器运行时接口来提供基础设施。同时,通过标准可扩展的声明式资源和控制器来提供运维能力,两层标准化推动了开发与运维关注点分离,各领域进一步提升规模化和专业化,达到成本、效率、稳定性的全面化。在这样的大技术背景下,越来越多的公司引入了云原生技术来开发、运维业务应用。正因为云原生技术带来了越发纷繁复杂的可能性,业务应用出现了微服务众多、多语言开发、多通信协议的鲜明特征。同时,云原生技术本身将复杂度下移,给可观测性带来了更多挑战:​1、混沌的微服务架构,多语言和多网络协议混杂业务架构因为分工问题,容易出现服务数量多,用协议和关系非常复杂的现象,导致的常见问题...阅读全文

博文 2022-03-21 09:11:51 joseph

Golang 中的 channel 通道详解

shrinking. lock mutex } 创建一个channelvar name chan elemType //声明中需要指定channel的具体类型 eg. var c chan int 声明了一个int的channel 我们使用make()方法创建,可以指定chan的缓存区大小。c := make(chan int, 10) //make创建一个int类型的channel,容量大小为10 c1 := make(chan int) // 无缓存的channel make()函数最后会用底层的makechan()函数,返回一个通道的指针。当我们复制一个channel或用于函数参数传递时,我们只是拷贝了一个channel引用,因此用者和被用者将引用同一个channel对象。和其它的引用类型一样...阅读全文

开源硬件是趋势,Arm 却走了一条与众不同的路

Cortex-M33 CPU 开始使用。这将使得 Arm 客户能够向基于 Cortex-M 的 IoT CPU 添加自定义指令,以针对特定市场量身定制芯片。 Dirvin 说到:“例如,有些数学算法是重复的。如果我们要使用一块硅存储片来维护它,那么拥有一条指令将会非常好。但这与 Arm 想要的不符。不过现在使用自定义指令后,我们的合作伙伴将能够针对该市场专门对芯片进行化。” 为此,许多行业从业者和分析家将 Arm 的这些声明视为对 RISC-V 日益严峻挑战的回应。由于 RISC-V 具有相当吸引人的势 —— 高度的自由性、轻量级和可扩展性,它已引起 NVIDIA 和 Qualcomm 等技术巨头的广泛关注。 Dirvin 则强,即使没有 RISC-V 的兴起,Arm 也会推出其政策变更。“创新...阅读全文

博文 2019-10-17 22:39:43 debian.cn

亚马逊12个月免费云服务

助力中国企业出海,注册账号就能享受亚马逊1年全免费的云服务器、数据库产品!免费12个月免费出海云计算服务: https://www.amazonaws.cn/campaign/?sc_channel=seo&sc_campaign=acquisition_CN&sc_medium=backlink&sc_content=foreigntrade亚马逊云计算Amazon Web Services (AWS) 服务始于2006年,成立以来在云计算领域一直保持了领头羊的国际地位。亚马逊云计算拥有比竞争对手更强的计算能力—来自美国摩根士丹利和国际知名研机构Gartner。亚马逊云科技中国团队全程支持中国企业的出海业务:专业的出海合规规范、专业的技术支持、数百万海外用户的运营实践、7*24小时中文...阅读全文

VIRPUS – $1.5/mo Xen 4核 1G 50G 1.5T 1Gbps 西雅图

virpus是一家成立很久的美国vps主机商,本次黑五活动,算是相当给力了。采用xen虚拟架构技术,数据中心为西雅图,国内速度还是很秀和稳定的,硬盘为hdd+ssd缓存,带宽为1Gbps上行;折扣为3折,非常给力。 惠码:BLACKFRIDAY2017 黑五专属折扣,算是很有性价比了,机会不容错过。支持Paypal、MasterCard、比特币支付。 惠方案 核心:4核CPU 内存:1GB 硬盘:50GB 流量:1.5TB 端口:1Gbps 架构:Xen 价格:$1.50/month 传送:购买链接 https://my.virpus.com/cart.php?a=confproduct&i=0 官网链接 https://www.virpus.com/...阅读全文

博文 2017-11-25 11:05:35 debian.cn

为何说微软不会基于Linux内核重构Windows

播,Windows 和 Linux 的开放源码贡献者能够共享两个生态系统的精华。 2.兼容性 目前尚不清楚如果 Windows 用户空间从 NT 迁移到 Linux 内核,是否能够保持良好的兼容性,特别是那些拥有关键任务应用、付费获取的东西。 Windows 没有像 Linux 那样严格区分内核空间和用户空间。NT 内核大约有 400 个已记录的 syscalls 以及大约 1700 个已记录的 Win32 API 用。对于重新部署从而确保 Windows 开发者和他们工作达到预期的兼容性这是非常庞大的工作量,这完全超过了 Wine 提供的修正贡献。 Linux 在 arm64 上只有 313 个 syscalls,而另一个原因是微软已经从 WSL 1 中的 syscall 翻译层...阅读全文

博文 2020-10-15 14:59:58 debian.cn

什么是线程安全,以及并发需要知道的几个概念

众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的。为了追求成为一个好的Java程序员,我决定从今天开始死磕Java的并发编程,尽量弥补自己在这方面的知识缺陷。 并发必须知道的概念 在深入学习并发编程之前,我们需要了解几个基本的概念。 同步和异步同步和异步用请求返回用的方式来理解相对简单。 同步:可以理解为发出一个请求后,必须等待返回结果才能执行下面的操作。 异步:请求发出后,不需要等待返回结果,可以继续执行后续操作,异步请求更像是在另一个 “空间” 中处理请求的结果,这个过程不会影响请求方的其他操作。 举个生活中的例子,比如我们去实体店买衣服,挑选完款式后下单让售货员去仓库拿货,在售货员拿货的过程你需要在店...阅读全文

博文 2018-12-31 20:44:06 debian.cn

SpringCloud 之外的选择:国产JBoot v1.7.1 发布

化:当 maven 或者 ide 配置不正确的时候,给出解决方案 化:hystrix 对 rpc 的支持,支持 hystrix 的所有配置 化:重构 JbootDirectiveBase ,修改 getParam 为 getPara 保持和 Controller 一致。 化:移除 redis 的 getCounter 方法, 使用 getWithoutSerialize 代替 修复:blpop 返回数据不正确的问题 还没对 Jboot 进行 star 的用户,请进入 https://gitee.com/fuhai/jboot 点击 star,Jboot,您绝对值得拥有。 Jboot 快速入门: https://jboot.io Jboot 开发的 JPress,体验地址:http...阅读全文

博文 2018-10-24 13:19:05 debian.cn

单核心 IOPS 突破 1000 万,Linux 5.16 有望大幅提升 I/O 性能

Linux block 子系统的负责人 Jens Axboe 目前就职于 Facebook,他也因开发了 IO_uring 而闻名,他对 IO_uring 的不断开发与化使得 Linux 系统的 I/O 性能得到巨大提升。一周前,Jens Axboe 开始对内核的 I/O 性能进行了新一轮的化,以便在单个 CPU 核心上获得 800 万 IOPS。经过一周时间的努力,每个核心能够实现 890 万左右的 IOPS,就当大家以为这个数字已经达到他所使用的硬件极限,没有更多化空间时,本周他又成功地将每个核心的 IOPS 推到了 1000 万。IOPS(Input/Output Operations Per Second)是一个衡量电脑储存装置(如 HDD、SSD)输入/输出性能高低的指标...阅读全文

博文 2021-10-27 10:32:50 joseph

Linux系统诊断-内存基础

swap的方式临时缓解内存不足的问题,但一般不能直接作在线减少swap的操作,很有可能导致进程的crash。具体swap配置方式见5.1swap相关配置。OOM=======1.What is OOM?Out Of Memory Killer 是 Linux 的一种系统保护机制,在系统内存紧张时,kill掉某些进程防止系统卡死。系统通过打分机制,来实施对进程的杀死操作。默认机制是通过扫描所有进程的内存占用,cpu占用等因素,然后打分  (badness),分数越高,进程被kill的先级就越高。2.哪些行为会让系统对进程进行打分?进程使用fork(2)用,创建众多子进程时,会加分(+)进程已经运行了很长时间,或者和使用了大量的CPU时间,会减分(-)进程的nice值如果比较低,会加分(+)进程如...阅读全文

博文 2021-02-11 14:22:42 SegmentFault 思否

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

如下: 当容器镜像挂载点文件系统的磁盘使用率大于--image-gc-high-threshold时(containerRuntime 为 docker 时,镜像存放目录默认为 /var/lib/docker),kubelet 开始删除节点中未使用的容器镜像,直到磁盘使用率降低至--image-gc-low-threshold 时停止镜像的垃圾回收。kubelet GarbageCollect 源码分析kubernetes 版本:v1.16GarbageCollect 是在 kubelet 对象初始化完成后启动的,在 createAndInitKubelet 方法中首先用 kubelet.NewMainKubelet 初始化了 kubelet 对象,随后用...阅读全文

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

Linux下多线程程序为什么消耗大量虚拟内存

你打算在程序代码中来设置这个东西,那么可以用mallopt(M_ARENA_MAX, xxx)来实现,由于我们AuthServer采用了预分配的方式,在各个线程内并没有分配内存,所以不需要这种化,在初始化的时候采用mallopt(M_ARENA_MAX, 1)将其关掉,设置为0,表示系统按CPU进行自动设置。 意外发现 想到tcmalloc小对象才从线程自己的内存池分配,大内存仍然从中央分配区分配,不知道glibc是如何设计的,于是将上面程序中线程每次分配的内存从1k整为1M,果然不出所料,再分配完64M后,仍然每次都会增加1M,由此可见,新版 glibc完全借鉴了tcmalloc的思想。【原文出处: 陈斌的博客】...阅读全文

博文 2015-01-28 10:35:39 debian.cn

聊聊很重要的内核技术eBPF

eBPF 的程序。编写C代码,将LLVM编译成驻留在ELF文件中的eBPF字节码。将程序加载到内核中,并创建必要的 eBPF-maps。eBPF 具有用作 socket filter,kprobe 处理器,流量控制度,流量控制操作,tracepoint 处理,eXpress Data Path(XDP),性能监测,cgroup 限制,轻量级tunnel的程序类型。将加载的程序attach到系统中。根据不同的程序类型attach到不同的内核系统中。程序运行的时候,启动状态并且开始过滤,分析或者捕获信息。 2016年10月的NetDev 1.2大会上,Netronome的Jakub Kicinski和Nic Viljoen发表了标题为“eBPF / XDP硬件卸载到SmartNIC”。 Nic...阅读全文

博文 2020-08-16 11:08:44 debian.cn

HAProxy用法详解 最详细中文文档

分配器在固定大小的内存池中可实现即时内存分配,这能够显著减少创建一个会话的时长; 6,树型存储:侧重于使用作者多年前开发的弹性二叉树,实现了以O(log(N))的低开销来保持计时器命令、保持运行队列命令及管理轮询及最少连接队列; 7,化的HTTP首部分析:化的首部分析功能避免了在HTTP首部分析过程中重读任何内存区域; 8,精心地降低了昂贵的系统用,大部分工作都在用户空间完成,如时间读取、缓冲聚合及文件描述符的启用和禁用等; 所有的这些细微之处的化实现了在中等规模负载之上依然有着相当低的CPU负载,甚至于在非常高的负载场景中,5%的用户空间占用率和95%的系统空间占用率也是非常普遍的现象,这意味着HAProxy进程消耗比系统空间消耗低20倍以上。因此,对OS进行性能是非常重要的...阅读全文

博文 2014-05-10 17:14:46 debian.cn

WebAssembly:无需容器的 Docker (下)

包括一个可以构建到 wasm32-wasi 目标的 clang 编译器,以及在 WASI 之上实现基本 POSIX 系统用接口的 wasi-libc。 使用 WASI SDK,我们可以从 PHP 的代码库中构建一个用 C 编写的 Wasm 模块,。之后,我们需要一个非常简单的基于 scratch 的 Dockerfile 来制作一个可以使用 Docker+Wasm 运行的 OCI 镜像。构建一个 WASM 二进制码假设你现在位于 wlr-demo 文件夹,这是前期准备工作的一部分,可以运行以下命令来构建 Wasm 二进制文件。export WASI_SDK_ROOT=/opt/wasi-sdk/ export WASMLABS_RUNTIME=wasmedge ./wl-make.sh...阅读全文

博文 2023-01-03 06:39:46 spider

谷歌公开了内部管理Infra层的两个工具的Paper

解决方案。 基于intent的执行需要首先转变对如何修改生产环境的看法。可以用“宠物vs牛群”理论来描述这个问题:以前,我们把工作流当作宠物:维护每个工作流的运行,手动,并且单个交互。而基于intent的执行将生产asset当作牛群:特殊情况很少,扩展变得很容易。因此,我们创建了成为Annealing的持续执行系统。 生产管理的大部分现在都是基于intent的,并且每秒可以向生产环境推送上百个变更——这里每个变更推送整个job,变更配置,应用新的数据库schema等。当然,在某些领域工作流仍然存在。很多时候是因为工具还不能覆盖特殊领域(比如,批量pipeline),但是也有些情况是特定的需求下工作流更为合适。 — 4 — 其他解决方案 本文描述的很多理念可能在服务部署和管理领域比较常见...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

Kubernetes 1.9发布:Apps Workloads通用版本与生态系统扩展

从这一过程当中汲取到经验,并在过去几次发布周期内对全部四种资源进行了针对性整,最终使得DaemonSet与StatefulSet也加入到稳定版本队伍中来。此次发布的v1版本代表着其针对生产需求进行强化且准备就绪,拥有长期向下兼容性保证。 Windows支持(beta测试阶段) Kubernetes最初专门针对Linux系统开发而成,但随着我们的用户越来越多地意识到容器编排功能的势,我们发现Kubernetes也确有必要运行Windows工作负载。12个月之前,我们开始认真探索Kubernetes支持Windows Server的相关工作。SIG-Windows[3]如今已经将这一功能提升至beta测试版本,意味着大家能够通过实际使用对其效果进行评估。 存储增强 自第一个版本开始...阅读全文

博文 2017-12-17 01:00:00 debian.cn

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

我们将介绍,如何在三个树莓派上,创建出一套 Kubernetes 集群并正常使用。在这种场景下,主节点的内存和 CPU 资源较有限,执行 Kubernetes 任务时性能会有折扣,想做升级也不容易。 在开始之前,我们先介绍 K3s 这个项目。K3s 被誉为是最轻量级的 Kubernetes 发行版,它针对低配的 x86 和 ARM 处理器化,可以让 Kubernetes 在树莓派上运行得更好。 基于 Raspbian 的 kubernetes 集群 本文我们将介绍如何使用 K3s 在树莓派上创建 Kubernetes 集群。系统我们用的是树莓派最流行的 Raspbian。 准备工作 在开始创建 Kubernetes 集群之前,我们需要准备, 至少一个树莓派,包括 SD 卡和电源网线,普通...阅读全文

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

图解 Debian 系统通用安装教程

并记牢,超级管理员账户啊。 建立新用户,这个只是个昵称,不是登录时的用户名,可以根据自己喜好填。 这玩意就是登录时的用户名了,设置时要多注意,并且一定要记住(其实记不住也没事,还有root呢)。 设置用户密码。 接下来该磁盘分区了,我用的虚拟机,但是方法上都一样的。 有空闲分区的话推荐使用安装程序进行自动分区,当然也可以手动分区。自动分区的话如果是新手推荐“将所有文件放在同一个分区中”,有经验的就根据自己喜好整吧。 手动分区的话一定要记住挂载/根目录,否则会报错。Swap分区(交换分区)推荐大小为物理内存的两倍,比如我的实际内存为2G,swap给上4G就行了。 完成整后保存分区表即可。需要注意的是需要记住挂载 根目录/ 的分区号,方便后面安装grub, 选是。 对于软件安装,教程既然写的...阅读全文

博文 2017-07-13 12:52:56 debian.cn

GoDaddy SSL证书七折购买图文教程

SSL是网络加密传输协议,安装SSL数字证书之后,就可以通过加密方式访问网站。SSL证书的作用主要是确保网络传输数据安全,GoDaddy 提供了的 SSL 证书服务比较受欢迎。下面,我将给大家介绍,如何使用30%的折扣码,在 GoDaddy 网站上购买 SSL 证书。 1.通过本惠链接进入Godaddy官网,点击Logo右边的菜单,然后依次点击 “Web Security” → “SSL Certificates”,下拉后,我们可以看到这些选项, 国内用户访问的,多半会跳转到 sg.godaddy.com 下,可以不影响购买。页面上我们看到的价格,也是惠前的价格。 2.GoDdaddy提供了多种 SSL证书,结合自己的需要选择。如果需要用通配符证书,选择第三个 Wildcard SSL...阅读全文

博文 2020-03-23 14:47:26 debian.cn

网易云音乐Linux版v1.1发布 支持 Debian Stretch

时隔近一年半的时间,网易云音乐 Linux 版本终于迎来了更新,本次更新除了迁移到QCEF框架,对GNOME、KDE桌面环境支持更好,支持最新 Debian 9、Ubuntu 17.10版本(仅64位),还化和修复各个社区用户反馈的问题。 具体的细节化如下: 迁移全新的QCEF框架; 使用了全新的播放器后端; 支持打开更多格式的本地文件; 化播放时内存占用资源问题; 化扫描本地音乐目录,支持读取下载任务的状态; 化第三方字体的支持; 化淡入淡出效果和在线播放; 化更好的支持Wayland环境; 移除了沙盒机制; 修复部分本地音乐播放存在卡顿的问题; 修复Tooltip位置偏移的问题; 修复在Qt 5.9中界面乱码的问题; 修复GPU加速选项无效的问题; 修复无法捕获本地目录变...阅读全文

博文 2017-12-02 18:34:00 debian.cn

DNS SRV:使用DNS服务器做服务发现

DNS SRV 是 DNS 记录中一种,用来查询指定服务的地址。与常见的A记录、CNAME 不同的是,SRV中除了记录服务器的地址,还记录了服务的端口,并且可以设置每个服务地址的先级和权重。RFC-2782 给出DNS SRV的建议标准,它是在2000年的时候提出来的。 访问服务的时候,本地的服务从 DNS 服务器查询到一个地址列表,根据先级和权重,从中选取一个地址作为本次请求的目标地址。 一个支持SRV的 LDAP client 通过查询域名,可以得知 LDAP 服务的 IP 地址和服务端口: _ldap._tcp.example.com 这个域名的格式是 rfc-2782 中推荐的格式,_ldap表示LDAP服务,_tcp表示通过TCP协议访问LDAP服务。 SRV 的 DNS 类...阅读全文

博文 2019-03-05 09:35:34 debian.cn

Sam Altman的成功学|OneFlow

,成功人士中不乏名声不佳的,而且有些还往往强自己的成功是由于拥有某些品质和才能,甚至刻意掩饰时代和机遇的影响。Sam Altman取得了巨大的成就,但会谦逊地告诉你“深深意识到的一个事实”:他能有今天是因为运气好。 愿你也有好运。如果没有,至少可以从Sam Altman这类顶尖人才的思考中获得启发,以在个人职业生涯中持续成长。 作者|Sam AltmanOneFlow编译|徐佳渝、杨婷 通过大量观察企业创始人,我思考了很多关于赚大钱或者建功立业的想法。通常,人们最开始一心只想赚钱,但最后会想有所成就。 以下是关于如何获得非凡成功的13条看法。如果你已经取得了一定成就(取得成就的途径不限,可以通过天生势实现,也可以通过个人努力实现),那这些思考对你来说做起来会更加容易。[1] 其中大多数想法...阅读全文

2016 年 Go 语言使用习惯调查

Go 语言官方博客公布了 2016 年 Go 语言使用查。在 3,595 名被查者中,89% 称他们在工作中或工作之外用 Go 编程;63% 称他们的工作是 Web 开发,但只有 9% 的人只从事 Web 开发,一半以上被查者的工作涉及三个以上领域;63% 的人用 Go 开发命令行程序,60% 写 API 或 RPC 服务,52% 写 Web 服务。 被查者对 Go 的满意度非常高(这显然与被查者这一群体高度相关),他们主要在 Linux 上进行开发,其次是 MacOS,第三是 Windows;最爱的编辑器是 Vim,其次是 VSCode、Atom、IntelliJ、Sublime Text 和 Emacs;大部分人主要通过 Stack Overflow 寻找 Go 相关问题的答...阅读全文

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

互联网协议正在发生变化

当上世纪九十年代互联网开始被广泛使用的时候,其大部分的通讯只使用几个协议:IPv4 协议路由这些数据包,TCP 协议转发这些包到连接上,SSL(及后来的 TLS)协议加密连接,DNS 协议命名那些所要连接的主机,而 HTTP 协议是最常用的应用程序协议。 多年以来,这些核心的互联网协议的变化几乎是微乎其微的;HTTP 增加了几个新的报文头和请求方式,TLS 缓慢地进行了一点小修改,TCP 整了拥塞控制,而 DNS 引入了像 DNSSEC 这样的特性。这些协议看起来很长时间都一成不变(除了已经引起网络运营商们的大量关注的 IPv6)。 因此,希望了解(甚至有时控制)互联网的网络运营商、供应商和决策者对这些协议采用的做法是基于其原有工作方式 —— 无论是打算试问题,提高服务质量,或施加政策...阅读全文

腾讯云 香港主机 1核1G 50G硬盘1M带宽 三年仅428元!

最近腾讯云活动不断,双十一智慧上云服务器的惠力度非常的大,可以说是前所未有的历史低价了。赶紧行动吧, 2核4GB内存50GB硬盘,3Mbps带宽的国内主机,三年只需要688元,1核2GB内存50GB硬盘,1Mbps带宽的国内主机三年也只要268块,1核1GB内存50GB硬盘,1Mbps带宽的香港主机,三年只要428块。 需要特别提醒的一句是,如果你的账号之前就已注册,但是没有购买记录,也是可以参加的。活动页面也是很炫的,如果不想买国内主机,还有免备案的香港主机可选,价格都很良心, 相比此前的方案,惠力度绝对是杠杠的, 活动地址(已更新): 1核1GB 1Mbps 只要88/年:直达链接2核4GB 3Mbps 带宽 仅688元/三年:直达链接 目前活动惠力度历史新低,建议大家尽快下单...阅读全文

博文 2019-11-22 13:06:00 debian.cn

Web前端知识体系精简

。 HTML 篇 1、Web语义化 和 SEO html 常规标签有html,head,body,div,span,table,ul,ol,dl,p,b,h1~h6,strong,form,input,img,em,i 等等,另外html5 还新增了很多语义化的标签,比如header,acticle,aside,section,footer,audio,radio 等等。 Web语义化是指使用语义恰当的标签,使页面有良好的结构,页面元素有含义,能够让人和搜索引擎都容易理解。 SEO是指在了解搜索引擎自然排名机制的基础之上,对网站进行内部及外部的化,改进网站在搜索引擎中关键词的自然排名,获得更多的展现量,吸引更多目标客户点击访问网站,从而达到互联网营销及品牌建设的目标。 搜索引擎通过爬虫技术获取的...阅读全文

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

Apache Kafka发布 3.0 正式版

OffsetFetch 请求以接受多个组 ID请求 Kafka 消费者组的当前偏移量已经有一段时间了。但是获取多个消费者组的偏移量需要对每个组进行单独的请求。在 3.0 和KIP-709 中,fetch 和 AdminClient API 被扩展为支持在单个请求/响应中同时读取多个消费者组的偏移量。KIP-699:更新 FindCoordinator 以一次解析多个 Coordinator支持可以以有效方式同时应用于多个消费者组的操作在很大程度上取决于客户端有效发现这些组的协者的能力。这通过KIP-699成为可能,它增加了对通过一个请求发现多个组的协器的支持。Kafka 客户端已更新为在与支持此请求的新 Kafka 代理交谈时使用此化。KIP-724:删除对消息格式 v0 和 v1 的支持自 2017 年...阅读全文

博文 2021-09-26 14:13:03 joseph

Raspbian 新版发布,基于 Debian 的 Linux 系统

Raspbian 20171129 已发布,Raspbian 是基于 Debian GNU/Linux 的免费操作系统,它面向 Raspberry Pi 硬件(armhf 处理器架构)而做了化。Raspbian 带有 35000 多个软件包或预编译软件,它们按美的格式打包从而便于在 Raspberry Pi 上安装。 更新内容: Added battery monitor plugin for taskbar – works on x86 images or first-generation Pi-Top Added cutdown mode to PCManFM file manager to reduce complexity Added ability to rename...阅读全文

博文 2017-12-04 10:41:02 debian.cn

MySQL 8 第一个正式版发布:更好的性能

“隐藏”和“显示”。当对索引进行隐藏时,它不会被查询化器所使用。我们可以使用这个特性用于性能试,例如我们先隐藏一个索引,然后观察其对数据库的影响。如果数据库性能有所下降,说明这个索引是有用的,然后将其“恢复显示”即可;如果数据库性能看不出变化,说明这个索引是多余的,可以考虑删掉。 5. 降序索引:MySQL 8.0 为索引提供按降序方式进行排序的支持,在这种索引中的值也会按降序的方式进行排序。 6. 通用表表达式(Common Table Expressions CTE):在复杂的查询中使用嵌入式表时,使用 CTE 使得查询语句更清晰。 7. UTF-8 编码:从 MySQL 8 开始,使用 utf8mb4 作为 MySQL 的默认字符集。 8. JSON:MySQL 8 大幅改进了对...阅读全文

博文 2018-04-20 10:40:18 debian.cn

Rancher 2.2.2 发布:优化 Kubernetes 集群运维

Windows 节点正式提供生产级别支持的 Kubernetes 版本。 UI 和 API 的性能提升 Rancher v2.2.2 中,UI 和 API 的性格都得到了大幅化。项目相关的资源 API 用(特别是 pod)所需的加载时间大幅减短,页面在极短的时间内即可用。 其他的修复或更新 修复了无法为 AWS 中国区域添加节点模板的问题。出于稳定性考虑,暂时移除了项目级别的监控,将在下一个版本中重新添加;集群级别的监控不受此影响。修复了发布目录模板可能因证书错误而失败的问题。修复了用于与独立 Rancher 服务器通信的自签名证书可能过期的情况。修复了 Rancher 配置集群状态在带有前缀补丁的集群中被错误提取的问题。 更新详情可查阅 RancherLabs 的 发布公告 下载地址:https...阅读全文

博文 2019-04-22 13:49:38 debian.cn

Go 公布 2.0 设计草案:规模化和扩展性、支持泛型

去年7月,Go 语言官博就曾透露 Go 2 开发计划,并表示 Go 2 的目标就是解决 Go 1.x 在规模化方面做的还不够好的地方。随着时间的推进,开发团队已着手准备 2.0 版本的开发工作,并公布了设计草案,供社区讨论和反馈,以促进最终的语言设计。 设计草案包含三个方面,错误处理、错误值和泛型,并针对各个方面进行了详细的概述和改进草案。大致总结如下: 一、错误处理(Error handling) 为扩展至大型代码库,Go 程序必须是轻量级的,不会过度重复,且具备稳健性,能够雅地处理出现的错误。 目前 Go 检查错误的代码太多,但处理这些错误的代码却严重不足。对于 Go 2,开发团队希望错误检查更加轻量级,减少用于错误检查的 Go 程序的文本量。此外,还能更加方便地编写错误处理程序,提...阅读全文

博文 2018-09-01 18:39:47 debian.cn