InfraPub 为您找到相关结果 651

Apollo 分布式配置中心详解

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

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

Kubernetes常用命令大全(持续更新)

分析错误)对控制器和服务,node同样有效 kubectl describe pods xxxxpodsname --namespace=xxxnamespace 其他控制器类似吧,就是kubectl get 控制器 控制器具体名称 查看pod日志 kubectl logs $POD_NAME 查看pod变量 kubectl exec my-nginx-5j8ok -- printenv | grep SERVICE kubectl get cs #### 集群健康情况 kubectl cluster-info #### 集群核心组件运行情况 kubectl get namespaces #### 表空间名 kubectl version #### 本 kubectl api...阅读全文

博文 2020-03-13 12:35:13 debian.cn

Hadoop 核心 - HDFS 分布式文件系统详解

据信息。 3. HDFS的特性 首先,它是一个文件系统,用于存储文件,通过统一的命名空间目录树来定位文件; 其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。 1. master/slave 架构(主从架构) HDFS 采用 master/slave 架构。一般一个 HDFS 集群是有一个 Namenode 和一定数目的 Datanode 组成。Namenode 是 HDFS 集群主节点,Datanode 是 HDFS 集群从节点,两种角色各司其职,共同协调完成分布式的文件存储服务。 2. 分块存储 HDFS 中的文件在物理上是分块存储(block)的,块的大小可以通过配置参数来规定,默认大小在 hadoop2.x 本中是 128M。 3. 名字空间...阅读全文

互联网协议正在发生变化

TLS 1.3 的相关章节。 最终,HTTP/2 允许多个主机的请求被 合并到一个连接上,通过减少页面加载所使用的连接(从而减少拥塞控制的场景)数量来提升性能。 例如,你可以对 www.example.com 建立一个连接,也可以将这个连接用于对 images.example.com 的请求。而未来的协议扩展也允许将其它的主机添加到连接上,即便它们没有被列在最初用于它们的 TLS 证书中。因此,假设连接上的通讯被限制于它初始化时的目的并不适用。 值得注意的是,尽管存在这些变化,HTTP/2 并没有出现明显的互操作性问题或者来自网络的冲突。 TLS 1.3 TLS 1.3 刚刚通过了标准化的最后流程,并且已经被一些实现所支持。 不要被它只增加了本号的名字所欺骗;它实际上是一个新的 TLS 本...阅读全文

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

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

来分享一下他打造 Debian 的那段历程。 Murdock 第一次接触到 GNU/Linux 是在 1993 年,当时他还是个 20 岁的学生,在普渡大学学习会计学。「那个年代,PC 才刚刚发展到勉强能运行 Unix 操作系统。我当时用的就是 Unix,那时候我觉得 Linux 是能让我更方便地使用 Unix 的一种方式。」用 Murdock 的话来说,当时的软件「完成度还相对粗糙」,但完善、改良软件对他来说也是一种兴趣爱好。 「Linux 最棒的地方之一就是它是第一批你不仅能看到它在干嘛,你还能亲自尝试着对它本身做尝试、做改动的操作系统。」 Murdock 开始研究的时候,GNU/Linux 的发行还很少。Murdok 当时选择的是 SLS,Softlanding Linux...阅读全文

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

细数k8s支持的4种类型的container - 侃豺小哥

API 中的一种特殊的 ephemeralcontainers 处理器进行创建的,而不是直接添加到 pod.spec 段,因此无法使用 kubectl edit 来添加一个临时容器。 与常规容器一样,将临时容器添加到 Pod 后,将不能更改或删除临时容器。 为什么我们需要Ephemeral 容器? 我们知道容器的优点是它们通过使用不变方法提供所有必需的依赖项来运行隔离的进程。通过仅将所需的依赖项添加到镜像中,容器可以降低攻击面并提供更快的启动和部署。使用“distroless”方法构建容器镜像(基于scratch),通过仅包含已编译的应用程序二进制文件,将容器镜像提升到了一个新的水平。与普通的容器镜像不同,它们不基于任何种类的Linux发行,因此不包含任何其他可通过kubectl exec执行...阅读全文

博文 2021-08-20 11:45:32 博客园

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

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 阿里云开发者社区

Docker更名Moby,也是无奈之举

