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

Golang 操作 Kafka 样例

有更好的吞吐量,内置的分区,冗余及容错性,这让Kafka成为了一个很好的大规模消息处理应用的解决方案。消息系统 一般吞吐量相对较低,但是需要更小的端到端延时,并尝尝依赖于Kafka提供的强大的持久性保障。在这个领域,Kafka足以媲美传统消息系统,如ActiveMR或RabbitMQ 站点的用户活动追踪: 为了更好地理解用户行为,改善用户体验,将用户查看了哪个页面、点击了哪些内容等信息发送到每个数据中的Kafka集群上,并通过Hadoop进行分析、生成日常报告。 流处理:保存收集流数据,以提供之后对接的Storm或其他流式计算框架进行处理。很多用户会将那些从原始topic来的数据进行 阶段性处理,汇总,扩充或者以其他的方式转换到新的topic下再继续后面的处理。例如一个文章推荐的处理流程...阅读全文

博文 2023-01-10 13:46:09 掘金

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

能会注意到差异,特别是当你处理预编译的二进制文件(如 Node.js C++扩展)时。例如,PhantomJS 的预构建包就不能在 Alpine 上运行。 你应该选择哪个基础镜像?你应该使用 Alpine、distroless 还是原始镜像? 如果你是在生产环境中运行容器,并且更关安全性,那么可能 distroless 镜像更合适。添加到 Docker 镜像的每个二进制文件都会给整个应用程序增加一定的风险。只在容器中安装一个二进制文件可以降低总体风险。 例如,如果攻击者能够利用运行在 distroless 上的应用程序的漏洞,他们将无法在容器中使用 shell,因为那里根本就没有 shell! 请注意,OWASP 本身就建议尽量减少攻击表面。 如果你只关更小的镜像体积,那么可以考虑基于...阅读全文

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

Debian 相比 Ubuntu 有哪些不同之处

序。Ubuntu的标准安装程序被设计成主要为了要求尽量少的用户输入,以便确保安装简单、速度尽可能快。要是你遇到任何问题,可以试试专家模式安装程序,这是Debian安装程序稍稍改头换面的版本。 Debian安装程序显然有其他优先事项。比如说,其图形化版本是GUI,这有别于主要在工具包中的基于文本的安装程序:除了让害怕使用命令行的那些用户感到安外,没有任何优势可言。 相比之下,Debian之前的声誉是,只要按照在线操作说明,此外每个阶段接受默认设置,通常就可以安装Debian。然而,如果你决定亲自选择,可以在安装过程的每一步选择每个设置,这大大增加了安装所需的时间。Debian安装程序并不是迎合没有经验的用户,而是兼顾所有不同水平的用户。它不是很漂亮,但是不用编译自己的程序包,所以你不可能找到...阅读全文

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

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

-apiserver 的角度来看,它已经验证了我们的身份并且赋予了相应的权限允许我们继续,但对于 Kubernetes 而言,其他组件对于应不应该允许发生的事情还是很有意见的。所以这个请求还需要通过 Admission Controller 所控制的一个 准入控制链 的层层考验,官方标准的 “关卡” 有近十个之多,而且还能自定义扩展! 虽然授权的重点是回答用户是否有权限,但准入控制器会拦截请求以确保它符合集群的更广泛的期望和规则。它们是资源对象保存到 etcd 之前的最后一个堡垒,封装了一系列额外的检查以确保操作不会产生意外或负面结果。不同于授权和认证只关请求的用户和操作,准入控制还处理请求的内容,并且仅对创建、更新、删除或连接(如代理)等有效,而对读操作无效。 Note 准入控制器的工作方式与授权者和验证...阅读全文

博文 2022-04-18 16:18:04 CSDN

在 Kubernetes 上扩展 TensorFlow 模型

