InfraPub 为您找到相关结果 550

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

Rancher 2.2.2 发布了。Rancher 是一个开源的企业级 Kubernetes 平台,可以管理所有云上、所有发行版、所有 Kubernetes 集群,解决了生产环境中企业用户可能面临的基础设施不同的困境,改善 Kubernetes 原生 UI 易用性不佳以及学习曲线陡峭的问题。 新版本的更新亮点有: Rancher CVE-2019-11202 修复 开发团队发现过一个问题:Rancher 首次启动时创建的默认管理员帐户将在 Rancher 的后续重新启动时重新创建,即使 Rancher 管理员明确删除了该帐户,也仍会如此。这会带来一定的安全风险,因为帐户是使用 Rancher 的默认用户名和密码重新创建的。因此,攻击可以使用这些默认账号密码来获取对 Rancher...阅读全文

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

Go 1.9 的新特性介绍

可能有问题。自go 1.6之后, 并发地读写map会报错,这在一些知名的开源库中都存在这个问题,所以go 1.9之前的解决方案是额外绑定一个锁,封装成一个新的struct或单独使用锁都可以。 群众的呼声是响亮的,并发map在项目中大量使用,所以Go 1.9中在包sync加入了新的map, 查询、存储和删除都是平均常数时间,可以并发访问。 Monotonic Time 先前的time包的实现都是基于wall time的,但是当机器的时钟调整后会有问题。 比如在计算duration的时候,如果时钟往回拨,可能导致end时间比start时间还早。 所以Go 1.9使用monotonic Time来实现大部分的time中的函数,在计算duration的时候不会出现因为时钟调整出现的误差了。 设计文...阅读全文

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

如何重启 Kubernetes 中的 Pods

在使用 Docker 时,我们可以使用 docker restart container_id 来非常方便的重启容器,但是在 kubernetes 中并没有重启 pod 的命令。有时 Pod 意外终止时,我们希望重启 pod,来进行排障或尝试恢复服务。这时我们会发现蛋有点疼,没有一个很直观的方式来重启 pod。 这里我总结了几种重启 Pod 的方式,分两种情况讨论如何重启 K8S 中的 Pod,希望对大家有所帮助。 第一种方式:Deployment方式下重启Pod 大多数生产环境,使用的是 Deployment 方式部署应用。这种场景下,我们可以直接删除对应的 Pod,让k8s去完成 pod 重建,命令: kubectl delete pod {podname} -n...阅读全文

博文 2020-07-13 21:23:30 debian.cn

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

高开发处理错误的可能性。 为避免处理重复异常,错误检查和错误处理还必须是显性的,在程序文本中可见。 参考示例: func main() { hex, err := ioutil.ReadAll(os.Stdin) if err != nil { log.Fatal(err) } data, err := parseHexdump(string(hex)) if err != nil { log.Fatal(err) } os.Stdout.Write(data) } 简化后: func main() { handle err { log.Fatal(err) } hex := check ioutil.ReadAll(os.Stdin) data := check parseHexdump...阅读全文

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

Debian下安装配置 Hadoop 3.1.3 集群

}/bin:$PATH JAVA环境的验证 $ java -version java version "1.8.0_202" Java(TM) SE Runtime Environment (build 1.8.0_202-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode) 把 jdk 安装包和 jdk.sh 分别拷贝到集群中的每台主机上。 Hadoop 安装与配置 Hadoop 安装 1. 解压hadoop安装包到/opt,修改 hadoop-3.1.3 的拥有: sudo chown -R hadoop:hadoop /opt/hadoop-3.1.3 2. 创建hadoop软链接 sudo ln -sf...阅读全文

博文 2019-11-27 23:04:39 debian.cn

Linux内存buffer和cache的区别

冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域。通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,速度快的设备的操作进程不发生间断。 在Free命令中显示的buffer和cache,它们都是占用内存: buffer : 作为buffer cache的内存,是块设备的读写缓冲区,更靠近存储设备,或直接就是disk的缓冲区。 cache: 作为page cache的内存, 文件系统的cache,是memory的缓冲区 如果 cache 的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读IO 必会非常小。...阅读全文

Go 泛型的括号选择:[ ] or ( )

Go 语言设计 Robert Griesemer 和 Ian Lance Taylor 近日在 Golang 官方论坛发帖讨论关于泛型及其括号使用的问题。 他们提到很多人表达了对泛型语法的担忧,特别是在类型参数声明和函数实例以及泛型的括号选择方面。 常见的计算机键盘提供了四对单字符对称括号,分别是小括号 ( )、方括号 [ ]、花括号 { } 以及尖括号 < >。基于此,他们解释了目前泛型草案在示例代码中使用小括号的原因。首先,Go 使用花括号来划分代码块、复合字面量(composite literals)和一些复合类型,因此几乎不可能在没有严重语法问题的情况下将花括号用于泛型。至于尖括号,解析器在某些情况下要求 <> 需要 unbounded lookahead。 所以只剩下...阅读全文