有开源协作机制转移到Moby项目当中。” 有些人认为这可能代表着Docker已经被改名为Moby。但事实上,对于Docker CE或者EE本的用户而言,此次变更不会造成任何影响。Moby仅适用于此前利用Docker代码开发特定容器软件的企业及个人。 为了根据GitHub上的表情符号对此次变更引起的混乱进行量化,截至本文发稿之时,Hykes发表的帖子共获得73个赞、461个踩与377个困惑表情。另外还有18个开心表情、69个欢呼表情与16个心形表情。 在这条pull请求的样讨论当中,Hykes承认相关沟通工作本可以处理得更好。他进行了详尽的说明以平息人们对于Hacker News之上公布的更名决定的强烈不满。他解释称,“看起来pull请求中的解释还不够明确,对此我深表抱歉。”...阅读全文

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

观点:DDR内存即将谢幕 HBM 3/4内存才是未来

Tesla P100上商用了HBM 2技术,不过消费级市场上使用HBM 2技术还是AMD去年的RX Vega显卡,但是因为HBM 2显存的成本太过昂贵,RX Vega上实际上使用了两组4GB HBM 2,等效位宽比第一代减少一半,尽管频率大幅提升,所以实际带宽反而低了一些。 见识过HBM的玩家对该技术肯定印象深刻,那么未来它又该如何发展呢?HPE(惠普企业级)公司的Nicolas Dube日前分享了他的一些观点,在他看来DDR内存要走到尽头了(DDR is Over),特别是一些需求高带宽的场合中。 根据他分享的一些数据,HBM 2内存将在2018年大量应用,HBM 3将在2020年左右应用,改进的HBM 3+技术在2022年应用,2024年则会有HBM 4内存,带宽及容量也会逐级增长,比如现在的...阅读全文

内网穿透利器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 青蛙小白

Open Source Initiative 批准四个新的开源许可证

许可证。 四个新的许可证 首先是 Cryptographic Autonomy License(CAL)。这个许可证是为分布式密码学应用而设计的。现有的开源许可证无法保证开放性,因为如果没有义务与其他对等体共享数据,那么一个对等体就有可能损害网络的运行。所以,CAL 除了是一个强大的权许可以外,还包括向第三方提供独立使用和修改软件所需的权限和材料,而不使第三方有数据或功能的损失。 随着分布式密码学在加密结构的点对点共享中越来越多的使用,如果更多的开发者发现自己需要一个像 CAL 这样的法律工具,也就不足为奇了。我们希望由此产生的许可证是清晰易懂的,并希望开源从业者会发现它大有用处。 在我们之前的报道中曾提到,欧洲核子研究组织 CERN 提交的 CERN Open Hardware...阅读全文

博文 2021-03-01 10:44:35 OSChina

Netty+Nacos+Disruptor自研企业级API网关

Netty+Nacos+Disruptor自研企业级API网关 download:https://www.51xuebc.com/thread-566-1-1.html React18+TS+NestJS+GraphQL全栈开发示例 全栈开发是指一位开发人员可以熟练掌握前端、后端和数据库等多个领域的技术,能够完整地开发一个应用程序。在本文中,我们将介绍如何使用React18+TS+NestJS+GraphQL这个技术组合来进行全栈开发。 技术选型 在开始开发之前,我们需要选择合适的技术栈。以下是我们所采用的技术: React 18:React18是React框架最新本,它具有更好的性能、更好的可访问性、更好的代码拆分等特点,可以提高开发效率和应用性能...阅读全文

博文 2023-05-27 12:49:20 bianchengyuan123

系统解析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 协议来支持实现...阅读全文

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 低对应用影响尽可能小,要能异步实时追踪...阅读全文

Linux系统诊断-内存基础

的文件,大多反馈系统信息的实时情况(进程、内存、cpu、设备信息等)。结论: /proc/meminfo 是 /proc 文件系统下保存你内存相关信息的"伪文件"。2.2 命令输出简介每个发行输出都有一定差异,我们以debian8 4.19.x发行为例。root@4f996feeb851:~# free -m total used free shared buffers cached Mem: 1991 1909 81 4 155 836 -/+ buffers/cache: 917 1073 Swap: 1023 1 1022大部分的命令输出意思,大家可以在man文档中找到解析,这里不做赘述。used: 已使用的内存 used = total - free -buffers...阅读全文

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

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

