Robin Blog

Stay hungry, Stay foolish

容器化 MongoDB 集群

Containerized MongoDB Cluster

MongoDB Cluster Architecture MongoDB 有两种集群的架构,分别是 replication 和 sharding。这两种架构各有侧重点,分别使用不同的应用场景:Replication 主要通过主从多副本,保证数据的可靠性; Sharding 主要是通过数据的分片,保证数据的可用性和高并发。下面主要介绍如何容器化 replication 类型的 MongoDB...

VS Code使用场景的快捷键

Shortcut Keys for VS Code Use Cases

使用 VS code 的常见场景: 打开 VS code 选择并打开项目和文件 编辑文件 终端执行命令 打开 VS code ⌘+space 启动 spotlight,输入 vs 进行搜索,选择 VS code,并回车。 选择并打开项目 Shortcut Function ⌘B ...

镜像仓库中镜像存储的原理解析

Principle of Image Storage in Docker Registry

镜像仓库主要是用来存储和分发镜像的,并对外提供一套 HTTP API V2。镜像仓库中的所有镜像,都是以数据块 (Blob) 的方式存储在文件系统中。 支持多种文件系统,主要包括filesystem,S3,Swift,OSS等。 下面详细介绍一下,镜像的所有数据,是如何存储在镜像仓库的文件系统中的。 实验 实验目的:同一镜像,在不同镜像仓库中,存储的方式和内容完全一样。 实验环境 ...

如何高效管理Github Upstream和Fork项目

How to Effectively Manage Github Upstream and Fork Projects

参与Github开源项目的一般流程是先fork开源项目,然后基于自己fork的项目开发,最后通过提交PR将自己的代码merge到开源项目中。 这里会涉及到两个项目:开源项目(上游项目)和自己fork的项目,它们之间最终通过PR关联起来。 但是,由于Golang特定的依赖使用和管理模式,导致这种方式针对于Golang项目会有些问题。下面以一个Golang项目为例子,介绍如何高效地在上游项目和f...

DevOps,并不那么遥远

DevOps, Is Not Far Away

这篇文章发表于Caicloud官方微信公众号:DevOps,并不那么遥远 DevOps最早是在2009年被人提出,不过刚开始只是停留在概念上。虽然愿景非常美好,但是真正实施起来非常困难。随着最近几年微服务、容器等技术的兴起, 使得企业对DevOps的需求更加迫切,实施变得更加容易,DevOps才逐渐被接受和重视。 什么是DevOps DevOps不是简单地等价于Dev + ...

Golang中HTTP Request的Auth认证

HTTP Request with Auth in Golang

绝大多数系统为了安全考虑,都会有认证机制,需要用户先登录,才能进行操作。如果是通过程序去调用这些系统的REST APIs,request请求中必须带有 Authorization信息,才能被这些系统接受和响应。 HTTP Request的Auth机制常用的主要有两种: Basic Auth:通过username和password来进行认证,是一种最简单的机制。 Bearer To...

Mac使用技巧:快捷键

Mac Tips: Shortcut Keys

Overview 真实键盘 字符显示键盘 特殊符号对照表 输入特殊符号: ⌘⌃space Category ⌘基本操作 Shortcut Function ⌘C 复制 ⌘V 粘贴 ⌘X ...

Golang依赖管理工具:Dep

Golang Dependency Management Tool: Dep

由于 Golang 作者跟 Dep 作者在 Dep 设计上的分歧,Golang 官方在 2018 年 5 月开始推 Go modules,并在 Go 1.13 中默认启用。 曾今自认为 Golang 官方的实验性工具就此没落,很少再有人维护了。因此,建议 Dep 用户迁移到 Go modules。 对于任何编程语言,依赖管理都是其必须考虑的一个问题。尤其是在大规模协作的软件开发中,...

Jenkins的正确打开方式

The Correct Way to Open Jenkins

Jenkins是大家所熟知而且应用最广泛的持续集成工具。其前身是Hudson,是由当时还在Sun工作的日本人Kohsuke Kawaguchi于2004年开始的,没想到13年过去了还能统治着CI领域,不得不感叹其强大的生命力。Sun被Oracle收购之后,Oracle于2010年12月将Hudson申请为注册商标。社区对此不买账,于是在2011年将Hudson更名为Jenkins。 Bac...

企业级镜像仓库中Docker Image命名规范

Docker Image Name Convention for Enterprise Docker Registry

Target 方便使用:统一规范的命令规则,使image name能够清晰的描述该image的环境信息和用途。 方便维护:能够有效地对所有image进行展示和查询,定期对无用image进行清理,释放存储空间。 方便管理:只有Image name满足一定规范,才能精确地对所有image进行配额管理和权限控制。 Background Image Types 基础镜像...