InfraPub 为您找到相关结果 343

一位资深Java架构师的晋级心得

计原理,Spring事务处理机制,SpringMVC,Spring源码分析Mybatis:Mybatis体系结构,Mybatis核心应用与配置,Mybatis关联查询,与Spring集成,Mybatis源码分析 2. 工程化工具 Maven项目工具:Maven命令使用,Maven的pom配置体系,插件机制及插件开发,Nexus使用,上,配置Git分布式版本控制:Git安装和理解仓库,工作常用命令,分支和Tag管理,代码冲突解决方案,Github开源社区,Git企业应用,与IDE集成Sonar代码检测:Sonar环境搭建和使用,使用Sonar进行代码质量管理,与IDE集成使用Jenkins:搭建Jenkins自动化部署环境,集成git/maven/sonar工具,插件机制 3. 微服务架构...阅读全文

博文 2019-01-13 22:49:22 debian.cn

使用 setfacl 管理文件的访问控制列表ACL

。在 Debian 系统中,执行命令: sudo apt-get install acl ACL 使用样例 ACL即Access Control List,主要的目的是提供统的 owner, group, others 的 read, write, execute 权限之外的具体权限设置,ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的访问控制有一定帮助。例如,某一个文件不让单一的某个用户访问。 ACL使用两个命令来对其进行控制: getfacl:取得某个文件/目录的ACL设置项目 setfacl:设置某个文件/目录的ACL设置项目 setfacl 的命令参数: -m:设置后续acl参数 -x:删除后续acl参数 -b:删除全部的acl参数 -k:删除默认...阅读全文

Facebook 是如何进行大规模代码部署的

。 • 自动测试:包括单元、集成和端到端测试,会使用到 Roboelectric、XCTest、JUnit 和 WebDriver 等工具。 在代码变更的生命周期内,每次提交都会执行移动构建并运行测试栈,这样就会运行很多次。单单 Android 一天就有 5 万到 6 万个构建版本。移动部署系统遵循较早的基于 Web 的模式,每周发布一次,按 cherry-picking 策略随机选择变更。尽管代码输速度和发布频率有所增长,但工程师的生产率保持不变。然而,本文提到的标准(代码行和推送次数),可能并非衡量生产率的最佳标准。 据 2016 年 IEEE 的论文和相关讨论,Facebook 早在 2005 年就利用了某种形式的 CD。该论文中的一些结论列出了 CD 成功的先决条件:可观的持续投资、高度熟...阅读全文

博文 2017-10-31 14:05:20 debian.cn

Debian的版本号及distributions

release:testing被改名为stable,于是stable指向了新release的code name,同时一个新拷贝被创建,命名为下一个要release的code name,并成为新的testing,以前的stable被改名为oldstable,于是对应released的code name的版本号(如sarge对应3.1,etch对应4.0)就发布了。 即使是stable distribution仍然不可避免地存在bugs,解决这些bugs的更新包首先被上到debian archive的stable-proposed-updates目录下作更进一步的测试,Release Team会定期地评价这些更新并决定它们是否可以被包括到stable中,当一批更新被移至stable中后,stable...阅读全文

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

如何校验 Debian 软件包的 MD5

/a2query.1.gz OK /usr/share/man/man8/a2enconf.8.gz OK /usr/share/man/man8/a2enmod.8.gz OK /usr/share/man/man8/a2ensite.8.gz OK /usr/share/man/man8/apache2ctl.8.gz OK 假设你以普通用户的身份运行debsums,没有sudo权限,那么可以使用--ignore-permissions选项,把权限错当成警告: $ debsums --ignore-permissions 如何利用.Deb文件生成MD5和? -g 选项告诉 debsums 利用 deb 内容生成 MD5,其中: missing――指令debsums利用deb,为不提供MD5和的软件包...阅读全文

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

为保护隐私而生 反取证操作系统:Kodachi

用。 学校机房(从 U盘 和 DVD 启动)使用 任何可以(从 U盘 和 DVD )启动使用的计算机上。 安装向导: 如何在你的硬盘驱动器上安装 Kodachi Linux: 从你的 USB 或 ISO 映像引导。 在桌面菜单上进入 – >系统 – > Refracta 安装程序 – >使用 su – >输入密码 r@@t00 – >简单安装 – >运行 GParted – >设备 – >创建分区表 – >应用 – >分区 – >新建 – >添加 – >应用所有操作 – >关闭 – >关闭 GParted 窗口 – >选择分区 – >确定 – >继续安装 – >关闭窗口 – > y – >配置主机及用户名!不要在这里更改用户名,否则 Kodachi 脚本会出现错 – >勾选前 2 个框允许...阅读全文

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

