Debian 爱好者社区 为您找到相关结果 731

Apollo 分布式配置中心详解

本发布管理 所有的配置发布都有本概念,从而可以方便地支持配置的回滚。 灰度发布 支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一段时间没问题后再推给所有应用实例。 权限管理、发布审核、操作审计 应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和发布两个环节,从而减少人为的错误。所有的操作都有审计日志,可以方便的追踪问题。 客户端配置信息监控 可以在界面上方便地看到配置在被哪些实例使用。 部署简单 配置中心作为基础服务,可用性要求非常高,这就要求 Apollo 对外部依赖尽可能地少,目前唯一的外部依赖是 MySQL,所以部署简单,只要安装好 Java 和 MySQL 就可以让 Apollo 跑起来。 Apollo 配置中心适用范围 既然 Apollo 定位...阅读全文

博文 2020-04-12 12:16:26 debian.cn

为什么 Django 能持续统治 Python 开发世界

ATOM feeds 使用 Django,你可以通过创建一个简单的Python类来快速创建 RSS 和 ATOM feeds。 在数据库中自动创建表 如果你的数据库中缺失了某一个表,你可以通过执行 Django 的迁移命令来自动创建它。 容易的数据迁移 数据迁移是 Django 中最有用的功能之一。通过使用 Django 的迁移方法,你可以在短时间内改变一个数据库模式。同样也容易就能跟踪你的数据库模式和相关的改变。为数据迁移所做的命名能够帮助你进行本控制,还有很多选项可以用来合并本和进行修改。 安全性 Django非常安全,该框架默认情况下可以防止 XSS 攻击、CSRF 攻击,SQL 语句注入、点击劫持、用户管理、cookies、邮件标头注入、密码攻击、目录遍历攻击等等。 Django有一个...阅读全文

博文 2017-07-21 14:15:11 debian.cn

HTML 5.1 — 14 项新增特性及使用案例

HTML5 属于万维网联盟 (W3C), 这个组织为整个网络界提供了标准,如此形成的协议可在全世界通行。在 2016 年 11 月, W3C 对长期行使的 HTML 5 标准进行了更新,它是2年内的第一次小更新。许多最开始提出的 HTML 5.1 功能特性都因为设计上的缺陷和缺乏浏览器厂商的支持而去掉了。 尽管有一些元素和功能提升被带进了 HTML 5.1 里面, 但它仍然是一个小的更新。其中的一些新的元素包含了组合标签, 现在这样的元素包括有

,
, 以及, 这样就为开发者提供了更多表达创意和内容的空间。 W3C 以及开始着手发展 HTML 5.2 草案,有望于 2017 年底发布。而我们在这里所要呈现的是在本...阅读全文

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

RabbitMQ 高可用实现镜像队列

:A,B同时停 该场景下可能是由掉电等原因造成,只需在30s内联系启动A和B即可恢复镜像队列。 场景3:A先停,B后停,且A无法恢复。 因为B是master,所以等B起来后,在B节点上调用rabbitmqctl forget_cluster_node A以接触A的cluster关系,再将新的slave节点加入B即可重新恢复镜像队列。 场景4:A先停,B后停,且B无法恢复 该场景比较难处理,旧本的RabbitMQ没有有效的解决办法,在现在的本中,因为B是master,所以直接启动A是不行的,当A无法启动时,也就没本在A节点上调用rabbitmqctl forget_cluster_node B了,新本中forget_cluster_node支持-offline参数,offline参数允许...阅读全文

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

Monit:开源服务器监控工具

Monit是一个跨平台的用来监控Unix/linux系统(比如Linux、BSD、OSX、Solaris)的工具。Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不依赖任何第三方程序、插件或者库。 Monit可以监控服务器进程状态、HTTP/TCP状态码、服务器资源变化、文件系统变动等等,根据这些变化,可以设定邮件报警、重启进程或服务。易于安装、轻量级的实现以及强大的功能,让Monit成为一个理想的后备监控工具。 官网:https://mmonit.com/monit文档:https://mmonit.com/monit/documentation/monit.html最新本:https://mmonit.com/monit/dist/monit-5.20.0...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

Kubernetes源码探疑:Pod IP泄露排查及解决方法