聊聊很重要的内核技术eBPF

在2018年的 Linux Plumber 大会上,eBPF成了亮点,有24个议题提到了 eBPF,可以预计eBPF会成为一大技术热点。 eBPF(Extended Berkeley Packet Filter) 的核心是驻留在 kernel 的高效虚拟机。最初的目的是高效网络过滤框架,前身是 BPF。 Linux kernel 3.18本开始包含了eBPF,相对于 BPF 做了一些重要改进,首先是效率,这要归功于 JIB 编译 eBPF 代码;其次是应用范围,从网络报文扩展到一般事件处理;最后不再使用socket,使用map进行高效的数据存储。 根据以上的改进,内核开发人员在不到两年半的事件,做出了包括网络监控、限速和系统监控。目前eBPF可以分解为三个过程: 以字节码的形式创建...阅读全文

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

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

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

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

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

导语 | kafka3.0的本已经试推行去zk的kafka架构了,如果去掉了zk,那么在kafka新的本当中使用什么技术来代替了zk的位置呢,接下来我们一起来一探究竟,了解kafka的内置共识机制和raft算法。一、Kafka简介Kafka是一款开源的消息引擎系统。一个典型的Kafka体系架构包括若干Producer、若干Broker、若干Consumer,以及一个ZooKeeper集群,如上图所示。其中ZooKeeper是Kafka用来负责集群元数据的管理、控制器的选举等操作的。Producer将消息发送到Broker,Broker负责将收到的消息存储到磁盘中,而Consumer负责从Broker订阅并消费消息。(一)Kafka核心组件producer:消息生产者,就是向broker...阅读全文

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

使用 tmate 分享你的终端会话

/DeBucoyRfdOtlUmb5D214NC8 magi@magi-VirtualBox The key's randomart image is: +---[RSA 2048]----+ | | | | | . | | . . = o | | *ooS= . + o | | . =.@*o.o.+ E .| | =o==B++o = . | | o.+*o+.. . | | ..o+o=. | +----[SHA256]-----+ 如何安装 tmate tmate 已经包含在某些发行的官方仓库中,可以通过包管理器来安装。 对于 Debian/Ubuntu,可以使用 apt-get 命令或者 apt 命令来安装。 $ sudo apt-get install software-properties-common $ sudo...阅读全文

博文 2017-12-06 10:33:33 debian.cn

Stackstorm 入门介绍

可扩展套件,与你的基础环境交互,执行流程如下: 从各个服务系统通过push或pull的方式把event传给sensors, sensors会产生一个trigger到规则配置中查询该trigger对应的动作或者工作流将来自工作流的Action发送到消息队列(内置rabbitmq)中Actions到达外部的系统后就执行相应的动作日志和审计历史被推送到数据库进行存储(Mongodb)处理后的结果被发送回规则引擎进行进一步处理 Stackstorm的更新非常活跃,最新的发布信息从官方网站上可以看到。目前最新的本是 2.10.1。 Stackstorm工作原理 目录...阅读全文

Java 12 / JDK 12 正式发布

取“半年发布一次本”的模式。 可访问 http://openjdk.java.net/projects/jdk/13/ 查看 JDK 13 的相关信息。 讨论 留意到不少开发者对 Raw String Literals 特性情有独钟,该特性类似于 JavaScript ES6 语法中的模板字符串,使用它基本可以告别丑陋的字符串拼接。特性详见 http://openjdk.java.net/jeps/326。 该特性原计划于 JDK 12 发布,可惜最后还是被取消了,详见:http://mail.openjdk.java.net/pipermail/jdk-dev/2018-December/002402.html 可能是因为业界呼声太高,最近委员会又把这个特性拿出来重新讨论了:https...阅读全文

博文 2019-03-20 12:46:27 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博客

开源社区纠纷不断:20 年的 Debian 开发者被排挤出项目