玩转 AWS 的必备工具

再用AWS的建立镜像工具转化成一个订制的AMI。那样手动式建立的AMI全过程一般用时费力不易配备,并且容易错。因此 大家必须一个专用工具来自动化技术全部建立AMI的全过程,与此同时叙述建立AMI的编码能够储存而且根据再配备重复使用,来很大地优化和管理方法AMI建立的全过程。 Packer就这样一个自动化技术建立AMI的专用工具。如下图所显示,Packer根据JSON文件模板来叙述一个建立AMI的全过程,如何配置AMI都由编码叙述。客户只需根据改动这一软件更新来随后实行一个简洁的指令来自动生成订制的AMI。那样订制AMI的全过程则能够直接进入版本号智能管理系统,便捷消费者查看和跟踪订制全过程的转变 。...阅读全文

玩转 AWS 的必备工具

AMI全过程一般用时费力不易配备,并且容易错。因此 大家必须一个专用工具来自动化技术全部建立AMI的全过程,与此同时叙述建立AMI的编码能够储存而且根据再配备重复使用,来很大地优化和管理方法AMI建立的全过程。 Packer就这样一个自动化技术建立AMI的专用工具。如下图所显示,Packer根据JSON文件模板来叙述一个建立AMI的全过程,如何配置AMI都由编码叙述。客户只需根据改动这一软件更新来随后实行一个简洁的指令来自动生成订制的AMI。那样订制AMI的全过程则能够直接进入版本号智能管理系统,便捷消费者查看和跟踪订制全过程的转变 。...阅读全文

译:Kubernetes 最佳实践

本文翻译自 Jack Roper 的文章 Kubernetes Best Practice。译者:文章中作者从应用程序开发、治理和集群配置三个方面给出了一些 Kubernetes 的最佳实践,同时翻译过程中也加入了我过往的一些使用经验。有的地方,也欢迎大家指正。在这篇文章中,我将介绍一些使用 Kubernetes (K8s) 时的最佳实践。作为最流行的容器编排系统,K8s 是现代云工程师掌握的事实标准。众所周知,不管使用还是维护 K8s 复杂的系统,因此很好地掌握它应该做什么和不应该做什么,并知道什么是可能的,将是一个好的开局。这些建议包含 3 大类中的常见问题,即应用程序开发、治理和集群配置。最佳实践目录使用命名空间使用就绪和存活探针(译者注:还有启动探针)使用自动缩放使用资源请求和约...阅读全文

博文 2022-09-13 19:32:21 atbug.com

最全的 DevOps 工具集合

Jira Jira 是 Atlassian 开发的专用问题跟踪产品,提供了错跟踪和敏捷项目管理功能。 JetBrains YouTrack YouTrack 是由 JetBrains 开发的,基于浏览器的专用商业软件,融合了错跟踪器、问题跟踪系统以及项目管理软件。它的卖点是基于查询的问题搜索,拥有自动完成、分批处理问题、自定义问题属性集,以及创建自定义工作流的特性。 Zendesk Zendesk 可以轻松地从所有渠道跟踪每一个客户问题。目前 Uber 和 Airbnb 等许多公司都在使用 Zendesk Support 作为他们的问题跟踪软件。 源代码控制 源代码控制主要是为了控制资产,减少沟通障碍,赋能团队。目前业内比较常用的 SCM 工具包括 Git、GitHub、GitLab...阅读全文

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

十条关于 WordPress 安全性的小贴士

-config.php 包含了数据库访问凭据和其他一些对入侵系统有助的有用信息。大多数人都将其保留在主要的 WordPress 文件夹中,但可以将其移动到上层的文件夹。大多数情况下,该文件夹位于 Web 服务器根目录之外,而且无法通过 HTTP 请求进行访问。 或者,也可以通过配置 Web 服务器(如 Apache .htaccess 文件)来保护它: order allow,deny deny from all 6. 尽可能授予用户最低权限角色 用户是任何系统最弱的一点 — 特别是当他们可以选择使用自己的弱口令并将其给任何问他们索要的人时。WordPress 提供了 一系列的角色和功能 。大多数情况下,用户应该是: 编辑: 可以发布和管理自己和其他人的帖子的人 作者: 可以发布和管理自己的帖子的人 贡献者...阅读全文

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

