不为无益之事,何遣有涯之生

微服务设计迷思 数据存储

概述

后台数据的存储,其演变路线是非常明晰的。从全部用传统DBMS(oracle/mysql)到NoSQL配合db,直到现在的分布式数据库(NewSQL)。对应的,后台服务的主流架构也由单体式到SOA到微服务。当然,OLAP还引入了hbase,hive等大数据分析系统;然后各专业领域还有es或者neo4j之类的数据库,这里先不讨论这个。

Docker常见命令

日志类

1
2
docker logs -f <container> # 查看日志
journalctl

容器类

1
2
3
4
5
6
7
8
docker ps # 查看正在运行的容器
docker ps -a -q # 查看全部容器和信息
docker ps top
docker pull/commit/tag/push/diff/attach
docker create/build/run/rm
docker start/stop/pause
docker  exec -it {{containerName or containerID}} bash  # 进入容器交互
docker cp

镜像

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 列出本地所有镜像
docker images
# 本地镜像名为 ubuntu 的所有镜像
docker images ubuntu
# 查看指定镜像的创建历史
docker history [id]
# 本地移除一个或多个指定的镜像
docker rmi
# 移除本地全部镜像
docker rmi `docker images -a -q`
# 指定镜像保存成 tar 归档文件, docker load 的逆操作
docker save
# 将镜像 ubuntu:14.04 保存为 ubuntu14.04.tar 文件
docker save -o ubuntu14.04.tar ubuntu:14.04
# 从 tar 镜像归档中载入镜像, docker save 的逆操作
docker load
# 上面命令的意思是将 ubuntu14.04.tar 文件载入镜像中
docker load -i ubuntu14.04.tar
docker load < /home/save.tar
# 构建自己的镜像
docker build -t <镜像名> <Dockerfile路径>
docker build -t xx/gitlab .

K8s学习纪要

近两年来,由于互联网规模再次扩大,原有的分布式技术(SOA、ESB等)都存在各种各样的缺陷,不能满足日益复杂的需求,所以各种新概念和框架应用而生,目前服务端最流行的是将复杂业务拆分微服务化,以减轻业务和代码的复杂度。在运维端,使用k8s和docker进行快速部署、扩容、监控、编排、回滚等常见运维操作,同时使用istio等Service mesh组件,达到分布式事务、track、router、限流、断路等常见服务需求。

摄影笔记

参数

  1. 快门:取值的倒数,数据越大快门速度越快。高速记录瞬间,低速记录过程;
  2. 光圈:由于光圈值是以 2 的倍数变化的,直接用光圈数值表示镜头的通光量,光圈直径应呈 √2(约等于 1.4)系数关系递增。光圈值越大,通光量越小,景深越小;
  3. 焦距:即镜片中心到 CMOS 底面的距离,焦距越长,景深越浅,且角度越小;短焦距的一般称作广角镜头,长焦距就称为长焦镜头。
  4. 曝光补偿:用以修正曝光值;
  5. 感光度(ISO):感光度越大,需要的光线越少,但是图像的质量越低。在相同曝光值下,ISO 越低越好;
  6. 长曝光:曝光时间超过 1s,一般用以夜拍,需要三脚架稳定,增大光圈获取更多光线;另外长曝光可以让运动物体呈现梦幻效果(车流、星轨、流水等);

快门的参数

  1. B 门(BuLb),也称为手控快门,是指按下快门时,快门打开,开始曝光,松开快门,快门关闭即停止曝光。也就是说,B 门是由快门按下时间的长短来决定每一次曝光时间的,无需设定曝光时间,可以自由控制。B 门的名称取自英语的“球”(bulb),它起源于旧时照相馆摄影师开启快门时所挤捏的橡皮球。这种橡皮球快门释放装置沿用至今,仍可以在很多现代照相馆的照相机上看到。
  2. T 门,是指按下快门按钮快门打开,开始曝光,而且快门持续打开,直至再次按下按钮时快门关闭即停止曝光。T 门与 B 门在功能上比较接近,由于 T 门无需一直按住快门按钮,即可使快门持续打开,因此 T 门比 B 门使用方便一些。

长曝光

  1. 白天的长时间曝光一般都可以直接使用相机的光圈优先模式,先选定光圈,然后由相机决定快门时间,30 秒内的曝光无需进入 M 档,如果相机出现 LO 字样,则需要切换到 M 档进行曝光;白天的长时间曝光,在相机能够自动识别场景,能进行自动对焦的时候,有主体的画面对着主体对焦,无明显主体的场景对着场景的前三分之一处对焦;有主体但是无法自动对焦时,用强光电筒照亮主体对焦处再按相机自动对焦按钮;对焦完成,切记要把对焦模式转为 MF 手动模式。
  2. 夜间长时间曝光选用相机的 M 档(M 模式),先选定光圈,然后旋转相机的主拨轮调节快门时间,超过 30 秒后就出现 BULB,即相机的 B 门,用 B 门进行长时间曝光;用 B 门进行曝光的时候必须使用快门线;靠手按住相机的快门按钮进行长时间曝光是不现实的,晃动的几率太大,非常容易失败;

倒易率

倒易律指出底片的响应取决于总曝光量,即光线强度 × 时间。因此,在减少曝光时间但增加光线强度的情况下,底片的响应(比如显影后胶卷的光学密度)不变,反之亦然。 换句话说,一般对于某一给定的曝光结果,光圈与快门之间呈反比例关系,即若开大光圈则需要更快的快门以保持曝光不变。

读书笔记-数据密集型应用设计

本书原著为英文,即《Designing Data-Intensive Applications》,主要讲述数据库底层原理和设计思路,读来受益颇多。

基本原则

我们期望数据系统可靠、可扩展、可维护,但是由于 CAP 原理的限制,我们无法完全做到这些,因此在设计分布式数据库系统时,必然存在各种考量与限制。这里的数据库,指的不是狭义的关系型数据库,或者非关系型数据库。而是一种广泛的Data System,包括消息队列、RDBMS, NOSQL, 以及图数据库、列式数据库等等负责存储数据的组件。

0%