对于基础组件我们要做什么? 一、从常见的分布式基础组件说起 在微服务架构下,涉及到的主要基础架构组件包括: 分布式服务化框架。比如,Dubbo、Spring Cloud; 分布式缓存及框架。比如,Redis、Memcached; 分布式消息中间件。比如,Kafka、RabbitMQ、ActiveMQ以及RocketMQ等; 数据库以及分布式数据库框架。比如,MySQL、MariaDB、TiDB等; 分布式文件系统以及存储框 2021-01-24 Ops #运维观
高效的Ops为什么要从标准化开始? todo 一、从标准化开始谈起 1.1、什么是标准化 简单来说,标准化就是一个识别运维对象、建立对象模型的过程。 在有了统一的对象模型后,我们就能在统一的认识下开展有效的协作。进而就可以针对不同的运维对象,抽取出它们所对应的运维场景,最后就是这些运维场景的自动化实现了。 1.2、为什么要标准化 标准化的最终目的是为了自动化。在进行了标准化后,我们日常的运维工作就可以针对具体对象的具体场景进行展开。 2021-01-17 Ops #运维观
微服务时代,为什么要以“应用”为核心? todo 一、应用的起源 微服务架构一般都是从单体架构或分层架构演化过来的。软件架构微服务化的过程,就是一个根据业务模型不断进行细化的过程,在这个过程中切分出一个个具备不同职责的业务逻辑模块(即微服务模块),然后每个微服务模块都会提供相应业务逻辑的服务化接口。 简单来说,微服务化的核心就是一个字:拆。从一个单体工程,拆分出N个独立的模块。这些模块都可以独立部署和运行,并提供对应的业务能力。拆分后的 2021-01-16 Ops #运维观
Terraform核心概念 todo 一、Provider:基础设施管理驱动 Provider是Terraform中一个非常重要的组件,它是一个用来管理基础设施的后端驱动,可以理解为Terraform的插件。每个云服务厂商会实现面向各家云服务的Provider,其中会包含资源元数据的定义,上层请求的处理和后端OpenAPI的调用以及响应处理。 Terraform调用不同的Provider完成不同类型资源的统一管理,目前大多数 2021-01-05 DevOps #Terraform
Terraform快速入门 todo 一、安装 Terraform是以二进制可执行文件发布的,只需下载terraform,然后将terraform可执行文件添加到系统环境变量PATH中即可。下面以Linux系统为例: 1234mkdir -p ~/terraform && cd $_wget https://releases.hashicorp.com/terraform/0.14.3/terraform_0 2021-01-04 DevOps #Terraform
Terraform简介 基础设施即代码(Infrastructure as Code),是指将云资源、服务或操作步骤以代码的形式定义在模板中,借助编排引擎,实现资源的自动化管理。而这也是资源编排最高效的实现模式。下面,我们就来认识一下Terraform这个IaC工具。 一、我们为什么需要Terraform 在传统运维模式下,业务上线需经过设备采购、机器上架、网络搭建和系统安装等准备阶段。随着云计算的兴起,各大公有云厂商均 2021-01-04 DevOps #Terraform
Lua面向对象 对象由属性和方法组成。Lua中最基本的结构是表,因此可以使用表描述对象属性,用Lua的函数来表示方法。即,Lua中的类可以通过表+函数模拟出来。至于继承,则可以通过元表模拟出来(不推荐使用,在Lua中模拟最基本的对象特性,通常情况下就够用了)。 一、Lua中的面向对象 Lua中的表在某种意义上就是一种对象。我们可以使用表和函数实现面向对象,将函数和相关数据放置于同一个表中就形成了一个对象。我们来看 2020-12-21
Lua元表 在Lua中,一个表可以通过key访问到对应的value,但是无法直接对两个表进行操作。因此,Lua提供了元表(metable),它允许改变表的行为,而每个行为都会有对应的元方法。 一、理解Lua元表 Lua中,元表的表现行为类似与C++中的操作符重载。比如,我们可以通过重载__add元方法,来计算两个Lua数组的并集,如下示例: 1234567891011121314151617181920212 2020-12-20 Lua #Lua元表
集群部署2:搭建一个完整的Kubernetes集群 todo 一、准备工作 首先,准备机器。最好能有三台或三台以上的机器,虚拟机和物理机都行。这些机器最好能满足如下要求: 2核CPU、8GB内存; 30GB磁盘(注:磁盘上要有未使用的分区,否则就要多加一块为使用的磁盘); 64位的Linux操作系统、3.10 及以上的内核版本; 内网互通; 能访问外网; 禁用防火墙和Swap; 然后,实际部署前我们先明确一下目标: 在所有节点上安装 Dock 2020-12-18 容器 #Kubernetes
Lua Table库 Lua表的功能十分强大,几乎能存储Lua中的所有数据类型。在Lua编程中经常会对表进行一些操作,Lua内建了一些操作表的函数,通过它们可以极大的提高编程效率。 一、getn getn函数用于获取表的长度,等同于一元操作符#,其语法为: 1table.gent(t) 我们来看如下代码: 12345678910111213local t = {1,2,3,4}print(table 2020-12-17 Lua #Table库