不要光想着价格 QLC 与 TLC 闪存有什么不同

在这个互联网时代,游戏、电影、照片等数据越来越大,硬盘容量将会面临着前所未有的挑战。虽然统的机械硬盘可以解决容量问题,但是速度太慢,体验糟糕,并不是最优的个人存储解决方案。我们渴求大容量的SSD,不过超过TB大容量SSD动不动就几千元的售价,对于支付能力有限用户实际上没有意义。SSD的成本主要来源于闪存,在TLC闪存能够实现TB容量可惜价格未能降下来。只有不断开发新类型的闪存,解决容量与价格的矛盾,才能让SSD真正在大数据时代发挥应有作用。 这时,QLC 闪存就应运而生, 目前,东芝和西数先后宣布成功开发基于四比特单元3D NAND闪存芯片,即QLC闪存,这也意味着QLC SSD将要来临。那么,它与TLC闪存又有什么区别,能否取代TLC成为SSD主流闪存之选? 先来了解一下什么是TLC...阅读全文

博文 2017-08-01 09:52:54 debian.cn

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

了十个速度最快的镜像,然后把它们写入到你的软件包源列表。apt-spy执行类似的功能。 3. apt-transport-tor 你可能也知道了,Tor是一款匿名浏览工具。然而,即便你注重安全,下载软件包有可能让别人跟踪你的活动,进而一路跟踪你的系统。 apt-transport-tor让你可以堵住这个安全漏洞,它通过Tor来输软件包管理指令。 2. cron-apt 如果你注重安全,或者只想要最新软件包,cron-apt可以帮助你确保版本最新。顾名思义,cron-apt可以为你的系统调度定期下载,并通知可用更新版。用户往往每天更新一次。 然而要注意:cron-apt下载但不安装更新的软件包。这个限制是有意设置的,因为在无人照看的情况下安装一切会导致系统问题。检查什么更新版可用后,你可以手...阅读全文

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

2016年Linux领域的十条大新闻,你关注了吗?

Mythbuntu个人软件包归档进行MythTV安装,其中将继续包含MythTV后续更新。 9. KDE迎来20岁生日 KDE已经20岁了。自它于1996年10月公布以来,KDE的设计目标就非常明确——并非为Unix系统或者系统管理员创建一套GUI,而是为最终用户创建GUI,例如帮助用户浏览网页、编写邮件或者玩游戏。 10. Linux内核bug威胁14亿台Android设备 很明显,Linux内核中的问题同样会给Android造成影响。因此,今年被发现的3.6版本内核输控制协议bug已经影响到约八成Android设备,即14亿台左右。尽管这个bug并非最为严重的Android安全bug,但仍将导致众多相关设备在接入互联网时遭遇入侵风险。尽管如此,研究人员表示任何稍微具备技术知识的用户都能够轻松解决这一漏...阅读全文

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

漫画赏析:Linux 内核到底长啥样

。 pipeline 在图片的中部,有两个小企鹅扛着管道(PipeLine)在行走,一只小企鹅可以把自己手上的东西通过这个管道,递给后面的小企鹅。不过怎么看起来前面这种(男?)企鹅累得满头大汗,而后面那只(女?)企鹅似乎游刃有余——喂喂,前面那个,裤子快掉了~ Wine 在这一层还有另外的一个小企鹅,它手上拿着一杯红酒,身上写着 411,看起来有点不胜酒力。它就是红酒(Wine)小企鹅,它可以干(执行)一些来自 Windows 的任务。 跃层 在一层之上,还有一个跃层,这里有很多不同的屏幕,每个屏幕上写着 TTY(这就是对外的终端)。比如说最左边 tty4 上输入了“fre”——这是想输入“freshmeat...”么 :d ;它旁边的 tty2 和 tty3 就正常多了,看起来是比较正常的命令;tty7...阅读全文

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

RabbitMQ 高可用实现镜像队列

queuerabbitmqctl cancel_sync_queue name #取消某个queue的同步功能以上针对消息同步的命令,均可以通过监控界面来进行操作,最终也是通过这些操作命令执行。 说明:镜像队列不是负载均衡,镜像队列无法提升消息的输效率,或者更进一步说,由于镜像队列会在不同节点之间进行同步,会消耗消息的输效率。 对exclusive队列设置镜像并不会有任何作用,因为exclusive队列是连接独占的,当连接断开,队列自动删除。所以实际上这两个参数对exclusive队列没有意义。那么有哪些队列是exclusive呢?一般来说,发布订阅队列及设置了该参数的队列都是exclusive 排他性队列。 如何确定一个队列是不是排他性队列呢? 如果队列的features包含Excl,就代表它是排他性队列。 镜像队...阅读全文

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