博文 2020-07-16 10:38:01 debian.cn

Debian 上安装搭建 Shadowsocks 服务

安装,但使用 deb 包安装会自动生成开启启动的脚步在 /etc/init.d 目录下,采用哪种方式安装就因人而异了 接下来就需要编译配置文件 $ vi /etc/shadowsocks-libev/config.json 然后将配置文件改为 { "server":"0.0.0.0", "server_port":443, "password":"yourpassword", "method":"aes-256-cfb", "timeout":60 } 其中 server:主机域名或IP地址,尽量填 0.0.0.0 来代表了本机 ip server_port:服务器监听端口 password:自定义密码 method:加密方式 默认为table,其他有rc4,rc4-md5,aes-128...阅读全文

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

Debian下安装搜狗拼音输入法

没找到命令行安装的方法,只能在nautilus中鼠标双击安装。安装后可以看到新的词库和皮肤。 搜狗输入法的设置界面 自行调整设置的其它选项,然后就能愉快地使用了。 搜狗输入法(更换皮肤后) 文/匿蟒(简书作) 原文链接:http://www.jianshu.com/p/424fe8e7109e...阅读全文

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

Debian Linux下LNMP环境配置

-address = 127.0.0.1”这句话在作祟。把地址绑定到了127.0.0.1上,因此远程无法访问到数据库,这里我们把它注释掉就可以了,或你的服务器是指定ip的话就配置成你服务器的ip地址就可以了。 当然也有可能是你的mysql没有开启远程访问账户的权限,如果是这个原因,只需在mysql的user表里添加一条记录即可: grant all PRIVILEGES on thedb.* to user1@'%'identified by 'complex-password'; FLUSH PRIVILEGES; 然后重启一下mysql的服务: service mysql restart 3.安装PHP 使用apt工具安装: apt-get install php5-fpm php5-gd php5...阅读全文

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

轻量级发行版 Alpine Linux 介绍

,读不妨测试直接用 docker run 指令运行一个 Alpine 容器,并指定运行的 Linux 指令所需要的时间, $ time docker run alpine echo debian.cn Unable to find image 'alpine:latest' locally latest: Pulling from library/alpine c9b1b535fdd9: Pull complete Digest: sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d Status: Downloaded newer image for alpine:latest debian.cn...阅读全文

博文 2018-06-16 13:48:00 debian.cn

通过Prometheus查询K8S集群Pod 的CPU、内存、网络指标

with the `H' inter-active command. Also for multi-processor environments, if Irix mode is Off, top will operate in Solaris mode where a task's cpu usage will be divided by the total number of CPUs. You toggle Irix/Solaris modes with the `I' interactive command. 即在过去的一段时间里进程占用的CPU时间与CPU总时间的比率,如果有多个CPU或多核,需要将每个CPU的时间相加。kubelet中的cadvisor采集的指标与含义,见...阅读全文

博文 2020-08-13 20:41:03 debian.cn

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

型代码为 33。SRV的记录格式为: _Service._Proto.Name TTL Class SRV Priority Weight Port Target Service: 服务名称,前缀“_”是为防止与DNS Label(普通域名)冲突。 Proto: 服务使用的通信协议,_TCP、_UDP、其它标准协议或自定义的协议。 Name: 提供服务的域名。 TTL: 缓存有效时间。 CLASS: 类别 Priority: 该记录的优先级,数值越小表示优先级越高,范围0-65535。 Weight: 该记录的权重,数值越高权重越高,范围0-65535。 Port: 服务端口号,0-65535。 Target: host 地址。 客户端查询到多条记录的时候,使用优先级最高的记录。对相同优先...阅读全文

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

第8个LTS版本 Ubuntu 20.04 将带来哪些新特性?

Amazon 应用。Ubuntu 上的 Amazon 图标一直就挂在桌面,这早已被人吐槽,因为它比较鸡肋,相关调查数据也反映了这一点。此次变化,特别是对于普遍不习惯首选 Amazon 购物的中国人来说,是一大好事。 Ubuntu 20.04 将使用 Linux 5.4 内核,该版本具有内核锁定模式和 exFAT 支持等新特性。 内核锁定功能主要是为了防止 root 帐户篡改内核代码,从而在用户态进程和代码之间划清界限。启用该功能后,即便是 root 帐户也无法访问某些内核功能,从而保护操作系统免受受损的 root 帐户影响。 exFAT 文件系统则是 FAT32 的替代,它由微软开发,但是不仅用于 Windows 系统,目前 exFAT 在整个电子行业中都得到了广泛应用,特别是 SD 卡、USB 闪...阅读全文