近日,据外媒报道,一位在 Debian 项目中服务超过 20 年的开发者 Norbert Preining 在去年 12 月被降级为维护者,这一行为导致他决定离开该项目。Preining 称,Debian 客户经理团队认为他“多年来一直在欺负项目成员”、“不能与社区团队沟通”。在接受采访时,Preining 表示他现在已经加入了 Arch Linux 项目,将在以后的博文中进行更多的解释。Debian 是一款为数极少的纯社区驱动的 Linux 发行,而不是由商业公司或者政府机构所掌控。虽然 Debian 采用了 Linux Kernel (操作系统的核心),但是大部分基础的操作系统工具都来自于 GNU 工程, 因此又称为 Debian GNU/Linux。DAM 认为 Preining...阅读全文

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

3个 Linux 命令让你看起来很忙:摸鱼的技巧

。它播放的序列由你决定,但默认情况下它包括一个加密货币挖掘模拟器、composer PHP 依赖管理器、内核编译器、下载器、内存管理等等。不过,我最喜欢的是显示 simcity 加载消息的设置。因此,只要没有人检查得太仔细,你就可以花整个下午的时间等待电脑完成进度条。 Genact 有 linux、os x 和 Windows 本,Rust 源码可以在 github 上找到。 Hollywood Hollywood 采取了更直接的方式。它本质上是在终端中创建一个随机数和拆分屏幕的配置,并启动看起来很忙的应用程序,如 htop、目录树、源代码文件和其他应用程序等,并每隔几秒钟进行切换。它以 shell 脚本的形式组合在一起,因此可以很容易地根据你的需要进行修改。 Hollywood 的源代码可...阅读全文

博文 2019-09-28 15:48:43 debian.cn

一位资深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

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

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

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

博文 2019-09-10 17:19:13 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

六个开源软件开发的潜规则

代码、撰写文档、修正错误。所有的这些不受待见的任务在一个健康的社区中都是必要的。 为什么要在优雅地写代码前做这些呢?这是一种信任,更重要的是,不要只关注自己开发的功能,而是要关注整个社区的动向。 博闻强识,敦善不怠 当你在某个社区中建立起自己的声望,那么很有必要全面了解该项目和代码。不要停留于任务状态上,而是要去钻研项目本身,理解那些超出你擅长范围之外的知识。不要只把自己的理解局限于开发者,这样会让你着眼于让你的代码有更大的影响,而不只是你那一亩三分地。 打个比方,你已经完成了一个网络模块的测试本。你测试了一下,觉得不错。然后你把它开放到社区,想要更多的人测试。结果发现,当它以特定的方式部署时,有可能会破坏安全设置,还可能导致主存储泄露。如果你将代码视为一个整体时问题就可以迎刃而解,而不是...阅读全文

博文 2017-05-20 10:27:11 debian.cn

深入学习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 博客园

使用 MongoDB 之前应该知道的 14 件事

。而且,它在 BSON 中是“deprecated”,会转换成$null,这并不是一个总令人满意的解决方案。 在 MongoDB 中,要避免使用“undefined”。 使用$limit() 而未用$sort() 通常,当你在 MongoDB 中开发时,仅仅查看查询或聚合返回的结果的样例会很有用。 $limit() 就是为了满足这个要求,但是,它永远不应该出现在最终本的代码中,除非你首先使用了$sort。这是因为,不这样的话,你就无法保证结果的顺序,你就无法可靠地“按页浏览”数据。为了确保可靠性,查询或聚合必须是“确定的”,就是说,它们每次执行都会给出相同的结果。包含$limit 而不包含$sort 的代码不是确定的,后续会导致难以跟踪的 Bug。 小结 对于 MongoDB,让你最终感到失...阅读全文

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

前段时间,笔者参加了 UCloud 在京举办的 TIC 2019 大会,适逢 UCloud 实验室负责人叶理灯的演讲结束,就容器计算方面和他进行了短暂沟通。叶理灯是国内在云计算方面有深入研究和实践的资深专家,我觉得他的一些观点和看法值得分享给大家了解。 UCloud 实验室负责人 叶理灯 叶理灯现负责 UCloud 创新产品研发,专注面向企业的云计算产品的研发及运营。叶理灯拥有 10 年以上丰富的互联网研发经验,先后任职于腾讯、盛大云等互联网公司,从事海量分布式后台系统研发及运营工作。 定制违背了 K8S 初衷,提供原生 K8S 产品 记者:在官方的 K8S 发行之上,各方云厂商提供 K8S 服务时都有一些自己的定制和调整,今天大会上提及的 UCloud 的 K8S 发行 UK8S 主...阅读全文

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