“Debian 章程有毒” - OSCHINA

,谁才是 Debian 中的权威呢? 在 Debian 社区中只有两种官方角色:Debian 开发者(DD)和 Debian 维护人员(DM)。DD 由 Debian 章程所定义,而 Debian 维护人员则是在2007年的总决议中才做的定义。 其中,DM 是一个没有多少权限的角色,他们只能为那些在 Maintainer 或 Uploaders 字段里包含他们的名字、并已经被 DD 指定了 DM-Upload-Allowed: yes 标记(意思为允许 DM 上)的包执行上的工作,除此之外他们没有别的权利,而他们访问 Debian 资源的权限也十分有限。 在 Debian 章程的定义中,Debian 开发者(DD)的主要职能是提交代码以及维护自己负责的包。他们具有进入 Debian 服务器...阅读全文

博文 2021-12-06 13:55:33 中文开源技术交流社区

分布式运行时 Dapr 知多少

,但不完全是。比如nodeapp暴露了一个API:http://10.0.0.2:8000/neworder,按照统的方式,直接HTTP POST这个API访问就得了,但在Dapr中,其提供了服务间方法调用的接口规范,需要按照POST/GET/PUT/DELETE http://localhost:/v1.0/invoke//method/的格式进行访问。那假设pythonapp需要访问nodeapp的方法,就需要POST一个请求到http://localhost:3500/v1.0/invoke/nodeapp/method/neworder。你可能会想为何多此一举呢?此举的意义何在呢?目的很简单,就是为了实现对服务间网络通信的控...阅读全文

21款必不可少的Ubuntu桌面应用程序

阻止器 这款应用程序对我来说不可或缺。我的密码很长,每当我离开Ubuntu电脑一段时间,Ubuntu锁屏就会锁住屏幕。 但有时正当我起劲地在BuzzFeed上读一篇长文或者观看YouTube视频时,它也会锁住屏幕。这种情况下,我不想锁屏来干扰我,此时可以使用caffeine。 Caffeine提供了一种快速抑制(阻止)屏幕保护程序或锁屏的方法。只要你在需要它时启用它,不需要它时禁用它! 7. KdenLive视频编辑器 你需要在上到YouTube之前修饰一个视频片段?想为长长的视频播客增添漂亮的转场和炫酷的效果?那么,你应该使用Kdenlive。 Kdenlive是一款非线性视频编辑器,它很出色:用起来不仅很容易,还很可靠(其他Linux视频编辑器容易崩溃)。 替代方案:Flowblade...阅读全文

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

译:零信任对 Kubernetes 意味着什么

“sidecar”概念,其中平台容器(译者注:此处指 sidecar 代理容器)可以在部署时以后期绑定操作功能的形式,与应用程序容器动态注入到一起,。服务网格使用这种 sidecar 方法在运行时将代理添加到应用程序 pod 中,并连接这些代理以处理所有入和出流量。这允许服务网格以与应用程序代码解耦的方式交付功能。应用程序和平台之间的关注点分离是服务网格主张的核心价值:当然,这些功能可以直接在应用程序中实现,但是通过解耦,我们允许安全团队和开发人员相互独立地迭代,同时仍然努力实现安全但功能齐全的应用程序的共同目标。由于服务网格处理进出应用程序之间的默认网络,因此它可以很好地处理零信任问题:工作负载身份可以从 Kubernetes 中的 pod 身份而不是其 IP 地址中获取。可以通过在双向 TLS 中...阅读全文

Debian 9 使用kubeadm创建 k8s 集群(下)

: yes become_user: sammy shell: kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml >> pod_network_setup.txt args: chdir: $HOME creates: pod_network_setup.txt 这是这个戏剧的细分: 第一个任务是通过运行kubeadm init初始化集群。 递参数--pod-network-cidr=10.244.0.0/16指定将从中分配pod IP的私有子网。 法兰绒默认使用上述子网...阅读全文

博文 2019-05-13 22:57:41 debian.cn

Cortex: 高可用和水平扩展Prometheus监控系统