对于云主机与云主机之间,只有轻微差异(小包场景下,pps 会有 3~5% 损耗),而且Pod网络性能各项指标(吞吐量,包量,延迟等)不会随着节点规模增大而削减。而Flannel UDP,VXLan模式和Calico IPIP的模式存在明显的性能消耗。Pod能直通公有云和物理云。对于使用公有云和物理云的用户而言,务上K8S少了一层障碍,多了一份便利。而Flannel的host gw模式下,容器无法访问公有云和物理云主机。 而CNI的工作流程如下所示。 创建Pod网络过程: 删除Pod网络过程: Pod IP 消失问题的排查与解决 为了测试CNI插件的稳定性,测试同学在UK8S上部署了一个CronJob,每分钟运行一个Job任务,一天要运行1440个任务。该CronJob定义如下...阅读全文

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

高可用性。使Prometheus高可用的一种方式是运行多个实例去scraping相同的作。这些实例在抓取指标时会因微小的时间间隔差异而在数据中产生细微差异。此外,如果其中一个实例宕机了几个小时,那么当查询转发到该实例时,将会出现数据空白。如果我们使用grafana这样的工具将指标展示为图形,我们可能会得到不同的样本值或有数据缺失的图形。可以将Cortex配置为从多个HA Prometheus实例读取数据。它从一个主实例main接受指标,并从其他实例放弃该度量。一旦这个副本掉线,Cortex会无缝切换到另一副本并将其标记为主副本main。为此,Cortex着眼于两个标签,一个共同的标签与一个集群(或一组Prometheus)相关联,另一个识别副本。全局指标视图可以将Prometheus实例配...阅读全文

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

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

(milliseconds),即1/1000秒; s: 秒(seconds); m: 分钟(minutes); h:小时(hours); d: 天(days); 2.3 全局配置 * 进程管理及安全相关的参数 – chroot :修改haproxy的工作目录至指定的目录并在放弃权限之前执行chroot()操作,可以提升haproxy的安全级别,不过需要注意的是要确保指定的目录为空目录且任何用户均不能有写权限; – daemon:让haproxy以守护进程的方式工作于后台,其等同于“-D”选项的功能,当然,也可以在命令行中以“-db”选项将其禁用; – gid :以指定的GID运行haproxy,建议使用用于运行haproxy的GID,以免因权限问题带来风险; – group...阅读全文

博文 2014-05-10 17:14:46 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

高性能日志采集工具 logpipe 简单介绍

在集群化环境里,日志采集是重要基础设施。本文结合最新的 1.0.9 ,对 logpipe 做一个简单的介绍。开源主流解决方案是基于 flume-ng,但在实际使用中发现 flume-ng 存在诸多问题。 比如 flume-ng 的 spoolDir 采集器只能对文件名转档后的大小不能变化的最终日志文件进行采集,不能满足采集时效性要求,如果要采集正在被不断追加的日志文件,只能用 exec 采集器搭配 tail -F 命令,但 tail -F 命令又不能通配目标目录中将来新增的未知文件名。其它解决方案如 logstash 由于是 JAVA 开发,内存占用和性能都不能达到最优。 作为一个日志采集的本地代理,内存占用应该小而受控,性能应该高效,耗费 CPU 低对应用影响尽可能小,要能异步实时追踪...阅读全文

内网穿透利器frp部署配置指南

台的frp服务端frps和客户端frpc可执行文件。 这里下载的0.29本。 服务端: 1 2 3 4 5 6 wget https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz tar -zxvf frp_0.29.0_linux_amd64.tar.gz cd frp_0.29.0_linux_amd64 mkdir /usr/local/frp cp frps /usr/local/frp cp frps.ini /usr/local/frp 2. 配置启动服务端frps 编写frps的Systemd配置文件/etc/systemd/system...阅读全文

博文 2021-02-18 14:42:16 青蛙小白

系统解析JDK源码,领略大牛设计思想,JAVA面试必备