。在机器学习模型中,以分布式、可扩展的方式提供服务的能力成为保证其应用有效性的关键。 要解决分布式环境中的这些扩展性问题非常困难。在确保容错、高可用性和应用健康的同时, MLOps 工程师要配置多个节点和推理服务之间的交互。 本文中,我将讨论 Kubernetes 和 Kubeflow 如何能够满足 TensorFlow 的机器学习模型的这些扩展性需求。通过一些实际的例子,我将向你介绍如何在 Kubernetes 上使用 Kubeflow 扩展机器学习模型。 首先,我将讨论如何使用 TensorFlow training jobs(TensorFlow 训练作业,TFJobs)抽象,通过 Kubeflow 在 Kubernetes 上协调 TensorFlow 模型的分布式训练。然后,我将介...阅读全文

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

) FreeBSD的Ceph的第一个版本可用。通过常规FreeBSD端口和软件包发布系统,最新可用版本:net/ceph-devel。 在 Jewel(v10.2.z)版本上进行的重要修改 RADOS 现在默认为AsyncMessenger (ms type = async)的传统SimpleMessenger。最明显的区别是 我们现在使用固定大小的线程池进行网络连接(而不是使用SimpleMessenger,一个socket两个线程)。 优化OSD故障检测时间,而以前的跳超时(默认为20秒)。 优化OSDMaps的代码量。 集群在进行重平衡/数据恢复时,OSD会停止Scrub。 RGW RGW现在支持S3多对象复制API。 现在可以离线重塑现有的分支。离线目前,桶重塑要求所有IO(特别是写入)到特定的桶...阅读全文

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

Golang Context 探究