询时必须提供相同的值。在下面的例子中,这个headers是使用nginx反向代理设置的。架构图Cortex架构(源)Nginx/gateway–一个位于cortex前面的反向代理,将收到的所有请求转发给相应的服务。分发服务器Distributor–处理入的指标,将其拆分为多个批次,然后将其递给Ingesters。如果复制因子replication factor设置为> 1,则数据将发送到多个实例。接收器Ingester–此服务负责将数据写入已配置的存储后端。Ingester是半状态的,因为它们保留了最后12个小时的样本。这些样本将被批处理并压缩,然后再写入块存储。查询前端Query Frontend–一个可选组件,用于对查询请求进行排队,并在失败时重试它们。结果也被缓存以提高性能查询器...阅读全文

博文 2021-10-09 17:00:22 知乎

OpenAI掌门人Sam Altman:AI的下一个发展阶段_OneFlow

不够了解自己,不清楚什么类型的技能最难、最需要调动大脑,或者错估计了控制身体的难度。 Reid Hoffman:除了AI的应用潜力之外,目前大家对AI的讨论有没有轻率的一面,比如将AI用于核聚变研究? Sam Altman:通常而言,如果某个行业获得非常广泛的社会关注,所有人都在谈论它,这可能不是什么好事,可惜这恰恰是AI行业目前的情况,我不希望这是AI行业“垮掉”的前兆。 业内有人正在研究利用强化学习模型控制核聚变反应,但据我们所知,AI模型在这里发挥的作用还非常有限。 我们现在进入了“AI+”时代,相信AI在未来可以实现很多东西,会成为最大的新一代技术平台。但就目前而言,我们倾向于往更有确定性的方向发展,比如,业内研究出了缩放定律(Scaling Law,该定律揭示AI模型性能与模型参...阅读全文

博文 2023-02-04 15:55:11 CSDN博客

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博客

Go 语言的大版本更新:Go 2.0 安排上了

提案包括更好的错处理和泛型,而它们的草案已在今年的 GopherCon 大会上发布,等待更多的探索发展。至于剩余的提案,官方提到,他们不希望过度影响数百万 Go 开发者以及现在的 Go 代码,更不想冒着分裂生态系统的风险去改版 Go 2,因此 Go 2 无法做出太多变更,每一个变更都需要仔细选择。为此,这些提案都将使用新的提案评估流程来决定去留与发展。 提案评估流程 提案评估流程旨在收集对少数选定提案的反馈意见,以作出最终决定。这个过程或多或少会与发布周期并行进行,包括以下步骤: 提案选择:Go 开发团队选择少量看起来值得考虑接受的 Go 2 提案,但尚未做出最终决定。 提案反馈:Go 开发团队将发布一份列出所选提案的公告,公告会向社区解释提案的初衷并收集反馈意见。在这个步骤中,社区可提出...阅读全文

Debian Live 项目的剧变

一个一直不为人所知的计划。从 Banumann 的角度来说,他当然不是完美的,他因为上个不合适的 syslinux 包导致了 wheezy 的延迟发布,并且从那以后他被从 Debian 开发者暂时降级为 Debian 维护者。但是这不意味着他应该受到这种对待。当然,这个项目还有其他人参与,所以不仅仅是 Baumann 受到了影响。 Ben Armstrong 是其他参与者中的一位,在这个事件中,他很圆滑地处理了一些事,并且想从这个事件中全身而退。他从一封邮件13开始,这个邮件是为了庆祝这个项目,以及他和他的团队在过去几年取得的成果。正如他所说, Debian Live 的下游项目列表是很令人振奋的。在另一封邮件中,他也指出了这个项目不是没有生命力的: 如果 Debian CD 开发团队通过...阅读全文

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

Intel 为啥要给 ARM 代工

ARM V8 指令集授权给 APM、Cavium、AMD、高通、华为、国防科大、华芯通等诸多 IC 设计公司开发 ARM 服务器 CPU,APM 开发出了 ARM 服务器 CPU,采用该芯片的服务器已经在数据中心、互联网服务器等领域有了批量的应用。华为也开发了一款 32 核 A57 的服务器芯片,该项目为核高基项目,而且根据公开资料,下一步将在特殊领域得以推广。国防科大也开发了 FT2000,就 SPEC2006 测试成绩来看,FT2000 的多线程性能已经能与 Intel Xeon E5-2695v3 芯片相媲美。而面对咄咄逼人的 ARM 服务器 CPU,Intel 也专门开发了至强 D 系列低功耗服务器 CPU 来应对。 因此,在这种 ARM 与 X86 互相侵蚀对方统优势领域的情况下,想...阅读全文

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

隐私声明

法院、政府等执法机构或法律法规的要求向其披露用户信息。 保护本网站和其他方利益。我们可能会为了保护本网站,本网站员工和用户、本网站合作伙伴和其他公众的合法权利、利益和安全而披露用户信息。 第三方合作伙伴。如果您通过我们的网站申请参加线上或线下优惠等活动,您的个人信息可能会提供给相关第三方以便及时沟通和参加线下活动。 我们承诺尽力保护您的个人信息,我们使用各种制度、安全技术和程序等措施来保护您的个人信息不被未经授权的访问、使用或泄露。但是请理解数据的输和存储不存在100%的安全,因此我们不能向您绝对保证上述个人信息的安全性。 4. 您的选择 您可以选择浏览和使用本网站的信息而不提供您的个人信息,但是如上所述,某些信息可能会被自动收集。同时,本网站的特定信息和服务仅在您提供相...阅读全文

如何在 Debian 下配置邮件服务器

## mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.10.0/24 ## mailbox size in bytes. 0 denotes no limit ## mailbox_size_limit = 0 ## postfix will listen on all available interfaces i.e. eth0, eth1, eth2 and so on ## inet_interfaces = all transport 邮件域example.tst被定义为在本地递不需要任何DNS查询。 root@mail:/etc/postfix# vim transport example.tst local...阅读全文

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

树莓派 9 周年:你不知道的树莓派冷知识

属于与 Arduino 相同的类别,适合用于嵌入式设备或物联网设备的开发,例如控制电动机、灯光和感器,并在打开电源后立即运行程序,而无需启动,也无需担心在不安全关闭的情况下拔下插头会丢失数据。4. 最受欢迎的树莓派Raspberry Pi 3 B 是有史以来最畅销的树莓派机型,目前已累计售出 1320 万台。 而在目前流行的各种 Raspberry Pi 4 B RAM 版本中,4 GB 型号的销量最高,大约是 8 GB 和 2 GB 出货量的两倍。 值得一提的是,Raspberry Pi Pico 虽然仅上市了几周,但已经售出了 250,000 台,此外还有750,000 台处于待售状态。受疫情等因素影响,2020 年是树莓派产品销量最高的一年,总共售出 710 万台不同型号的树莓派设备...阅读全文

博文 2021-03-11 17:03:55 diablo4

基于thanos搭建分布式prometheus

sidecar和prometheus则走原生HTTP接口拿数据。 为了高可用,我们可以部署多个prometheus同时抓取。 为了打散采集/存储压力,我们可以部署多个prometheus各自抓取部分数据。 无论出于上述哪种目标或者混合目标,最终依靠Querier的正确配置都可以提供统一的Promql查询入口给Grafana,这一点是毋庸置疑的。 这里看到了图中有几个陌生的组件: Store Bucket Compactor Prometheus单机存储空间有限,SideCar和Prometheus在同POD内共享数据volume,然后sidecar可以自动将prometheus磁盘数据上到Bucket里归档存储;后续Querier可以通过Store组件从Bucket拉取到历史数据,这样就实现了历史数据...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

聊聊很重要的内核技术eBPF

或bpftrace等项目间接使用eBPF,这些项目在eBPF之上提供了抽象,并且不需要直接编写程序,而是提供了指定基于意图的定义的功能,然后使用eBPF实施。 如果不存在更高级别的抽象,则需要直接编写程序。 Linux内核希望eBPF程序以字节码的形式加载。虽然当然可以直接编写字节码,但更常见的开发实践是利用LLVM之类的编译器套件将伪C代码编译为eBPF字节码。 在编写eBPF程序之前,需要简单了解几个概念。 1)map(映射) :BPF最令人着迷的方面之一是,内核上运行的代码和加载了该代码的程序可以在运行时使用消息递相互通信。 BPF映射是驻留在内核中的键/值存储。任何BPF程序都可以访问它们。在用户态中运行的程序也可以使用文件描述符访问这些映射。只要事先正确指定数据大小,就可以在映射...阅读全文

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