系统解析JDK源码,领略大牛设计思想,JAVA面试必备 download:https://www.51xuebc.com/thread-555-1-1.html Vue3实战商城后台管理系统开发示例 Vue是一款流行的JavaScript框架,它可以帮助我们快速构建高效、可维护、易用的Web应用程序。在本文中,我们将介绍如何使用Vue3来开发一个商城后台管理系统。 技术栈选型 在开始开发之前,我们需要选择合适的技术栈。以下是我们所采用的技术: Vue.js 3:Vue.js 3是Vue框架最新本,它具有更好的性能、更好的TypeScript支持、更好的响应式系统等特点,可以提高开发效率和应用性能。 Element Plus:Element Plus是一套基于Vue3的UI组件库,提供了丰...阅读全文

博文 2023-05-27 12:50:27 bianchengyuan123

Redis 6 将采用全新协议RESP3 提供客户端缓存功能

缓存功能,保证存储在客户端内存的数据,在收到来自服务器的失效通知时才失效。 另外,当客户端和服务器的连接中断时,客户端无法接收到数据失效通知,这可能会导致服务出现问题。针对这种情况,一般的做法是重新建立客户端和服务器之间的连接,并更新客户端当前的缓存。antirez 表示可以一直保持连接是最好的情况,但为了降低风险,Redis 服务器在与客户端断开连接时,会将失效通知发送给其他客户端。 这项名为”Client side caching” 的功能尚未正式确定名字,最后可能会被成为”Tracking”。Redis 作者还表示在 Redis 6 候选发布之前,这些功能都会进行调整,希望社区能积极反馈意见。 由于 Client side caching 功能需要使用 RESP3 协议来支持实现...阅读全文

下一代时间同步服务 Chrony 详解

Chrony 是一个多功能的 NTP (Network Time Protocol) 实现,类 Unix 系统上 NTP 客户端和服务器的替代品。它可以通过 NTP 服务或者类似 GPS 时钟接收器的硬件级参考时钟来同步系统时钟,具有更好的时钟准确度,并且对于那些间歇性互联网连接的系统很有帮助。Chrony 是免费开源的,并且支持 GNU/Linux 和 BSD 衍生、Solaris 等。 Chrony 有两个核心程序:一个是 chronyd 守护进程,主要用于调整内核中运行的系统时间和时间服务器同步。它确定计算机增减时间的比率,并对此进行调整补偿。另一个是 chronyc,它提供一个用户界面,用于监控性能并进行多样化的配置。chronyc 可以在 chronyd 实例控制的计算机上工作...阅读全文

博文 2021-01-04 08:41:14 debian.cn

Debian 向左:或将迎来根本性改革 - OSCHINA

开源社区是个独特的存在。它虽然结构松散但却又切实有效,为社会提供便利好用的产品却不以利益为目的,将志趣相同的人们聚集在一起但又完整地保存了每一个个体的独特性...... 这些开源社区就像是一场场风格迥异的社会实验。 其中,Debian 社区是一个典型代表。作为 Linux 最早的发行本之一,诞生于1993年的 Debian 可以算是开源社区中的“活化石”。这也令 Debian 在机制、行事和文化等方面都体现出了一定的“古典”特质。 最近,Debian 社区正在酝酿一件大事 —— 改革自己的决策机制。一直以来,Debian 的决策机制都饱受诟病,不少优秀的开发者因此离开,这样的变革或许不可避免。 01 离开 “长久以来,Debian 都难以作出改变。” 2014年的时候,Joey Hess...阅读全文

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

Rust 1.37.0 稳定版发布

。 cargo vendor 已经在生产中使用过很多种情况:Rust 编译器 rustc 使用它在发行 tarball 中传递它的所有依赖项,而具有 Monorepos 的项目使用它在源代码管理中提交依赖项的代码。 对宏使用未命名的 const 现在可以创建未命名的 const。相比给常量一个显式的名称,只需将其命名为 _ 。例如,在 rustc 编译器中: /// Type size assertion where the first parameter /// is a type and the second is the expected size. [macro_export] macro_rules! static_assert_size { ($ty:ty, $size:expr...阅读全文

博文 2019-08-17 21:17:23 debian.cn

如何在 Debian 中安装 DHCP 服务器

果你正在使用基于 Fedora 的发行,请阅读如何在 CentOS/RHEL 中设置 DHCP 服务器。 作者简介: Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux SysAdmin 和 web 开发人员,目前是 TecMint 的内容创建者,他喜欢用电脑工作,并坚信分享知识。 DHCP 如何工作? 目录...阅读全文

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