, err error) { // 直接调用 cancelCtx 的取消方法 c.cancelCtx.cancel(false, err) if removeFromParent { // 从父节点中删除子节点 removeChild(c.cancelCtx.Context, c) } c.mu.Lock() if c.timer != nil { // 关掉定时器,这样,在deadline 到来时,不会再次取消 c.timer.Stop() c.timer = nil } c.mu.Unlock() } 总结:context 实现取消和定时取消的核是 context.cancelCtx 和 context.timerCtx。 context 传递数据 context.valueCtx 在...阅读全文

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

Debian 10.8 发布:包括多项安全更新和错误修复

/src:iproute2) | 修正JSON输出中的bug;修正在启动时使用ip netns add时导致系统DOS的竞赛条件 | | [irssi-plugin-xmpp](https://packages.debian.org/src:irssi-plugin-xmpp) | 不要过早地触发irssi核连接超时,从而固定STARTTLS连接 | | [libdatetime-timezone-perl](https://packages.debian.org/src:libdatetime-timezone-perl) | 新版tzdata的更新 | | [libdbd-csv-perl](https://packages.debian.org/src:libdbd-csv-perl) | 修正libdbi...阅读全文

博文 2021-02-07 10:57:22 joseph

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

废话不多说,先来看看 Go 2.0 有哪些值得关注的内容: 最大程度保持对 1.x 的兼容,以避免分裂 Go 语言生态系统 采用增量升级的方式,而非单独发布重大更新版本 实施新的提案评估流程,以评估尚未解决且被标记为提案的 issue 将会在 Go 1.13 版本中选择 Go 2 部分的提案 背景 早在2017年的 GopherCon 大会上,Russ Cox(Go 核开发团队的技术 leader)就已经正式开始思考 Go 的下一个大版本(相关文章)。当时官方非正式地将它称为 Go 2,但我们知道,所谓的 Go 2.0 并非一个单独的重大更新版本,而是通过“增量更新(incremental)”的方式以逐渐抵达 "Go 2.0"。所以本文对这个未来版本的称号 —— 也暂且用 Go 2 来描...阅读全文

下一代时间同步服务 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

说透IO多路复用模型_京东云开发者的博客

poll模型采用了数组结构,则不会有1024长度限制,使其能够承受更高的并发。 pollfd结构内容如下: struct pollfd { int fd; /* 文件描述符 */ short events; /* 关的事件 */ short revents; /* 实际返回的事件 */ }; 从上面的结构可以看出,fd很明显就是指文件描述符,也就是当客户端连接上来后,fd会将生成的文件描述符保存到这里;而events则是指用户想关注的事件;revents则是指实际返回的事件,是由系统内核填充并返回,如果当前的fd文件描述符有状态变化,则revents的值就会有相应的变化。 events事件列表如下: revents事件列表如下: 从列表中可以看出,revents是包含events的。接下来结合示...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

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

5.1 中被引入的新的功能特性和功能提升。你不需要动 JavaScript 就可以利用上这些功能特性。并非所有的浏览器都支持这些功能特性,因此你最好是在将它们应用于生产环境之前先检查一下浏览器的支持情况。 14. 预防网络钓鱼攻击 大多数使用 target='_blank' 的开发者都不了解一个事实——最新打开的标签可以改变 window.opener.location 到一些钓鱼网页。它将会在已打开的网页,以你的名义执行一些恶意 JavaScript 代码。因为用户相信已经打开的网页,他们不会起疑。 为了彻底解决这个问题,HTML5.1 已经标准化 rel=”noopener”的使用属性,与浏览器的上下文环境分开。rel=”noopener” 允许在 标签之间使用...阅读全文

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

深入理解Golang之context

Server、Connection、Request,不仅将上游的信息共享给下游任务,同时实现了上游可发送取消信号取消所有下游任务,而下游任务自行取消不会影响上游任务。总结context主要用于父子任务之间的同步取消信号,本质上是一种协程调度的方式。另外在使用context时有两点值得注意:上游任务仅仅使用context通知下游任务不再需要,但不会直接干涉和中断下游任务的执行,由下游任务自行决定后续的处理操作,也就是说context的取消操作是无侵入的;context是线程安全的,因为context本身是不可变的(immutable),因此可以放地在多个协程中传递使用。参考资料1、Package context2、Go Concurrency Patterns: Context3...阅读全文

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

Docker 核心原理

对 Docker 的使用大部分都比较熟悉,但是说到 docker 的实现原理很多人还是一知半解。我把在团队内部做的一次 Docker 核原理分享总结到文章里,以供参考。 Docker 的优势 Build once, Run anywhere 上面这句话很精辟的总结了 docker 的优点。我从下面几点具体描述 docker 带给开发者的能力 应用标准化 无论什么语言开发的应用,我们都能用 dockerfile 和构建脚本方便的进行应用构建打包,代码库 + 构建 + registry 统一了 CI/CD 流程,也提升了效率。 环境一致 由于应用和依赖全部构建成镜像,做到了一次构建多次交付,无论是开发,测试还是上线环境都是一致的。大大提高了开发效率 应用隔离 由于通过 docker 部署的应...阅读全文

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

Git 介绍与使用详解

出现的原因,又是谁在何时报告了某个功能缺陷等等。 使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。 但额外增加的工作量却微乎其微。 1.1.1集中化的版本控制系统,代表Svn 缺点: 1、依赖中央服务器。 如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。 2、如果中数据库所在的磁盘发生损坏,又没有做恰当备份,将丢失所有数据——包括项目的整个变更历史,只剩下人们在各自机器上保留的单独快照。 3、整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险 4、必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,效率就很低了。 1.1.2分布式版本控制系统,代表Git...阅读全文

博文 2017-02-25 09:00:27 程序员

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

即断网吗? 放,网卡配置需要重启才能生效,所以你只需要确保重启前正确配置了网卡。 新建一个 vmbr0. Create - Linux Bridge 桥接网卡 将 IP 地址配置到桥接网卡上,桥接网卡指向 物理网卡 如果有 IPv6 地址也可以加上。 IPv6 也不是完全没卵用,我们可以用 cf 中转,搞点网站什么的还是可以,就不用再配置一套内网了。 Cloudflare support IPv6 addresses to your origin server, and will accept both IPv4 and IPv6 from clients. via: https://serverfault.com/questions/874387/ipv6-only-server...阅读全文

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

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

Debian 的不舍和热爱。 “如果说我在 Debian 的18年有什么遗憾的话,那就是在 Debian 章程最初制定的时候,尽管感觉到了不妥,但我没有发声。” 同样地,当初 Michael Stapelberg 离开 Debian 也没有“脱粉回踩”,他只是希望自己的文章能激励 Debian 做出改变,继而改进开发者参与维护的体验。 因此,他在博客中苦口婆地列举出 Debian 的问题(包括包的上传问题、bug追踪问题、邮件列表归档问题等等),然后再给出自己的解决方案。比如他认为,项目应该努力实现更多的统一;Debian 文化需要从“这个包归我管,你不能碰”转变为共同的所有权意识等等。 1993年9月15日,Debian 0.01版发布至今,Debian 已经经历了近三十个春秋。一个完全没有盈利组...阅读全文

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

处理器架构消亡史

扩展到完整的64位体系架构。于是,Alpha架构应运而生。Alpha于1992年末推出,是专为高端台式机,工作站和服务器设计的微处理器架构,这也使得他们成为首批实现64位体系架构的企业之一。Alpha对于产业的贡献或许不是有多少产品采用了这种架构,而是他在理论上为产业的发展提供了一种新思路。有人认为,Alpha,MIPS两种RISC架构都比较早的考虑了64位、和引入了很多超前的微架构设计概念,以至于影响了以后英特尔在微架构(uops)、超线程方面的发展,这些在英特尔处理器微架构设计隐约能看到Alpha架构的一些影子。除此之外,艾康电脑公司于1983年开始的开发项目——ARM也是值得一提的架构。1980年代晚期,苹果电脑开始与艾康电脑合作开发新版的ARM核。由于这项目非常重要,艾康电脑甚至于...阅读全文

六大算法之三:动态规划【转载】

已知问题规模为n的前提A,求解一个未知解B。(我们用An表示“问题规模为n的已知条件”) 此时,如果把问题规模降到0,即已知A0,可以得到A0->B. 如果从A0添加一个元素,得到A1的变化过程。即A0->A1; 进而有A1->A2; A2->A3; …… ; Ai->Ai+1. 这就是严格的归纳推理,也就是我们经常使用的数学归纳法;对于Ai+1,只需要它的上一个状态Ai即可完成整个推理过程(而不需要更前序的状态)。我们将这一模型称为马尔科夫模型。对应的推理过程叫做“贪法”。 然而,Ai与Ai+1往往不是互为充要条件,随着i的增加,有价值的前提信息越来越少,我们无法仅仅通过上一个状态得到下一个状态,因此可以采用如下方案: {A1->A2}; {A1, A2->A3}; {A1,A2,A3...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

据《欧盟一般个人数据保护条例》(GDPR)第4条第1款的规定,“个人数据”指与已经识别(identified)或可被识别(identifiable)的自然人(“数据主体”)相关的任何信息。 其中,“可被识别的自然人”,指通过姓名、识别号码、位置数据、在线身份识别码等标识符,或通过针对该自然人的身体、生理、遗传、理、经济、文化或社会身份等特定相关的一个或多个要素,能够直接或间接地被识别出的个人[1]。 判断自然人是否可被识别,应考虑数据控制者或另外一人可能合理使用到的所有方式(all the means reasonably likely to be used)。判断何种方式为“可能合理使用到”,应考虑所有客观因素:例如当前现有的技术、技术的发展、识别所需的成本和时间等[2]。 由于实践中交...阅读全文

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

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

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

深入了解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

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

,Redis能够确保每个客户端得到的序列值或序列范围都是全局唯一的,绝对不会出现不同客户端得到了重复的序列值的情况。 List Redis的List是链表型的数据结构,可以使用LPUSH/RPUSH/LPOP/RPOP等命令在List的两端执行插入元素和弹出元素的操作。虽然List也支持在特定index上插入和读取元素的功能,但其时间复杂度较高(O(N)),应小使用。 与List相关的常用命令: LPUSH:向指定List的左侧(即头部)插入1个或多个元素,返回插入后的List长度。时间复杂度O(N),N为插入元素的数量 RPUSH:同LPUSH,向指定List的右侧(即尾部)插入1或多个元素 LPOP:从指定List的左侧(即头部)移除一个元素并返回,时间复杂度O(1) RPOP:同LPOP,从指...阅读全文

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