Kafka 3.0新特性全面曝光,真香!

,然后吃的喝的用的穿的都一样,你自然很难分辨。其中最重要的就是一定要注意中间的相同输入过程,各个不同节点要以相同且确定性的函数来处理输入,而不要引入一个不确定的值。使用replicated log来实现每个节点都顺序的写入客户端请求,然后顺序的处理客户端请求,最终就一定能够达到最终一致性。状态机安全性保证:在安全性方面,KRaft与统Raft的选举安全性、领导者只追加、日志匹配和领导者完全性保证都是几乎相同的。下面只简单看看状态机安全性是如何保证的,仍然举论文中的极端例子:在时刻a,节点S1是Leader,epoch=2的日志只复制给了S2就崩溃了。在时刻b,S5被选举为Leader,epoch=3的日志还没来得及复制,也崩溃了。在时刻c,S1又被选举为Leader,继续复制日志,将...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

Debian 相比 Ubuntu 有哪些不同之处

非常易于使用。如果你的工作习惯与这些概念不一致,可能会强烈反对Ubuntu易于使用这一观点。 然而,虽然Ubuntu源自Debian,但两者的区别还是很明显。从安装和桌面,到程序包管理及社区,大家认为自己对于Ubuntu和Debian了解的情况可能是错的,或者至少需要作一些严格限制――这一切使选择哪个发行版适合贵公司的业务战略显得非常困难。 安装方面的区别 眼下,你可以使用哪个发行版取决于拥有的硬件。Debian目前面向大约13种硬件架构:从标准的32位和64位英特尔架构到ARM和PowerPC架构,还支持另外两种正在开发的架构。相比之下,Ubuntu支持32位和64位版本这两大不同的计算机桌面环境,现正在为移动设备开发Ubuntu ARM版本。 要考虑的另一个方面是面向每个发行版的安装程...阅读全文