Linux 中使用 Fio 测评硬盘性能

Linux 、FreeBSD 、NetBSD、 OpenBSD、 OS X、 OpenSolaris、 AIX、 HP-UX、 Android 以及 Windows。在这个教程,我们将使用 Ubuntu 16 ,你需要拥有这台电脑的 sudo 或 root 权限。我们将完整的进行安装和 Fio 的使用。 在 Debian 系统安装 Fio 对于 Debian 来说, Fio 已经在主仓库内。我们可以很容易的使用 apt-get 的包管理器安装。你只需要简单的执行下述命令: sudo apt-get install fio 当然,你可以可以使用源代码,自己编译安装最新的本。我们需要从 GitHub 上克隆最新的代码,安装所需的依赖,然后从源码构建应用。首先,确保我们安装了 Git , sudo...阅读全文

博文 2018-08-15 19:18:24 debian.cn

C++ 夺冠!成为 TIOBE 2022 年度编程语言

。因为当时还没有可用的 C++ 编译器来支持新的语言定义,这个新标准的采用与普及经历了几年时间的迭代。正因此,由于 C++11 的出现,C++ 在 TIOBE 榜单中的地位在 2001 年以来不断下降之后,慢慢走上了正轨。 第二个重大变化当然要属 C++20 的出现,其引入了模块、概念(Concepts)等功能。目前 C++20 本的使用还正在逐渐上升,未来几年,这也 可能会驱动其在 TIOBE 榜单的地位。」 整体而言,在 2022 年,C++ 因为涨幅最大,为 4.62%,从而成为 TIOBE 2022 年度编程语言魁首。亚军是增幅 3.82% 的 C 语言,季军是 Python(增幅 2.78%)。 另外,在 Top 20 榜单中,开发 iOS、MacOS 等苹果平台应用常用的...阅读全文

博文 2023-01-10 06:42:12 CSDN博客

在树莓派上搭建 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

谷歌开源了代码评审规范:好坏代码应这样来判断

表的不同部分,都会有不同的评审者进行细致的审查。当然如果是结对编程,且你的队友能进行高质量的代码评审,那么这样写的代码一般可以视为已经过评审了。此外,我们也可以进行面对面的评审,评审者会问开发者一些问题。 根据谷歌的项目描述,代码审核规范为两套独立文档组成,代表了两方面内容的最佳实践: 代码评审者的指南CL 作者指南 在其中一些文档中使用了一些术语,如下: CL:表示“变更列表 (changelist)”,意思是已经提交到本控制或正在进行代码检查的一个独立的更改。其他组织通常称为“改变”或“补丁”LGTM:意思是“在我看来不错 (Looks Good to Me)”,这是代码审阅者在批准 CL 时说的 接下来我们来看看两份文档分别的主要内容是什么: 1. 代码评审者的指南——如何进行代码评...阅读全文

博文 2019-09-10 17:19:13 debian.cn

APISIX Ingress 如何使用 Cert Manager 管理证书

Apache APISIX Ingress Controller 是一款以 Apache APISIX 作为数据面的 Kubernetes Ingress Controller 开源工具,目前已经更新到 v1.3 本,实现了如证书管理、负载均衡、金丝雀发布等功能。 长久以来,证书管理都不是一件简单的事情,虽然 Apache APISIX Ingress Controller 支持从 Kubernetes Secrets 资源中提取证书和私钥,并转换为 Apache APISIX 可识别的 SSL 对象,但这只是整个证书管理链中的一部分,证书的颁发、轮转、吊销逻辑依然需要管理员执行,尤其当证书数量比较多时,工作量往往并不小,因而会占用管理员不少的时间。 Cert Manager 是一款致力...阅读全文

博文 2023-02-09 07:38:06 中文开源技术交流社区

深入学习golang — channel

" }() go func() { time.Sleep(time.Second * 2) c2 <- "two" }() for i := 0; i < 2; i++ { select { case msg1 := <-c1: fmt.Println("received", msg1) case msg2 := <-c2: fmt.Println("received", msg2) } } 在C中,我们一般都会传一个超时时间给select函数,go语言中的select没有该参数,相当于超时时间为0。 主要参考 https://golang.org/doc/effective_go.html 作者:YY哥 出处:http://www.cnblogs.com/hustcat/ 本文权归作者和博客园共有,欢...阅读全文

