
云计算
文章平均质量分 86
付江
关注软件开发和互联网业界
展开
-
CircleCI每月处理450万次构建背后的技术栈解析
本文是滴滴云编译的【他山之石】系列文章的第1篇,主要介绍国内外热门应用(网站)的技术栈及其考量原因,旨在为大家做技术选型提供一些借鉴和参考。背景CircleCI是一个持续集成和交付的 (CI/CD) 平台,每月处理450万次+的构建系统。成千上万的工程师在上面测试并部署代码,这样他们就可以专注于构建优秀的软件。这些能力依赖于其稳健的技术栈,本文为大家展示CircleCI的技术栈。作为C...原创 2018-08-10 13:51:48 · 944 阅读 · 0 评论 -
基于滴滴云虚拟机的TensorFlow搭建与使用
前言随着AI算法不断发展,对应的应用领域也越来越广泛,比如自动驾驶、语音机器人等技术已经越来越贴近人们的生活。但是AI庞大的算法体系让工程师们望而却步,不知道该如何使用这些算法来解决工程中的实际问题,所以市面上诞生了很多优秀的开源框架,本文介绍的TensorFlow就是其中一款最广为人知的工具集合,文章将从TensorFlow的安装和其在神经网络中的简单使用这两个大方面展开。TensorFlo...原创 2018-11-01 18:03:32 · 602 阅读 · 0 评论 -
Ceph架构原理及使用场景介绍
1.1 Ceph简介Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。1.2 Ceph特点高性能a. 摒弃了传...原创 2018-11-06 13:13:04 · 5049 阅读 · 0 评论 -
Hexo + Github搭建静态博客(一)
本文是滴滴云开源框架教程系列文章的一篇。快速介绍Hexo是一个基于Node.js搭建的静态博客框架,通过Hexo,用户可以以博文的方式发布Markdown文档。结合默认或定制化主题模板(很像其他静态博客生成框架,Jekyll或Ghost)的博文会被转化和生成为HTML/CSS。Hexo所需的所有组件都是模块化的,所以可以按需安装。提前准备跟着本博客,你可能需要提前准备:GitNo...原创 2018-11-06 15:12:22 · 298 阅读 · 0 评论 -
MySQL多源复制实战
本文是滴滴云开源框架教程系列文章的一篇。一、多源复制概述MySQL多源复制使复制从库能够同时从多个源接收事务。多源复制可用于将多个服务器备份到单个服务器,合并表分片,以及将来自多个服务器的数据合并到单个服务器。二、多源复制的配置多源复制拓扑中的主设备可以配置为使用基于全局事务标识符(GTID)的复制或二进制日志基于位置的复制。多源复制拓扑中的从库需要基于TABLE存储,多源复制与基于FIL...原创 2018-11-09 12:17:17 · 1111 阅读 · 0 评论 -
Linux进程网络流量统计方法及实现
1 前言在某些应用安全场景需要结合进程级网络连接、流入流出流量等数据直接分析出进程的异常。例如,在内网主机上是否存在持续恶意外传敏感数据的现象、在网络监控时发现服务器大量带宽被占用但不清楚由系统具体哪个进程占用。为此都需要获取更细粒度的进程级网络流量数据直接锁定异常服务。在Linux系统中都有相应开源工具采集网络连接、进程、流量等信息,像netstat命令查看主机网络连接信息,一般包括最基本的...原创 2018-11-02 13:19:19 · 12741 阅读 · 1 评论 -
分布式存储Ceph之PG状态详解
本文是滴滴云开源框架教程系列文章的一篇。上次分享了《Ceph介绍及原理架构分享》,这次再来分享Ceph中的PG各种状态详解,PG是最复杂和难于理解的概念之一,PG的复杂如下:在架构层次上,PG位于RADOS层的中间。a. 往上负责接收和处理来自客户端的请求。b. 往下负责将这些数据请求翻译为能够被本地对象存储所能理解的事务。是组成存储池的基本单位,存储池中的很多特性,都是直接依托于PG...原创 2018-11-07 13:39:51 · 1891 阅读 · 0 评论 -
基于LNMP的WordPress搭建与速度优化实践
本文是滴滴云开源框架教程系列文章的一篇。前言WordPress是一款非常流行的内容管理系统(CMS),基于MySQL和PHP开发而成。互联网用户可以利用其快速搭建个人博客。本文将演示:如何基于LNMP(Linux, Nginx, MySQL, and PHP)快速搭建一套WordPress,并尝试优化它的访问速度。准备本文基于Linux发行版本Centos7.x配合流行的包管理工具yu...原创 2018-11-07 14:08:55 · 739 阅读 · 0 评论 -
CentOS 7 系统安装与远程连接 MySQL 5.7
本文是滴滴云开源框架教程系列文章的一篇。CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,那么CentOS 7版本如何安装MySQL呢,本文将指导大家具体的方法。以滴滴云DC2云主机上的操作为例,首先切换账户权限到root权限,登录CentOS 7 系统的云主机后输入:[dc2-user@didiyun dc2-user]# sudo su切换成root权限,然后执行下...原创 2018-11-13 16:49:57 · 321 阅读 · 0 评论 -
基于滴滴云DC2+Nginx搭建负载均衡方案
本文是滴滴云开源工具教程系列文章的一篇。Nginx是一款轻量级、高性能的Web服务器,专为高流量应用场景而设计。本文主要介绍它的健康检查和负载均衡机制。健康检查和负载均衡是相辅相成,健康检查能够及时标记出服务异常的后端RS,使得数据面负载到可用的RS上,提高系统的可靠性和高可用。Nginx支持丰富的第三方模块,这里示例以ngx_http_upstream_round_robin(简称RR)做...原创 2018-11-13 17:24:21 · 294 阅读 · 0 评论 -
分布式存储Cephfs读取优化方案
本文是滴滴云开源框架教程系列文章的一篇。1.背景说明继上次的 Ceph介绍及原理架构分享 和 分布式存储Ceph之PG状态详解,这次继续分享干货。用户需要从cephfs存储系统中检索一个大文件指定关键字的一行信息, 并且对延迟和性能要求比较高。2. 原始方案2.1 流程图2.2 说明假如用户拉取的文件大小是16M, 文件按照4M切分,散落到四个数据片上用户首先请求cephfs...原创 2018-11-08 14:03:30 · 3375 阅读 · 0 评论 -
如何基于滴滴云构建更私密的企业/个人网盘空间Seafile
本文是滴滴云开源框架教程系列文章的一篇。Seafile 介绍Seafile 是一个开源的文件云存储平台,解决文件集中存储、同步、多平台访问的问题,注重安全和性能。Seafile 通过“资料库”来分类管理文件,每个资料库可单独同步,用户可加密资料库, 且密码不会保存在服务器端,所以即使是服务器管理员也无权访问你的文件。Seafile 允许用户创建“群组”,在群组内共享和同步文件,方便了团队协...原创 2018-11-08 17:49:20 · 733 阅读 · 0 评论 -
Centos7系统安装JDK8+Tomcat8
本文以滴滴云为例,向广大用户和有兴趣的朋友介绍如何在Centos7系统安装JDK8+Tomcat8。到Oracle官网下载JDK8 64位http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html解压文件切换到root[dc2-user@didiyun ~]$ sudo su[...原创 2018-11-15 15:27:50 · 565 阅读 · 0 评论 -
在滴滴云DC2上基于Gitbook+Nginx构建轻量级文档管理服务
介绍工作中经常会遇到团队文档如何管理的问题,Atlassian之类的太复杂,很多时候并没有成千上万级别的文档需要管理,可能只有几百篇的文章需要管理,今天在滴滴云上给大家演示一下如何快速搭建一个轻量级的文档管理服务。准备工作在滴滴云上申请一个DC2服务器:滴滴云Let’s go进入DC2服务器ssh dc2-user@117.51.159.217安装Node.jswget http...原创 2018-11-15 16:01:18 · 694 阅读 · 0 评论 -
Django + DebugToolbar构建全栈WEB开发
Django是什么Django是Python最流行的WEB开发框架,很多公司都用Django来做项目,内置的ORM模型非常方便和易用,是一个全能的WEB开发框架。Django有很多优秀的特性:Python3完整支持的框架支持Sqlite/MySQL/PostgreSQL等数据库,强大的migrate机制,修改对数据库字段变更非常便利,能自动生成变更的SQL语句,并且做规则检查灵活的模板...原创 2018-11-15 16:38:54 · 1497 阅读 · 0 评论 -
使用滴滴云DC2,在CentOS7安装Redis并进行安全加固
本文是滴滴云开源框架教程系列文章的一篇。简介Redis是开源的内存数据库,并以其良好的灵活性、性能、可扩展性与兼容性著称。Redis本身被设计成客户端授信的环境下进行访问,服务本身并没有强大的安全功能。但是也具有一些关于安全的基本功能,包括访问密码、命令的重命名与屏蔽等能力。本教程提供了如何配置这些安全功能的说明,并且包含CentOS7上能够为Redis提供的安全特性。请注意,本文档不涉及...原创 2018-11-12 16:18:53 · 243 阅读 · 0 评论 -
CentOS 7系统安装 MariaDB
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护。MariaDB完全兼容MySQL,包括API和命令行。本文以滴滴云为例,介绍在CentOS 7系统安装MariaDB。切换成为root[dc2-user@didiyun ~]$ sudo su[root@didiyun dc2-user]#安装Mariadb[root@didiyun dc2-user]# yum...原创 2018-11-14 13:09:14 · 148 阅读 · 0 评论 -
Gitlab CI&CD 在前端项目自动化构建部署中的实践
引言现在大部分的公司都搭建了自己的Gitlab,除了Git的代码管理能力,Gitlab的CI&CD在项目的持续集成和部署上也尽力提高大家的工作效率。下面用我们项目的例子为大家引荐一下这套工具带来的便利。Gitlab CI&CD是什么如上官方图示,可以理解为Gitlab给开发者提供了一项功能,在代码提交后自动触发一段开发者自定义的脚本,以此来完成诸如但不限于构建部署的工作。...原创 2018-11-14 13:40:38 · 5132 阅读 · 0 评论 -
FuzzyLog:偏序关系 shared log 系统
本文是滴滴云开源框架教程系列文章的一篇。摘要本文摘自 Joshua Lockerman等人发表的论文 The FuzzyLog: A Partially Ordered Shared Log 。The FuzzyLog 一文介绍了名为 FuzzyLog 的 shared log 设计。问题大规模系统往往依赖于控制服务(如文件系统中的 namenode)。这类服务从单节点走向分布式时,要想保...原创 2018-11-12 17:33:05 · 495 阅读 · 0 评论 -
Centos 6.9 LAMP及WordPress教程
LAMP即Linux、Apache、MySQL、PHP的简称,目前仍有大量的企业以LAMP为架构的原型基础,搭建自己的服务应用。WordPress是成熟的博客平台产品,本文向广大用户和有兴趣的朋友介绍如何在滴滴云上搭建LAMP和WordPress。其架构示意图如下:购买了云主机相关产品(具体配置及数量请根据自身需求选定)以后,具体的LAMP及WordPress安装操作如下(不同的操作系统安装...原创 2018-11-14 16:20:36 · 232 阅读 · 0 评论 -
LevelDB源分析之compaction过程
1. LevelDB 简介LevelDB 是 Google 开源的一款单机 kv 持久存储引擎,可以看作是BigTable 的单机版本。通过 LSM 树(Log Structured Merge Tree),LevelDB 牺牲了一定的读性能,但提高了写性能。对外 LevelDB 提供了常用的 Put、Get 、Delete 等接口,还支持 Snapshot、Recovery 等操作。本篇文章...原创 2018-11-20 19:19:43 · 1391 阅读 · 0 评论 -
CentOS7 安装Nginx的两种方式
本文将为大家介绍在CentOS7系统下安装Nginx的两种方式。一、编译安装1. 安装编译安装所需要的依赖yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel2.下载Nginxyum install -y wgetwget https://nginx.org/download/nginx...原创 2018-11-16 13:02:40 · 7868 阅读 · 0 评论 -
基于Zookeeper的分布式锁原理及实现(上篇)
1 背景在单进程应用内,我们经常使用锁来保障多个线程并发访问同一资源的互斥性。在多进程、分布式场景下,如果多个系统或者单个系统的多个节点并发访问同一资源,为了保障对资源读写的互斥性,就需要用到分布式锁。而由于分布式场景比单机场景要复杂很多,分布式锁的实现方式也有很多种。我们这里主要介绍使用 Zookeeper 实现分布式锁的原理及实现方式。2 为什么用Zookeeper来实现分布式锁?Zoo...原创 2018-11-21 10:44:48 · 526 阅读 · 0 评论 -
滴滴云部署Hadoop3.1.1
1.本例集群架构如下:此处我们使用的是滴滴云主机内网 IP,如果需要外部访问 Hadoop,需要绑定公网 IP 即 EIP。有关滴滴云 EIP 的使用请参考以下链接。https://help.didiyun.com/hc/kb/section/1035272/master 节点保存着分布式文件的系统信息,比如 inode 表和资源调度器及其记录。同时 master 还运行着两个守护进程:...原创 2018-11-21 10:47:45 · 846 阅读 · 0 评论 -
滴滴云GPU云主机使用EBS数据盘
滴滴云 云主机已经上线了 “通用型” 云主机,所谓通用型云主机主要区别于本地盘的云主机,即使用了高可用云盘以保障数据的安全的云主机。同样,通用型 GPU 云主机可以使用高可用云盘作为系统盘和数据盘。对于系统盘的选定,用户在购买时就需要选择使用云盘系统盘还是本地数据盘,但无论选择哪一种都无需更多的配置。数据盘相对而言具有一定的灵活性,用户可以在购买时选定数据盘,也可以在购买了本地盘 VM 后根据...原创 2018-11-22 11:19:42 · 457 阅读 · 0 评论 -
基于SRS搭建RTMP直播流媒体服务器
软件定位SRS 定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。运营级:商业运营追求极高的稳定性、良好的系统对接、错误排查和处理机制。譬如日志文件格式、reload、系统 HTTP 接口、提供 init.d 脚本、转发、转码和边缘回多源站,都是根据 CDN 运营经验作为判断这些功能作为核心的依据。互联网:互联网最大的特征是变化,唯一不变的就是不断变化的客户要求,...原创 2018-11-22 11:23:11 · 16961 阅读 · 3 评论 -
滴滴云GPU云服务器Ubuntu系统安装Ubuntu桌面
背景滴滴云 GPU 云服务器默认是不提供桌面的,但是有些用户/应用还是会依赖桌面,本教程就是指导用户如何在 Ubuntu 16.04 系统上安装桌面 Ubuntu。步骤1 购买 GPU 云服务器登录滴滴云 GPU 云服务器官网详情页,根据需要选择不同类型 GPU 服务器,注意系统选择带 GPU 标志的 Ubuntu 16.04。购买完成后,登录官网控制台可以看到刚刚购买的机器,查看对应的...原创 2018-11-22 11:27:24 · 1232 阅读 · 0 评论 -
Open-Falcon基础监控系统建设实践(一)
监控,是运维的眼睛,是稳定性建设中最重要的一环。一般来讲,基础监控系统的主要功能就是发现问题。故障发生前,通过监控的看图巡检,发现隐患;故障发生时,通过实时的告警,快速发现问题,定位问题所在;故障发生后,使用过去的历史数据图表,进行事后复盘,避免下次发生。本篇文章,我们不讨论根因定位、故障自愈之类的高端的主题,只跟大家聊一下笔者关于基础监控系统的一些建设心得。一般监控系统的功能一般的基础...原创 2018-11-22 12:30:43 · 1521 阅读 · 0 评论 -
ImageMagick+OpenResty构建图片处理服务
一 前言网页中有很多图片,我们经常需要对图片进行一些基本的加工和处理,常见操作的有裁剪、伸缩、旋转、加水印、格式转换等。本文将使用开源的技术,主要使用 ImageMagick 和 OpenResty,通过编写少量的 Lua 代码和 Nginx 配置文件修改,来实现一个简单的图片处理服务,ImageMagick 处理图片会略耗资源,因此我们对已经处理过的图片用Redis做缓存,相同的URL请求再...原创 2018-11-19 17:43:21 · 1579 阅读 · 0 评论 -
基于滴滴云DC2 Pktgen-DPDK性能压测工具的使用
pktgen-dpdk 简介Pktgen(Packet Gen-erator)是一个基于软件的流量生成器,由 DPDK 快速数据包处理框架提供支持。Pktgen 的一些功能是:它能够生成具有 64 字节帧的 10Gbit 线速流量。它可以以线速充当发送器或接收器。它有一个运行时环境来配置启动和停止流量。它可以显示多个端口的实时指标。它可以通过迭代源或目标 MAC,IP 地址或端口来...原创 2018-11-19 17:57:51 · 689 阅读 · 0 评论 -
本地Windows系统远程连接滴滴云Linux云服务器
如何使用Windows系统远程连接滴滴云服务器是一些开发者比较关心的问题。本文为有这类需求的开发人员介绍一款简单易用、免费且开源的软件——PuTTY供参考。一、Putty介绍PuTTY是一个免费的、Windows x86平台下的Telnet、SSH和rlogin客户端,但是功能丝毫不逊色于商业的Telnet类工具。二、Putty优点用Putty来远程管理Linux十分好用,其主要优点如下:...原创 2018-11-19 19:18:39 · 801 阅读 · 0 评论 -
滴滴云GPU云主机上的GCC编译
有滴滴云 GPU 云主机的用户反馈,在使用 GPU 主机的时候,有些应用场景需要比较高版本的 GCC,如 GCC5.2,而自己构建时碰到了一些状况,不好解决。可能有多种情况导致需要高版本的 GCC,其中有一种情况是对 Cxx 支持能力的要求。这里列上 GCC 对 Cxx 支持能力的链接 https://gcc.gnu.org/projects/cxx-status.html 以做备查。另外一种...原创 2018-11-23 10:57:27 · 351 阅读 · 0 评论 -
基于nginx-rtmp搭建点播平台
序言RTMP(Real Time Message Protocol,实时信息传输协议)协议属于应用层协议,靠底层的 TCP 来保证信息传输的可靠性。它由 Adobe 公司提出,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题。nginx-rtmp 是由俄罗斯人开发的 NGINX 模块,该模块完善了 NGINX 对视频的支持,并且实现了对 HLS...原创 2018-11-23 10:59:44 · 597 阅读 · 0 评论 -
在滴滴云主机DC2中采用 CentOS 6.9 部署 Redmine 3.3
什么是 Redmine先介绍下今天的主角 Redmine:Redmine 是一套基于 Ruby,提供灵活项目管理的 Web 应用程序。它支持多项目管理,支持基于角色的访问控制,甘特图、日历、新闻、文档以及文件。并支持项目级别的 wiki、论坛、SCM 等内容。从 Redmine 官网可了解到,现在拥有的版本如下:Redmine versionSupported Ruby vers...原创 2018-11-26 10:33:33 · 181 阅读 · 0 评论 -
国内在Minikube上搭建Knative及示例演示
1. 什么是serverless?什么是knative?什么是 severless, 下面是 CNCF 对 serverless 架构给出的定义:“Serverless computing refers to the concept of building and running applications that do not require server management. It de...原创 2018-11-26 10:35:39 · 4387 阅读 · 0 评论 -
Docker_LXC 容器在 Linux 中正确获取 Loadavg 的解决方案
背景本文主要解决如何在 Linux 容器中正确获取 Loadavg 信息。我们 cat /proc/loadavg 时会发现如下值:$ > cat /proc/loadavg0.64 0.81 0.86 3/364 6930这些值的含义依次为:0.64:1-分钟平均负载。0.81:5-分钟平均负载。0.86:15-分钟平均负载。3: 在采样时刻,运行队列的任务的数目。...原创 2018-11-29 12:50:47 · 1011 阅读 · 0 评论 -
在滴滴云 DC2 服务器上搭建 Gitlab+Jenkins 的集成环境
前言GitLab 是使用 Git 作为代码管理工具,并在此基础上搭建起来的 Web 服务。GitLab 含有全部历史记录和修订追踪能力,不依赖于网络连接或中心服务器。其最大特色就是“分支”及“合并”的操作非常快速、简便。作为目前使用最为广泛的代码管理工具之一,GitLab 被人们广泛使用。而针对 GitLab,也存在很多种自动化集成部署的解决方案。本文将简单介绍如何使用 Docker 的方式...原创 2018-11-29 12:51:59 · 223 阅读 · 0 评论 -
搭建前端错误监控系统
当我们完成一个业务系统的上线时,总是要观察线上的运行情况,查看日志发现问题并进行优化迭代。因为测试永远无法做到100%覆盖,用户也不会总是按照我们所预期的进行操作,因此我们需要在系统异常时主动对其进行收集上报,以制定解决方案。当生产环境中产生了一个 bug 时,如何做到迅速报警,找到问题原因,修复后又如何在线上验证?此时我们需要一个高效的错误监控系统。前端错误监控后端有各种强大的监控服务,...原创 2018-11-29 12:59:20 · 801 阅读 · 0 评论 -
滴滴云部署 Hadoop2.7.7+Hive2.3.4
1.本例集群架构如下:此处我们使用的是滴滴云主机内网 IP,如果需要外部访问 Hadoop,需要绑定公网 IP 即 EIP。有关滴滴云 EIP 的使用请参考以下链接:https://help.didiyun.com/hc/kb/section/1035272/Master 节点保存着分布式文件系统信息,比如 inode 表和资源调度器及其记录。同时 master 还运行着两个守护进程:...原创 2018-11-29 16:54:35 · 2555 阅读 · 1 评论 -
一次Redis未授权访问漏洞入侵分析
0x00 简介通过之前部署的蜜罐系统,我近日在滴滴云上捕获到了一个通过 Redis 未授权访问漏洞进行入侵的蠕虫样本,该样本的特点是使用 Python 脚本进行横向漏洞扫描,并且具有进程隐藏和卸载某些云上安全产品的功能。0x01 样本分析通过蜜罐日志得到攻击者入侵开始于通过 Redis 写 crontab:命令中的 URL https://pastebin.com/raw/1NtRkBc...原创 2018-11-26 17:08:20 · 1817 阅读 · 0 评论