博文 2017-12-22 23:41:07 debian.cn

一位五年工作经验架构师的感悟

,生存不易,这些经历同样丰富了我,内心也变得越来越强大。这些年影响我最大的一些思想有: 1、不要给自己设限:不在把自己禁锢在舒适区,不要怕前面有挡着你的人 2、缩小自己的反馈环: 3、不断以小的正能量,不断积累成就感。 4、不要怕做决定:错的决定,比没有决定好。 渐渐地,我从不说的人,变成了比较能说的人,能说可能还不是会说。会说更考验技巧,情商。 渐渐地,周围的人又说我是段子手。 渐渐地,变成了一个经常黑人的人。哈哈。 不断去思考,总结,提炼做事模式,思考方式,这些方式可以指导你持续成功。 视野,越大,收获越多,站在全局去看问题,这也是一个架构师需要的。 所以,保持开放心态,视野决定格局,格局改变命运。 写在最后 如果大家能看到最后,首先谢谢。 有的人要骂:标题就是唬人的,一点都没有讲技术...阅读全文

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

三个技巧 大幅减少 Docker 镜像体积

在构建 Docker 容器时,应该尽量想办法获得体积更小的镜像,因为输和部署体积较小的镜像速度更快。但 RUN 语句总是会创建一个新层,而且在生成镜像之前还需要使用很多中间文件,在这种情况下,该如何获得体积更小的镜像呢? 你可能已经注意到了,大多数 Dockerfiles 都使用了一些奇怪的技巧: FROM ubuntu RUN apt-get update && apt-get install vim 为什么使用&&?而不是使用两个 RUN 语句代替呢?比如: FROM ubuntu RUN apt-get update RUN apt-get install vim 从 Docker 1.10 开始,COPY、ADD 和 RUN 语句会向镜像中添加新层。前面的示例创建了两个层而不是一...阅读全文

博文 2018-09-06 10:50:29 debian.cn

Gitlab CI 配置文件 .gitlab

only no 定义一列git分支,并为其创建job except no 定义一列git分支,不创建job tags no 定义一列tags,用来指定选择哪个Runner(同时Runner也要设置tags) allow_failure no 允许job失败。失败的job不影响commit状态 when no 定义何时开始job。可以是on_success,on_failure,always或者manual dependencies no 定义job依赖关系,这样他们就可以互相递artifacts cache no 定义应在后续运行之间缓存的文件列表 before_script no 重写一组在作业前执行的命令 after_script no 重写一组在作业后执行的命令 environment...阅读全文

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

Docker 核心原理

destination RETURN all -- anywhere anywhere DNAT tcp -- anywhere anywhere tcp dpt:8888 to:172.17.0.4:8888 外部请求访问访问地址为 宿主机ip:8888,网络包到达 eth0; 命中 iptables dnat 规则,把宿主机ip:8888 替换成 容器ip:8888; 宿主机把报文通过 veth pair 递到容器 eth0 其他网络模式 Host 模式 和宿主机共用一个 Network Namespace。容器将不会虚拟出自己的网卡,配置自己的 IP 等,而是使用宿主机的 IP 和端口。但是,容器的其他方面,如文件系统、进程列表等还是和宿主机隔离的 Contanier 模式 这个模式指定新创建的容器和已...阅读全文