协议介绍之深入了解 gRPC

经过很长一段时间的开发,TiDB 终于发了 RC3。RC3 本对于 TiKV 来说最重要的功能就是支持了 gRPC,也就意味着后面大家可以非常方便的使用自己喜欢的语言对接 TiKV 了。 gRPC 是基于 HTTP/2 协议的,要深刻理解 gRPC,理解下 HTTP/2 是必要的,这里先简单介绍一下 HTTP/2 相关的知识,然后在介绍下 gRPC 是如何基于 HTTP/2 构建的。 HTTP/1.x HTTP 协议可以算是现阶段 Web 上面最通用的协议了,在之前很长一段时间,很多应用都是基于 HTTP/1.x 协议,HTTP/1.x 协议是一个文本协议,可读性非常好,但其实并不高效,笔者主要碰到过几个问题: Parser 如果要解析一个完整的 HTTP 请求,首先我们需要能正确的读出...阅读全文

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

Apollo 配置中心简单介绍

盖配置修改实时生效(热发布) 用户在Apollo修改完配置并发布后,客户端能实时(1秒)接收到最新的配置,并通知到应用程序本发布管理 所有的配置发布都有本概念,从而可以方便地支持配置的回滚灰度发布 支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一段时间没问题后再推给所有应用实例权限管理、发布审核、操作审计 应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和发布两个环节,从而减少人为的错误。所有的操作都有审计日志,可以方便的追踪问题客户端配置信息监控 可以在界面上方便地看到配置在被哪些实例使用提供Java和.Net原生客户端 提供了Java和.Net的原生客户端,方便应用集成支持Spring Placeholder, Annotation和Spring...阅读全文

博文 2021-04-09 17:53:51 CSDN

WebAssembly:无需容器的 Docker (上)

本文翻译自 Wasm Labs @ VMware OCTO 的 blog: WebAssembly: Docker without container,已获得授权这是 Wasm Labs 在 2022 年 12 月 15 日在冬季 Docker Community All Hands 7 的关于 Docker+WebAssembly 的演讲的文字。作者:Asen Alexandrov,Wasm Labs 工程师文中的我们均指作者或 Wasm Labs。由于文章内容翔实、篇幅较长我们将分成上下两篇分享,上篇将注重在概念阐释,如 Wasm 是什么,Wasm 与 Docker 的关系是什么。下篇文章将更具实践性,将以 PHP 为例带领大家实践 Docker + Wasm。最近,Docker 宣...阅读全文

博文 2023-01-03 06:35:56 spider

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

从 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 驱蚊器喵的插座

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

influxdb内存消耗分析及性能优化【探索篇】

现过于复杂,所以 go 语言团队在最新1.15本还没有着手实现。目前根据相关资料,考虑influxdb运行时会占用大规模内存,建议通过如下方式启动influxdb:numactl --interleave=all /usr/bin/influxd -config /usr/bin/influxdb.conf6.读取端优化从系统角度,应该同时关注influxdb写入和读取两个维度。写入端应从具体业务场景,提前划分好写入的tags及fields,从而避免产生大量的series导致内存膨胀过快。而读取端,应明确查询时间范围,命中更少的分片数据,来防止加载大量的无用查询结果而导致程序OOM。走查了读取端相关influxdb查询语句,发现几处类似如下消耗内存及性能的语句:#表描述 - 表名...阅读全文

博文 2021-10-27 16:06:30 知乎

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

Web前端知识体系精简

,服务器返回该文件; 如果中引用了外部js文件,则发出js文件请求,服务器返回该文件后开始运行; 渲染引擎继续载入html中的部分的代码,并开始解析前面返回的css文件,然后根据css选择器计算出节点的样式,创建渲染树; 从根节点递归调用,计算每一个元素的大小、位置等,给每个节点所应该出现在屏幕上的精确坐标; 如果body中的引用了图片资源,则立即向服务器发出请求,此时渲染引擎不会等待图片下载完毕,而是继续渲染后面的代码; 服务器返回图片文件,由于图片占用了一定面积,影响了后面段落的排,因此引擎需要回过头来重新渲染这部分代码; 如果此时js脚本中运行了style.display="none", 布局被改变,引擎也需要重新渲染这部分代码; 直到为...阅读全文

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