博文 2021-01-25 12:39:17 博客园

容器原理之cgroup - abin在路上

多个 cgroup。 Google 工程师在 2006 年开始提出这个特性,最早叫“process containers[1]”,为了避免造成歧义,在 2007 年改名为“control group”,在 2008 年 1 月发布的 Linux Kernel 2.6.24 合入主线分支。此后,在此基础上又增加了一系列特性,包括 kernfs(伪文件系统,用于向用户导出内核的设备模型),firewalling(基于预定义的安全规则管理网络流量)和 unified hierarchy[2]。在 Linux Kernel 4.5 本合入了 cgroup v2[3] 的实现代码。 cgroup 功能 在云原生场景下,可以通过 cgroups 限制每个容器可以使用的资源。例如,对于...阅读全文

博文 2025-03-17 20:45:47 博客园

Redis 命令、特性介绍与性能调优

MULTI和EXEC命令来把这两个命令加入一个事务中: > MULTI OK > GET vCount QUEUED > SET vCount 0 QUEUED > EXEC 1) 12384 2) OK Redis在接收到MULTI命令后便会开启一个事务,这之后的所有读写命令都会保存在队列中但并不执行,直到接收到EXEC命令后,Redis会把队列中的所有命令连续顺序执行,并以数组形式返回每个命令的返回结果。 可以使用DISCARD命令放弃当前的事务,将保存的命令队列清空。 需要注意的是,Redis事务不支持回滚: 如果一个事务中的命令出现了语法错误,大部分客户端驱动会返回错误,2.6.5本以上的Redis也会在执行EXEC时检查队列中的命令是否存在语法错误,如果存在,则会自动放弃事务并返回错误...阅读全文

博文 2018-10-27 10:37:55 debian.cn

Golang Context 探究

在用 Golang 开发过程中,我们一定能在代码里很多函数或方法都会传递 context, 也会经常遇到这样的报错 context deadline exceeded。你有想过或去探究过 context 到底是什么吗,为什么会遇到上述的报错。在这里我们就分析一下 context 是什么及用途。 首选 Golang 中的 context 值得是 context.Context 接口,Golang 在 1.7 本中引入标准库的接口。context 主要用来在 goroutine 之间传递上下文信息,包括:取消信号、截止时间、key-value 等。 Context 定义 Context 接口定义如下 1 2 3 4 5 6 7 8 9 10 type Context interface...阅读全文

博文 2021-02-25 09:27:27 lxkaka

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 知乎

从 Debian 安装 Proxmox VE,并配置网络和双硬盘

sudoer(嘛,死循环了1visudo 在文件最后加上一行1username ALL=(ALL:ALL) NOPASSWD:ALL username 是你当前的用户,你想从哪个用户免密切换到 root 在我这里是1customer ALL=(ALL:ALL) NOPASSWD:ALL visudo 命令使用的是 nano 编辑器 所以修改好了后,ctrl+x,y,回车 回到 customer 用户, sudo su,可以免密进入 root ,说明配置好了 开启 bbr因为内核本在 4.9 以上,可以直接开启 bbr。 修改系统参数12echo "net.core.default_qdisc=fq" >> /etc/sysctl.confecho "net.ipv4...阅读全文

博文 2021-03-01 20:20:31 驱蚊器喵的插座

深入了解Docker背后的namespace技术

output... none on /mytmp type tmpfs (rw,relatime) 这里去掉了一些常见的输出。 从结果中就能看出,多了一个新的tmpfs挂载点。赞!继续在当前shell下执行mount来对比下。 注意到了为何tmpfs挂载点为何没有显示出来了么?这是因为我们创建的挂载点是在我们自己的mount namespace下,不是在父namespace下。 前面我说过mount namespace和filesystem jail是不同的,继续执行我们的./mount和 ls命令,就能给出证明了。 UTS Namespace UTS namespace(UNIX Timesharing System包含了运行内核的名称、本、底层体系结构类型等信息)用于系统标识。包含了...阅读全文

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