目录

Life in Flow

知不知,尚矣;不知知,病矣。
不知不知,殆矣。

DDL、DML、DCL、DQL

操作语句分类 DDL 数据定义语言 (Data Definition Language) 例如:建库,建表 DML 数据操纵语言(Data Manipulation Language) 例如:对表中的数据进行增删改操作 DQL 数据查询语言(Data Query Language) 例如:对数据进行查询 DCL 数据控制语言(Data Control Language) 例如:对用户的权限进行设置 常见表常用数据类型  数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。有一些数据是要存储为数字的,数字当中有些是要存储为整数、小数、日期型等... <1>整数型 类型 大小 范围(有符号) 范围(无符号unsigned) 用途 TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32768,32767) (0,65535) 大整数值 MEDIUMINT 3 字节 (-8388608,8388607) (0,16777215) 大整数值 INT 4 字节 (-21474....

Centos7 Features

Hostname 临时修改(需要开启新的会话) [root@localhost ~]hostname test123 永久修改 [root@localhost ~]# vim /etc/hostname localhost.localdomain OS Directory Detail / #根目录,起点。 etc # 系统和应用的配置文件 home #普通用户的家目录 bin #可执行二进制文件 (系统指令) bin -> /usr/bin sbin #可执行二进制文件(超级用户指令)sbin -> /usr/sbin usr # 可执行二进制文件(用户程序) boot #系统引导目录(存放系统引导文件) lib # 系统库文件 tmp #临时文件(此自带定时清理机制,不适合存放需要长期持久化的数据) var #系统日志(/var/log)、帮助文档、比较杂乱。 proc #保存进程的动态信息(内存使用率、CPU使用率等…) sys #/proc类似,是一个虚拟的文件系统,主要记录与系统核心相关的信息(系统当前已经载入的模块信息等,这个目录实际不占磁盘容量)。 dev....

微服务核心概念梳理

软件架构的进化  软件架构是在软件的内部,经过综合各种因素的考量、权衡,选择特定的技术,将系统划分成不同的部分并使这些部分相互分工,彼此写作,为用户提高需要的价值。 因素考量 业务需求 技术栈 成本 可扩展性 组织架构(分工) 可维护性 架构进化史   一层架构 -> MVC -> Dubbo 单体架构  功能、业务集中在一个发布包里,部署运行在同一个进程中。 易于开发 易于测试 易于部署 易于水平伸缩(新建服务器、配置好环境、复制软件包)  致命的硬伤: 代码膨胀、难以维护。(分析、定位、修复、成本高) 构建、部署成本大 新人上手困难 创新困难 可扩展性差 微服务间如何通讯 通讯模式角度考虑 xxx一对一一对多 同步请求响应模式,最常见—— 异步通知/请求异步响应发布订阅/发布异步响应 从通讯协议角度考虑 REST API RPC(dubbo、dubbox、motan、grpc、thrift) MQ (发布订阅模式) 如何选择RPC框架 I/O、线程调度模型(NIO、BIO、长连接、短连接、单线程、多线程、线程调度算法的性能如何) 序列化与反....

Kubernetes

常见容器编排技术 docker compose(单机)、docker swarm(集群)、docker machine(快速创建一个docker host) mesos、marathon kubernetes DevOps CI:持续集成。Continuous Integration CD:持续交付。Delivery CD:持续部署。Deployment DevOps、MicroServices、Container 微服务可以充分利用容器技术本身的特性(分发、构建、部署)。 容器技术弥补了DevOps中的交付环节和部署环节的裂缝,使得DevOps可以落地。DevOps又进一步推动了容器编排技术。 DevOps思想落地于容器编排技术之上。 IaaS、PaaS、SaaS Kubernetes简介  舵手,源于谷歌的Borg系统,Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

Swarm

分布式系统中多容器管理的困难   生产环境中同一种类型的容器往往散落在各个主机节点上,因此无法回避下列问题: 怎么去管理这么多容器? 怎么能方便的横向扩展? 如果容器down了,怎么能自动恢复? 如何去更新容器而不影响业务? 如何去监控追踪这些容器? 怎么去调度容器的创建? 保护隐私数据? Docker Swarm Mode Architecture  综上所述,容器编排应运而生,docker的容器编排工具的实现有很多,只不过swarm是内置于docker的容器编排工具,由docker公司内置到docker中。 Service & Replicas * 在docker swarm模式下Service的概念和Docker Compose中的概念基本一致。 * 在Replicas横向扩展模式下,每个Replicas都是一个实际的容器,每个容器都会根据调度系统的计算,被分配在不同的node上运行。也就是说,通过Swarm Manager部署去部署一个Service时候,其实是不知道容器最终会运行在哪些swarm节点上的,这取决于Swarm的调度算法的计算结果(例如:根据节点....

Docker Compose多容器部署

多容器的APP的痛点 要从Dockerfile build image或者Dockerhub拉取iage 要创建多个container 要管理这些container(启动停止删除) 一个应用可能由多个容器之间相互配合完成,追个容器进行管理成本高,将多个容器定义为一个组,对组进行统一的管理。 微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知。 Docker Compose简介  使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具。 Docker Compose是一个工具。 这个工具可以通过yml文件定义多容器的docker APP。 通过一条命令就可以根据yml文件的定义去创建或管理多容器。 yml概念 Services 一个service代表一个container,这个container可以从dockerhub的image创建而来,或是从本地的Dockerfile build构建的image创建而来。 Service的....

Docker的持久化存储和数据共享

Container Layer  数据默认会写在Container Layer层,如果删除容器则应用数据也会随之消失,应用数据的生命周期随容器的生命周期。 Docker持久化数据的方案 基于本地文件系统的Volume。可以在执行Docker create或Docker run时,通过-v参数将主机的目录作为容器的数据卷。 基于plugin的Volume,支持第三方的存储方案,比如NAS,AWS。 数据持久化:Data Volume * 受管理的Data Volume,由docker后台自动创建。 * 绑定挂载的Volume,具体挂载位置可以由用户指定。  不管以上哪种方式都需要在Dockerfile内指定VOLUME。 [root@localhost ~]# docker run -d --name mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql # 查看volume [root@localhost ~]# docker volume ls local d4c4991c29f14a193f87460de0b847ec30f5f4d1....