博文 2020-01-27 09:36:30 debian.cn

2017年的Linux内核防护依然脆弱

Linux 主线影响了 PaX/Grsecurity 的正常开发,这也是 PaX/Grsecurity 关闭公开访问 test patch 的主要原因之一,最近由 Qualys 曝光的 Stack clash 是一个古老的漏洞利用平面的工程化,这威胁到了几乎所有类 UNIX 系统(包括 GNU/Linux)的安全,当 Linux 内核 x86 的 maintainer 之一 Andy Lutomirski 问及 PaX/Grsecurity 是如何修复时 Linus 直接回复了 Grsecurity 是垃圾,有趣的是当 PaX/Grsecurity 的作之一 Spender 曝光了一些内核最近的 silent fix 以后 Linus 居然 “邀请”PaX team/Spender 直接贡献代码...阅读全文

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

Java Annotations详解

注释,后面的Entity表示该注释的名称。 注释的元素 一个注释可以包含多个可以被赋值的元素。一个元素就像是一个属性或参数。下面是一个包含一个元素的注释 @Entity(tableName = "vehicles") 元素紧跟在注释之后,并放置在圆括号中,没有元素的注释,不需要圆括号。注释可以包含多个元素,当只包含一个元素时,可以省略元素名,只提供元素值既可,如下: @InsertNew("yes") 注释的位置 你可以将注释放置到类、接口、方法、方法参数、成员变量、局部变量之前。下面是一个将注释放到类之前的例子: @Entity public class Vehicle { } 下面是一个更大的例子,演示了在类、成员变量、方法、参数以及局部变量之前添加注释。仅作演示之用,并没有什么特别的...阅读全文

博文 2013-03-02 08:04:55 CSDN博客

在TKE上使用Kubecost进行成本管理