博文 2021-02-25 09:14:23 lxkaka

Debian 9 使用kubeadm创建 k8s 集群(上)

(Kubernetes中的节点指服务器)负责管理集群的状态。 它运行Etcd ,它在将工作负载调度到工作节点的组件之间存储集群数据。 两个工人节点 工作节点是运行工作负载 (即容器化应用程序和服务)的服务器。 一旦工作人员分配了工作负载,工作人员将继续运行您的工作负载,即使主计划在调度完成后停止工作也是如此。 通过添加工作人员可以增加群集的容量。 完成本指南后,如果群集中的服务器具有足够的CPU和RAM资源供应用程序使用,您将拥有一个可以运行容器化应用程序的集群。 几乎任何统的Unix应用程序(包括Web应用程序,数据库,守护程序和命令行工具)都可以进行容器化,并在集群上运行。 群集本身将在每个节点上消耗大约300-500MB的内存和10%的CPU。 设置群集后,您将向其部署Web服务器Nginx ,以确保它...阅读全文

博文 2019-05-13 22:47:39 debian.cn

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

Serverless 这个概念可以对应 FaaS,也可以代表一种架构,也可以代表一种服务的形态,例如 Aurora Serverless 就是把一个数据库的服务变成 Serverless 的。 容器和 Serverless 的区别在于,Serverless 是无容器的,除了不关注服务器,也看不到容器。两者是面向不同场景的,并不是互相替代的关系。FaaS 的特点,接收一个请求拉起一个函数执行,函数是无状态的,它的执行地点也不固定,这意味着延时相对于常驻进程要高,对一些延时敏感的地方它是不合适的,但是有些场景是非常合适的。我举个例子,在 IoT 场景中,有几十万的设备,为了节省电源,它们大部分时候处于睡眠状态,如果用统的架构去为这几十万设备服务的话,肯定要考虑并发连接的时候,应该有多少计算资源去服务,这很浪费成...阅读全文

博文 2019-06-14 08:28:49 debian.cn

Apache Kafka发布 3.0 正式版

processing.guarantee性质。展望未来,该名称exactly_once_beta也已弃用并替换为新名称exactly_once_v2。在下一个主要版本 (4.0) 中,exactly_once和exactly_once_beta都将被删除,exactly_once_v2作为 EOS 交付保证的唯一选项。KIP-725:优化 WindowedSerializer 和 WindowedDeserializer 的配置配置属性default.windowed.key.serde.inner和default.windowed.value.serde.inner已弃用,取而代之的是windowed.inner.class.serde供消费者客户端使用的单个新属性。建议 Kafka Streams 用户通过将其递到...阅读全文

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

深入了解Docker背后的namespace技术

", strerror(errno)); exit(EXIT_FAILURE); } // lets wait on our child process here before we, the parent, exits if (waitpid(pid, NULL, 0) == -1) { fprintf(stderr, "failed to wait pid %d\n", pid); exit(EXIT_FAILURE); } exit(EXIT_SUCCESS); } 这是个小的C程序,可以让你执行./a.out ip a。它把你通过命令行入的参数,作为任何你想使用的进程的参数。不用担心具体实施太多,因为我们将要做的事情将要发生有趣的变化。它将会用任何你想要的参数执行你希望的程序。这意味着如果你想执行下面...阅读全文

博文 2015-05-17 10:03:00 debian.cn

Web前端知识体系精简

this this 存在于函数中,它指向的是该函数在运行时被调用的那个对象。在实际项目中,遇到this的坑比较多,因此需要对this作深入的理解。 Function对象还提供了call、apply和bind等方法来改变函数的this指向,其中call和apply主动执行函数,bind一般在事件回调中使用,而call和apply的区别只是参数的递方式不同。关于call,apply和bind的用户请参考博客:详解JS的call,apply和bind 4、构造函数 new JS中的函数即可以是构造函数又可以当作普通函数来调用,当使用new来创建对象时,对应的函数就是构造函数,通过对象来调用时就是普通函数。 普通函数的创建有:显式声明、匿名定义、new Function() 等三种方式。 当通过new来...阅读全文

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