基础架构

Codis集群搭建摘要

青春壹個敷衍的年華 提交于 2020-05-05 15:28:13
本文主要介绍Codis编译过程中的一些注意事项和Codis集群的搭建。 #准备方案 ##Golang环境搭建 环境搭建很简单,下载go1.4.2.linux-amd64.tar.gz安装包,直接解压并添加到环境变量就可以。 假设解压到/usr/local/go下,这个目录就是GOROOT,另外需要定义一个go开发目录,假设为/workspace/golang。 go开发目录未来会产生一些主要的子目录: 1. src 存放源码 2. pkg 编译后生成的文件 3. bin 编译后生产的可执行文件(比如godep命令在安装后就会放在这个目录下) 环境变量添加: export GOROOT=/usr/local/go export GOPATH=/workspace/golang PATH=".:$PATH:$GOROOT/bin:$GOPATH/bin:$ZOOKEEPER/bin" 生效后就可以执行go version查看go的版本信息。 将$GOPATH/bin加入PATH是为了让一些开源的或者自己安装的go扩展命令(如godep)可以全局使用。 ##Codis下载和编译 最新版的Codis位于[ https://github.com/CodisLabs/codis ] 通过下面命令获得源码 go get -u -d github.com/CodisLabs/codis

如何使用 Docker、ECS、Terraform 重建基础架构?

南楼画角 提交于 2020-01-10 10:28:27
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 早期 Segment 基础架构普遍组合在一起。我们通过 AWS 界面设定实例,使用许多闲散的 AMI,并且采用三种不同的部署方式。 然而随着商业的飞速发展,工程师团队的规模不断扩大,基础架构的复杂度也不断提高。提高生产效率的方法仍旧只在一小部分人中间传播,虽然生产效率在不断提高,但是如果想一直保持高速增长,还要全面修整基础架构。 因此,几个月前,我的团队一起讨论:「如果今天重新设计基础架构,会是怎样一种结构?」。 10个星期后,我们彻底重构了基础架构。我们放弃了几乎所有实例与旧的配置,将我们的服务转移到 Docker 容器中运行,并且转而使用全新的 AWS 账号。 在此我们花了很长时间思考如何将产品架构变得简单、易用且可审计,同时保留扩展的灵活性。 以下是我们的解决方法。 使用不同的 AWS 账号 我们并不使用 Region 和 Tag 来区分不同的阶段如预发布环境和生产环境,而是使用完全不同的 AWS 账号 。我们必须保证设定脚本不会影响正在运行的服务。同时,新的账号就像白纸一样,可以重新开始。 此处, ops 账号作为跳跃点和集中登陆点。公司内的每个人有一个 IAM 账号用于登陆。 其他环境有一组 IAM 角色可以相互切换。这意味着,管理账号只有一个登陆点,也只有一个位置限制访问。 比如:Alice