,即为计算 Pod 资源请求(Request)或使用量(Usage)消耗的成本。根据不同类型的资源,按照 Pod 所在 Node 的 IaaS 计价方式作为基本参考,来计算 Pod 所使用的成本费用。 目前云厂商的 Node 计费模式一般是**包年包月(Month)**、**按量计费(Hour)**和**竞价实例**。当 Kubecost 计算 Pod 成本时,即使是相同请求量的 Container,在不同类型的 Node 上成本消耗也不一致。 上述三种计费模式中,由于用户购买的是一个整体实例,因此按照实例计费,不针对单独一个资源计费。而通过使用 Kubecost,可以参照模型分析资源类型分摊成本、每种资源分摊成本。 例如,一个云厂商提供的某种 Node(虚拟机、物理机),CPU 为1核(C...阅读全文

五款流行开源的 HIDS 系统简单介绍

让我们先探讨什么是基于主机的入侵检测系统。如前所述,入侵检测系统是一种硬件或软件应用程序,可在检测到恶意活动时检测并警告管理员。HIDS主要专注于监视和分析日志文件,以便 基于预定义的策略和一组规则来检测异常和未经授权的更改。换句话说,HIDS与您添加的预先建立的规则一样有效。对于大量存储的日志,提取有意义的信息对于检测异常至关重要。提取的信息应准确。因此,确保这些日志的安全性对于防御日志操纵至关重要。1. OSSECOSSEC是开源安全事件关联器的缩写。这个建立良好且信誉良好的解决方案是OSSEC基金会开发和维护的免费和开放源代码的基于主机的入侵检测系统,这要归功于众多的贡献。它后来归趋势科技所有。这是一个不断发展的项目,每月下载约5000次,并且具有可扩展性和多平台方面的特点,因为它...阅读全文

博文 2023-01-26 11:07:43 joseph

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

UK8S是UCloud推出的Kubernetes容器云产品,完全兼容原生API,为用户提供一站式云上Kubernetes服务。我们团队自研了CNI(Container Network Interface)网络插件,深度集成VPC,使UK8S容器应用拥有与云主机间等同的网络性能(目前最高可达10Gb/s, 100万pps),并打通容器和物理云/托管云的网络。过程中,我们解决了开源kubelet创建多余Sandbox容器导致Pod IP莫名消失的问题,确保CNI插件正常运行,并准备将修复后的kubelet源码提交给社区。 深度集成VPC的网络方案 按照我们的设想,开发可以在UK8S上部署、管理、扩展容器化应用,无需关心Kubernetes集群自身的搭建及维护等运维类工作。UK8S完全兼容原生...阅读全文

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

/data/iot_cloud/_series/07/0005 62.732 778.06 ... #省略 ... /data/influxdb/data/iot_cloud/_series/01/0002 16.352 7014.15 /data/influxdb/data/iot_cloud/_series/00/0002 16.36 7030.51可以看出程序运行时,会加载iot_cloud库文件:tsm数据文件(主要为当前shard的文件,共约18G)series文件(所有series文件,共约7G)加载的内存大小与SHR内存基本吻合。基于当前的分片策略retention policy周期为7天,每天一分片,所以可以从分片角度减少shard占用的内存。笔尝试调整分片策略:#当前...阅读全文

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

三个简单而优秀的 Linux 网络监视器

PROGRAM DEV SENT RECEIVED 7690 carla /usr/lib/firefox wlan0 12.494 556.580 KB/sec 5648 carla .../chromium-browser wlan0 0.052 0.038 KB/sec TOTAL 12.546 556.618 KB/sec Nethogs 选项很少:在 kb/s、kb、b 和 mb 之间循环;通过接收或发送的数据包进行排序;并调整刷新之间的延迟。请参阅 man nethogs,或运行 nethogs -h。 vnstat vnstat 是最容易使用的网络数据收集器。它是轻量级的,不需要 root 权限。它作为守护进程运行,并记录你网络统计信息。它默认显示所有的网络接口。使用 -i 选项选择单个...阅读全文

博文 2017-11-07 00:07:38 debian.cn

Chrome浏览器中新增反恶意软件广告功能

向用户。 谷歌指出,这些(误导性UI元素)包含伪装成播放键或其它网站控制的第三方站点的链接,或是网站上的透明覆盖图,抓取所有的点击和开放的新页签或窗口。 在谷歌上注册了站点的网站所有人将会在谷歌控制台的“滥用体验报告”部分收到关于这种误导性质的UI元素的警告信息。谷歌表示从明年1月份开始,没有处理这些报告的网站所有人将会通过Chrome内置弹出消息拦截器经由这些误导性元素触发重定向。...阅读全文

博文 2017-11-18 09:00:06 debian.cn

全民HTTPS时代:盘点免费SSL证书那些事儿

的问题在于被发现允许对证书的签发日期进行倒填,从而达到规避 SHA1 证书在 2016 年 1 月 1 日之后被浏览器警告的目的。最终于 2017 年 11 月 16 日,StartCom 宣布终止业务,自 2018 年 1 月 1 日起停止颁发新证书,并于 2020 年停止 OCSP 和 CRL 服务。 沃通(Wosign)也属于类似情况,被 Mozilla 认为 WoSign 最严重的问题是伪造(或说人为设置)了证书签发日期,相继被 Mozilla 和 Chrome 不信任,最终导致出局。 最后,随着 https 的广泛被适用,我们也乐于看到越来越多的 CA 开始提供免费的 DV SSL 证书。 【本文转载自秋水逸冰】...阅读全文

AWS省钱攻略:预留实例怎么玩

AWS的预留实例(Reserved Instance)是一种计费方式,并不是一种计算实例,简单讲是一个“包年包月”的优惠方式。购买RI后,可以获得30%以上,至最高 75% 的优惠。你可能会说:“这些我都知道,并且RI我已经在用了。” 你真的熟悉 RI 吗? 我们知道预留实例(RI)分为两种: 标准RI与可转换RI(CRI),可转换RI的价格往往较高而不容易被接受,而我们又经常遇到需要调整RI,那么我们购买的标准RI能不能进行适当的转换呢?答案是没问题的,AWS为满足客户的需求,提供了很灵活性的设定。 今天主要介绍一下RI的三个灵活属性:大小灵活性匹配,合并拆分,可转换(CRI),我们暂且这么称呼,三适用于不同的场景,是互相补充的关系。 大小灵活性匹配 场景:区域范围RI 、相同实例类型...阅读全文

博文 2019-08-18 18:26:19 debian.cn

Harbor 1.9 发布:新增多项企业级功能

的数据并对其所含信息采取相应的操作。例如,您可以将 Harbor 配置为在成功推送镜像后向 Webhook 侦听器发送一个 POST 请求,从而触发 Kubernetes 应用程序的部署,以执行您的测试套件,或仅仅更新您的 CMDB。 配额(Project Quotas) 配额有助于项目管理员对资源的使用加以控制。具体而言,您可以限制项目所含 tag 的数目,以及项目可占用的存储容量。您可以设置适用于所有项目的全局默认配额,也可以为个别项目设置配额以覆盖系统设置。镜像容量会根据其实际大小进行计算,并会在同时推送多个镜像时考虑所有相关镜像之间的层共享情况。配额可以与其他机制无缝协调工作,例如重新 tag、在线垃圾数据回收和保留策略,从而可始终合理管理各个工件,并且不会浪费空间。 Tag 保留...阅读全文

博文 2019-10-09 12:12:04 debian.cn

PostgreSQL 13 正式版发布

PostgreSQL 13 已正式发布,新版本对索引和查找系统进行了重大改进,大型数据库因此受益甚多,包括节省了空间并提高了索引的性能,使用聚合或分区的查询的响应时间更快,使用增强的统计信息时更好的查询计划(query planning)等。 除了并行化清理(parallelized vacuuming)和增量排序(incremental sorting)等呼声较高的功能外,PostgreSQL 13 还为大大小小的工作负载提供了更好的数据管理体验,并对日常管理进行了优化,为应用开发提供了更多便利,并增强了安全性。 性能提升 在先前 PostgreSQL 版本的基础上,PostgreSQL 13 可以有效地处理 B 树索引(PostgreSQL 的标准索引)中的重复数据,从而降低 B 树...阅读全文

博文 2020-10-04 20:07:23 debian.cn

Prometheus 常用 PromQL 语句样例

PromQL 是 Prometheus 提供的一个函数式的表达式语言,可以使用户实时地查找和聚合时间序列数据。表达式计算结果可以在图表中展示,也可以在 Prometheus表达式浏览器中以表格形式展示,或作为数据源,以 HTTP API 的方式提供给外部系统使用。PromQL 虽然以 QL 结尾,但是它不是类似 SQL 的语言,因为在时间序列上执行计算类型时,SQL 语言相对缺乏表达能力。而 PromQL 语言表达能力非常丰富,可以使用标签进行任意聚合,还可以使用标签将不同的标签连接到一起进行算术运算操作。内置了时间和数学等很多函数可以使用 选择序列选择指定指标名称的序列最新样本: my_metric_name选择指定指标名称序列5分钟的样本范围: my_metric_name[5m]筛...阅读全文

博文 2021-02-09 11:07:15 51CTO博客

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

如果你看过谍战片、动作片或犯罪电影,你就会在脑海中勾勒出黑客坐在电脑屏幕前的样子:一行行快速移动的代码,大量的矩阵中的十六进制数字代码像雨水一样飞过。也许有一张世界地图,上面有一些发光点和一些快速更新的图表,也许还会有三维几何图形。如果可能的话,这一切还可以显示在多个显示器上面。 当然,我们这些技术人员很快意识到这完全是胡说八道。虽然我们中的许多人都有双显示器(或更多),但闪烁的数据通常与专注于工作这一目的背道而驰。编写代码、管理项目和管理系统与股票交易不同。我们遇到的大多数情况都需要我们对试图解决的问题进行大量思考,与利益相关进行良好的沟通,进行一些研究以及组织信息,然后还有占工作量很少的快速打字。 但这并不意味着我们不想和电影中的黑客一样。有时,我们只是想让自己看起来“有效率”。 旁...阅读全文

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

高性能缓存服务器 Nuster

-rule 200and404 code 200,404 cache-rule all code all if|unless condition 定义 ACL 条件 详见HAProxy configuration的7. Using ACLs and fetching samples 常见问题 如何调试? 在global添加debug, 或带-d启动haproxy 缓存相关的调试信息以[CACHE]开头 如何缓存 POST 请求? 添加option http-buffer-request 如果自定义了 key 的话需要使用body关键字 请求 body 可能不完整,详见HAProxy configuration 的 option http-buffer-request小节 另外可以为 post 请求...阅读全文

博文 2017-12-15 22:17:31 debian.cn

GlusterFS 和 Ceph 比比看

GlusterFS 与 Ceph 哪个更快已经进行了几项测试,但迄今为止没有确切的结论。GlusterFS 存储算法更快,并且由于 GlusterFS 以砖组织存储的方式实现了更多的分层,这在某些场景下(特别是使用非优化 Ceph 的话)可能导致更快的速度。另一方面,Ceph 提供了足够的定制功能来使其与 GlusterFS 一样快——结果是两的性能都不够令人信服一个比另一个更强。 然而,现实表明,Ceph 访问存储的不同方法使其成为更流行的技术。事实证明,更多的公司正在考虑 Ceph 技术而不是GlusterFS,而且 GlusterFS 仍然与 Red Hat 密切相关。例如,SUSE 还没有 GlusterFS 的商业实现,而 Ceph 已经被开源社区广泛采用,市场上有各种不同的产品。可以说...阅读全文

博文 2017-08-09 10:35:29 debian.cn

Debian、Ubuntu安装源配置文件说明

自由软件指导方针》。 「contrib」,本身是自由软件,但依赖不纯,即依赖中至少有一例 contrib 或 non-free 。 「non-free」,本身并非自由软件,无论依赖如何。当然,该软件是可免费使用或试用的。免费一例 https://packages.debian.org/jessie/unrar,试用xx天一例 https://packages.debian.org/jessie/rar。 Ubuntu 最多有四种 「main」,官方维护的自由软件。 「universe」,社区维护的自由软件。 「restricted」,设备专有驱动。 「multiverse」,同 Debian 的「non-free」。 某些另类的第三方源,未必遵循上述惯例。总之,打开仓库目录自己看。 特别之...阅读全文

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

Dubbo 2.7.0发布 分布式RPC服务框架

的异步模型。2.6 及以前的版本,元数据全部存储在 URL 上,配置信息和注册信息只能存储在注册中心上,注册中心的容量和扩展成为瓶颈。这个限制在使用 ZooKeeper 作为注册中心的大规模 Dubbo 应用场景下尤为突出。在 2.7.0 中,通过对 URL 的改造,将 注册中心拆分成了三个中心 ,分别是注册中心、配置中心和元数据中心,三各司其责,不仅有效地解决了上述容量问题,而且很好地适应了微服务的技术架构,用户可以开始自由选择适合自己场景的注册中心和配置中心。2.7.0 将内建支持 ZooKeeper、Nacos 和 Apollo 等第三方注册和配置中心,在后续的版本中,还会进一步提供对 Consul 和 etcd 的支持。另外,通过引入一个全新的元数据中心,将与注册配置无关的服务信息...阅读全文

博文 2019-01-18 09:43:16 debian.cn

Proxy-Go v6.6 发布啦

Proxy-Go v6.6 发布啦。Proxy 是 golang 实现的高性能 http,https,websocket,tcp,udp,socks5 代理服务器, 支持正向代理、反向代理、透明代理、内网穿透、TCP/UDP 端口映射、SSH 中转、TLS 加密传输、协议转换、DNS 防污染代理。 优化了 limitconn 的关闭逻辑, 释放更多资源. http(s)\socks 代理增加了–intelligent, 智能模式设置, 可以是 intelligent|direct|parent 三之一, 默认是:intelligent. 每个值的含义如下. --intelligent=direct, 不在 blocked 里面的目标都直连. --intelligent=parent, 不...阅读全文

博文 2018-12-01 09:52:14 Go v6.6 发布 新增智能模式

深入了解Docker背后的namespace技术

口,这样你的容器将拥有它自己的桥接ip地址,通常是docker0。接下来,我们不再继续讲述如何在namespace安装接口。相关内容将在另一篇文章中讲述。 MNT Namespace mount namespace可以让看到系统中所有挂载点在某个范围下的目录视图。人们经常把它和在chroot中禁锢进程混淆在一起,或是认为他们是相似的,还有人说容器使用mount namespac来把进程禁锢在它的根文件系统中,这都是不对的! 让我们再来拷贝一份skeleton.c用来做挂载相关的修改。可以快速的构建和运行, 从而看下执行mount命令后我们当前的挂载点的样子。 > cp skeleton.c mount.c > gcc -o mount mount.c > ./mount mount...阅读全文

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

7大维度看国外企业为啥选择gRPC打造高性能微服务

gRPC是一个高性能、开源、通用的RPC框架,面向移动和HTTP/2设计,是由谷歌发布的首款基于Protocol Buffers的RPC框架。 gRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单TCP连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。gRPC 1.0版本是2015年面世以后的第一次版本发布,开发可以把该版本用于生产。API现在也是很稳定的。 Bugsnag(注:一家云端bug监控服务商)每天处理数以亿计的错误信息,为了处理这些数据,考虑优先构建一个可扩展,性能强大的后端系统,并从中学到很多有挑战性的技术。最近,我们推出了新版本的仪表板,这个项目要求扩展系统,来处理服务呼叫的显著增加,这些呼叫是跟踪用户发布和会话所需的...阅读全文

博文 2018-03-19 17:51:32 debian.cn

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

差,但是更便宜的成本、更大容量的优势是无法忽视的。随着技术的不断发展和成熟,QLC就像当年TLC一样从不被接纳到广泛认可也是早晚的事情. 其实不管是TLC还是QLC,只要价格够便宜,容量够大,速度够快,寿命有保障,总会获得消费的喜欢,赢得属于自己的市场份额。 而对于HDD来说,QLC的出现将带来更大的威胁。或许真正QLC SSD普及之时,才是HDD 跟我们Say byebye之时。...阅读全文

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

Tmux 快速教程:快捷键和配置

作逻辑 复制粘贴缓冲区 安装的话也很简单,在 mac 下直接 brew install tmux(前提需要安装 homebrew),Debian 下则直接 sudo apt-get install tmux 在终端中输入 tmux 就可以打开一个新的 tmux session,tmux 的所有操作必须先使用一个前缀键(默认是 ctrl + b)进入命令模式,或说进入控制台,就像 vim 中的 esc。 基本操作 信息查询 tmux list-keys 列出所有可以的快捷键和其运行的 tmux 命令 tmux list-commands 列出所有的 tmux 命令及其参数 tmux info 流出所有的 session, window, pane, 运行的进程号,等。 窗口控制 先来看看在...阅读全文

博文 2017-11-07 15:17:49 debian.cn

Docker 快速入门之 Dockerfile

用 docker inspect 命令查看。可用来代替被舍弃的 MAINTAINER 命令。语法: LABEL = = = ... 3.5 EXPOSE EXPOSE 指令用于告诉 Docker 容器监听的特殊端口,但是此时端口还没有暴露给 host ,只有当在运行一个容器显式用参数 -p 或 -P 的时候才会暴露端口。语法: EXPOSE [/...] 3.6 ENV ENV 指令用于设定环境变量。语法: ENV ENV = ... 3.7 ADD ADD 指令用于复制新文件,目录,远程文件到容器中。其中 可...阅读全文

博文 2017-12-16 13:50:31 debian.cn

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

今天,我来为大家解读一幅来自 TurnOff.us 的漫画 “InSide The Linux Kernel” 。TurnOff.us 是一个极客漫画网站,作 Daniel Stori 画了一些非常有趣的关于编程语言、Web、云计算、Linux 相关的漫画。今天解读的便是其中的一篇。 在开始,我们先来看看这幅漫画的全貌! Inside the Linux Kernel 这幅漫画是以一个房子的侧方刨面图来绘画的。使用这样的一个房子来代表 Linux 内核。 地基 作为一个房子,最重要的莫过于其地基,在这个图片里,我们也从最下面的地基开始看起: Filesystem 地基(底层)由一排排的文件柜组成,井然有序,文件柜里放置着“文件”——电脑中的文件。左上角,有一只胸前挂着 421 号牌的小企...阅读全文

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

欧洲核子研究组织(CERN)是如何使用 Linux 和开源的 - 云+社区

CentOS 的构建和分发做出贡献。CERN 帮助 CentOS 提供基础架构,他们还组织了 CentOS DoJo 活动(LCTT 译注:CentOS Dojo 是为期一日的活动,汇聚来自 CentOS 社群的人分享系统管理、最佳实践及新兴科技。),工程师可以汇聚在此共同改进 CentOS 的封装。除了 OpenStack 和 CentOS 之外,CERN 还是其他开源项目的深度用户,包括用于配置管理的 Puppet、用于监控的 Grafana 和 InfluxDB,等等。“我们与全球约 170 个实验室合作。因此,每当我们发现一个开源项目的改进之处,其他实验室便可以很容易地采纳使用。”Bell 说,“与此同时,我们也向其他项目学习。当像 eBay 和 Rackspace 这样大规模的装机量提高了...阅读全文

博文 2021-11-29 13:20:55 腾讯云

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

因为如果攻击利用你的应用程序获得对容器的访问权限将无法像访问 shell 那样造成太多破坏。换句话说,更少的二进制文件意味着更小的体积和更高的安全性,不过这是以痛苦的调试为代价的。 或许你不应在生产环境中 attach 和调试容器,而应该使用日志和监控。 但如果你确实需要调试,又想保持小体积该怎么办? 3. 小体积的 Alpine 基础镜像 你可以使用 Alpine 基础镜像替换 distroless 基础镜像。 Alpine Linux 是: 一个基于 musl libc 和 busybox 的面向安全的轻量级 Linux 发行版。 换句话说,它是一个体积更小也更安全的 Linux 发行版。不过你不应该理所当然地认为他们声称的就一定是事实,让我们来看看它的镜像是否更小。 先修改...阅读全文

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

Git 介绍与使用详解

的 Git 仓库。 3.1在现有目录中初始化仓库 如果你打算使用 Git 来对现有的项目进行管理,你只需要进入该项目目录并输入。 $git init //初始化项目,将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件 $git add . //将所有文件添加到暂存区,或git add * $git commit -m "first commit" //提交到本地仓库 $git remote add origin [email protected]:lingdianguole/spring-boot-practice.git //将本地仓库关联到远程 $git push -u origin master //提交到远程master 3.2克隆远程仓库...阅读全文

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

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

署两个Prometheus实例。两都具有被设置为相同值"one"的集群标签和唯一的副本标签。分发器组件已配置为基于这两个标签执行重复数据删除。如果Cortex在当前规定的时间(超过30秒)内没有从当前副本接收指标,它将故障转移到下一个发送样本的副本。kubectl apply -f k8s-ha/ helm install stable/prometheus \ --name prom-one \ --set server.global.external_labels.cluster=one \ --set server.global.external_labels.replica=one \ --set serverFiles."prometheus\.yml".remote_write...阅读全文

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

Apollo 配置中心简单介绍

钮。 点击后就进入到集群添加页面,一般情况下可以按照数据中心来划分集群,如SHAJQ、SHAOY等。 不过也支持自定义集群,比如可以为A机房的某一台机器和B机房的某一台机创建一个集群,使用一套配置。 4.2.2 在Cluster中添加配置并发布 集群添加成功后,就可以为该集群添加配置了,首选需要按照下图所示切换到SHAJQ集群,之后配置添加流程和3.2添加/修改配置项一样,这里就不再赘述了。 4.2.3 指定应用实例所属的Cluster Apollo会默认使用应用实例所在的数据中心作为cluster,所以如果两一致的话,不需要额外配置。 如果cluster和数据中心不一致的话,那么就需要通过System Property方式来指定运行时cluster: -Dapollo.cluster...阅读全文

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

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

Redis使用的最大内存: maxmemory 100mb 在内存占用达到了maxmemory后,再向Redis写入数据时,Redis会: 根据配置的数据淘汰策略尝试淘汰数据,释放空间 如果没有数据可以淘汰,或没有配置数据淘汰策略,那么Redis会对所有写请求返回错误,但读请求仍然可以正常执行 在为Redis设置maxmemory时,需要注意: 如果采用了Redis的主从同步,主节点向从节点同步数据时,会占用掉一部分内存空间,如果maxmemory过于接近主机的可用内存,导致数据同步时内存不足。所以设置的maxmemory不要过于接近主机可用的内存,留出一部分预留用作主从同步。 数据淘汰机制 Redis提供了5种数据淘汰策略: volatile-lru:使用LRU算法进行数据淘汰(淘汰上次使用时间...阅读全文

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

分布式任务调度平台 XXL

期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址; 6、弹性扩容缩容:一旦有新执行器机器上线或下线,下次调度时将会重新分配任务; 7、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性 HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等; 8、故障转移:任务路由策略选择” 故障转移” 情况下,如果执行器集群中某一台机器故障,将会自动 Failover 切换到一台正常的执行器发送调度请求。 9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度; 10、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务; 11、任务失败重试...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

技术部门的 SEO 规范

为客户提供SEO顾问服务的时候,经常遇到一些作为外部顾问不方便全程参与的情况。比如有的公司要新建网站,或现有网站推到重来,问我能否从一开始就参与,提供SEO建议。 网站规划设计阶段就考虑SEO当然是好事,但作为一个远在异国的顾问,参与到这种需要大量深度讨论、沟通、协调的过程中,实在是不好操作,内部SEO人员更适合这种工作。 有的客户公司规模比较大,技术开发、内容、SEO等各部门是分开的,SEO部门的很多需求是要提交给技术、运营等部门实施的。反过来,其它部门的需求也由技术部门实施,但可就不一定经过SEO部门同意了。这个过程中就可能产生对SEO的不良影响。 也有的公司人员流动频繁,即使原先的开发人员都经过SEO培训,也还是会有完全不了解SEO的新人加入团队。 这些情况都需要有一个技术部门必须...阅读全文

博文 2019-03-28 13:58:51 debian.cn

理解 Linux 的虚拟内存

,使用 sysctl vm [-options] CONFIG 或 直接读写 /proc/sys/vm/ 目录下的文件来查看和修改配置。 SWAP 操作 虚拟内存的 SWAP 特性并不总是有益,放任进程不停地将数据在内存与磁盘之间大量交换会极大地占用 CPU,降低系统运行效率,所以有时候我们并不希望使用 swap。 我们可以修改 vm.swappiness=0 来设置内存尽量少使用 swap,或干脆使用 swapoff 命令禁用掉 SWAP。 小结 虚拟内存的概念非常容易理解,但是它会衍生出来的一系列非常复杂的知识。本文只讲了些基本原理,略过了很多细节,比如虚拟内存寻址中段寄存器的使用,操作系统使用虚拟内存增强缓存、缓冲区的应用等,有机会单独拿出来说。...阅读全文

博文 2018-11-25 11:03:49 debian.cn

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

/python3 您可能还记得Ansible中的库存文件用于指定服务器信息,例如IP地址,远程用户和服务器分组,以作为执行命令的单个单元进行目标。 ~/kube-cluster/hosts将是您的库存文件,并且您已向其添加了两个Ansible组( 主服务器和工作 ),用于指定集群的逻辑结构。 在主服务器组中,有一个名为“master”的服务器条目,列出主节点的IP( master_ip ),并指定Ansible应以root用户身份运行远程命令。 同样,在workers组中,有两个工作服务器条目( worker_1_ip和worker_2_ip ),它们也将ansible_user指定为root。 该文件的最后一行告诉Ansible使用远程服务器的Python 3解释器进行管理操作。 添加文本后保存并关闭...阅读全文

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