康凯 发布于 05月23, 2021

使用 Go 实现 TLS socket server

安全传输层协议 TLS,以前称为 SSL(Secure Sockets Layer) ,由于HTTPS的推出受到了很多人的欢迎。但是正如TLS的名称 Transport Layer Security 所示的那样,它实际上是独立于 HTTP,一个更深入的安全协议,我们可以将 TLS 视为 TCP 的安全版本,其提供了对 socket 通信进行加密和签名的功能。在我们的日常开发中,会将 gRPC 协议运行在TLS之上以确保安全。

今天我们来了解一下如何创建一个通过 TLS 加密的 socket 服务。

阅读全文 »

武伟 发布于 09月22, 2020

Golang 项目布局浅析

开发Golang项目经常遇到的一个常见问题是如何组织项目结构布局。开始编码之前,我们需要先明确一些问题:

项目结构如何反映代码的引入方式? 除代码外,如何组织项目的命令行工具? 如何灵活的在不同模块间组织项目代码? 多个包如何在一个模块中共存?

阅读全文 »

刘磊 发布于 08月23, 2020

利用 S3-tests 测试 S3 接口兼容性

一、介绍

在新版本对象存储迭代研发、测试过程中,为了方便、准确验证 S3 接口协议兼容性,我们内部配置了 Ceph 官方采用的兼容性测试工具 s3-tests ,该工具基于 Python Nose 测试框架和官方的 Boto 库(同时支持 boto 2 / boto 3),并通过结合 HTML 扩展可将测试结果输出到Web界面,通过页面查询相关测试统计、分析结果。

阅读全文 »

樊全青 发布于 06月27, 2020

云平台队列服务-Qbus实践

![队列服务 kafka 云平台 sre

这篇文章不涉及到队列底层具体实现原理。今天只讲把服务上到私有云的过程,希望给有相同需求的各位带来一点有价值的东西。

服务介绍

Qbus作为云平台队列服务,服务于公司各个业务线,目前每天流量PB+,topic 1W

Qbus以kafka组件为核心,及其周边配套服务 ,包括日志收集各种语言的sdk, 持久化存储到hdfs业务定制监控等服务。

阅读全文 »

萧明旭 发布于 05月25, 2020

RPM打包之路

RPM打包之路

  1. 什么是RPM
  2. 运用rpmbuild生成RPM
  3. 运用fpm生成RPM
  4. 运用自动化工具生成RPM

什么是RPM

RPM早期被称为RedHat Package Manager,但由于目前RPM非常流行,且已经成为Linux工业标准。所以RPM现在又被称为RPM is Package Manager。 RPM管理支持事务机制,增强了程序安装卸载的管理。 RPM的功能:打包、安装、查询、升级、卸载、校验、数据库管理。 YUM被称为 Yellow dog Updater, Modified,是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。YUM客户端基于RPM包进行管理,可以通过HTTP服务器下载、FTP服务器下载、本地软件池的等方式获得软件包,可以从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系。

阅读全文 »

admin 发布于 04月17, 2020

Etcd集群的介绍和选主应用

背景介绍

在实际生产环境中,有很多应用在同一时刻只能启动一个实例,例如更新数据库的操作,多个实例同时更新不仅会降低系统性能,还可能导致数据的不一致。但是单点部署也使得系统的容灾性减弱,比如进程异常退出。目前进程保活,也有很多方案,如supervisor和systemd。但是,如果宿主机down掉呢?所有的进程保活方法都会无济于事。本文基于etcd自带的leader选举机制,轻松的使服务具备了高可用性。

阅读全文 »

朱金贺 发布于 12月25, 2019

无浮动IP的虚机出公网流量路径

Neutron构建网络时涉及的知识点比较广, 虚拟化网络实施上又具有非常大的灵活性, 这往往会让接触的同学摸不着头脑. 本文特意对"无浮动IP的虚机出公网流量路径"这一场景进行分享, 同时对涉及到的组件和知识点进行简要介绍, 希望能给对虚拟化网络感兴趣的同学一些帮助.

公司内虚拟化网络实施有很多种方式, 为什么单挑这个场景进行分享呢, 这主要是因为这个场景的链路相对比较长, 涉及到的知识点比较全, 没有硬件厂商的绑定具有通用性.

阅读全文 »

陆源 发布于 12月15, 2019

Thanos 简介和实践

随着 Openstack 集群规模越来越大,多机房的Region 全国各地机房落地使用,后期计算、存储资源扩容带来了监控数据指数级增长,如何稳定、永久存储监控数据、快速查询热数据与历史数据一直是大规模云计算集群存在的问题,当然Openstack 社区的 Ceilometer 、Gnocchi、Aodh项目未能很好解决我们目前存在的问题,在这里我将介绍CNCF大杀器, Thanos + Prometheus TP组合(PS:并不是银弹)在Openstack与ceph集群 中概念和使用。

本文阅读大约需要:5分钟

阅读全文 »

刘毅 发布于 12月14, 2019

AIOps中异常检测简单的应用

1. 异常检测简介

异常点也称为离群点,一般由于数据来源于不同的类型,噪声或者收集时的误差所产生。所谓异常检测,就是利用某些方法将异常点找出来。异常检测的应用有很多,这里只做简单的举例,例如在数据预处理方面可以用于去噪,在运维领域则产生报警,在金融和安全领域中,异常检测可以帮助判断数据波动以及是否受到攻击等等。

阅读全文 »

覃士林 发布于 11月04, 2019

influxDB集群模式实践

一、基础概念

TSDB与传统DB比较


  1、传统数据库多用于记录数据的当前值。

  2、时序数据库记录基于时间的一系列数据。

TSDB应用场景


   由时序产生,并且需要展现其历史趋势、周期规律、异常性的,进一步对未来做出预测分析的,都是时序数据库适合的场景。具体场景:各类设备的监控数据,医学中的血糖、血压、心率的监控数据,金融业中交易、成交数据等。

阅读全文 »