自动化运维

马上开始. 它是免费的哦
注册 使用您的电邮地址
Rocket clouds
自动化运维 作者: Mind Map: 自动化运维

1. 安装自动化

1.1. 设置ssh

1.2. 添加用户以及权限

1.3. 设置主机名

2. 部署自动化

2.1. 负载均衡

2.2. 滚动更新

2.3. 回滚

3. 监控自动化

3.1. 增加docker的监控

4. 发布自动化

5. 负载均衡

5.1. Intelligent routing

5.2. Security patching

5.3. closest to the user

6. 数据备份自动化

6.1. MongoDB 备份

6.2. 日志收集

6.3. 创建用户、角色

7. 常用工具

7.1. puppet

7.1.1. ruby

7.2. saltstack

7.2.1. python

7.2.2. 大量服务器

7.3. ansible

7.3.1. 问题整理

7.3.1.1. 服务启动之后不知道是否成功?

7.3.1.1.1. docker

7.3.1.2. pip依赖?需要手动安装

7.3.1.2.1. TASK [docker : install docker-py] ********************************************************************************************************************************************************************************** fatal: [server106]: FAILED! => {"changed": true, "cmd": "python setup.py install >> log.txt", "delta": "0:00:00.014672", "end": "2019-04-04 06:26:46.251944", "msg": "non-zero return code", "rc": 1, "start": "2019-04-04 06:26:46.237272", "stderr": "Traceback (most recent call last):\n File \"setup.py\", line 7, in <module>\n from setuptools import setup, find_packages\nImportError: No module named setuptools", "stderr_lines": ["Traceback (most recent call last):", " File \"setup.py\", line 7, in <module>", " from setuptools import setup, find_packages", "ImportError: No module named setuptools"], "stdout": "", "stdout_lines": []}

7.3.1.3. ansible myhost --sudo -m raw -a "yum install -y python2"

7.3.1.4. google cloud storage

7.3.1.4.1. gc_storage – This module manages objects/buckets in Google Cloud Storage. — Ansible Documentation

7.3.1.5. mongodb

7.3.1.5.1. 部署副本集环境

7.3.2. 无客户端使用ssh控制

7.3.3. python

7.3.4. 适合少量服务器

7.3.5. 配置简单

7.3.6. 批量系统配置

7.3.7. 批量程序部署

7.3.8. 批量运行命令

7.3.9. playbook

7.3.9.1. 1、配置host

7.3.9.2. 2、设置变量

7.3.9.3. 3、编写task

7.3.9.4. YML

7.3.10. 检查配置变更

7.3.11. 资料多

8. 备注

8.1. docker

8.1.1. nginx(编译)

8.1.2. 应用服务

8.1.3. 多版本 java

8.2. 表格梳理现在用的服务

8.3. 滚动升级-不停服务

9. 超级大群

9.1. 存储

9.1.1. 数据结构设计:使用当前加密群的设计

9.2. 消息

9.2.1. 消息存储量?

9.2.2. 查找上下文数据

9.2.3. 成员变化的推送?

9.2.3.1. 退群、踢出群没有系统消息提醒

9.2.4. 如果以前在加密群中的成员退群后再入群是否可以看到以前的加密消息?

9.3. 设计

9.3.1. 转换群设计

9.3.1.1. group->type

9.3.1.1.1. dialog->security

9.3.2. 推送设计

9.3.2.1. 升级超级大群推送

9.3.2.1.1. GroupUpdatedNotif

9.3.2.2. 消息推送

9.3.2.2.1. 跳跃式的推送:router 推送pool

9.3.2.2.2. gateway 检查UserDialog的mute状态 mute==true?不推送:推送

9.3.3. 接口访问频率限制

9.3.3.1. typing(device级别)

9.3.3.1.1. 5s

9.4. 功能

9.4.1. 成员相关

9.4.1.1. 邀请成员接口

9.4.1.1.1. 人数限制10W

9.4.1.1.2. 不需要对SecuredMessage处理

9.4.1.2. 链接入群接口

9.4.1.3. 删除成员接口

9.4.1.4. 获取群成员接口

9.4.1.4.1. 分页

9.4.1.4.2. 排序

9.4.1.5. 获取指定群成员接口

9.4.1.6. 退群接口

9.4.1.6.1. 退群、踢出群没有系统消息提醒

9.4.1.7. 设置/取消管理员接口

9.4.1.8. 创建群邀请token接口

9.4.1.9. 获取token接口

9.4.1.10. 更新群内昵称接口

9.4.1.11. 转让群主接口

9.4.2. 群相关

9.4.2.1. 更新群信息接口

9.4.2.1.1. 更新头像

9.4.2.1.2. 更新名称

9.4.2.1.3. 修改配置(allcanaddmember)

9.4.2.2. 获取群接口

9.4.2.3. 获取我所有群接口

9.4.2.4. 获取共同群接口

9.4.2.5. 升级

9.4.3. 消息相关

9.4.3.1. 发送消息接口(包括发送、撤回等)

9.4.3.1.1. 需要记录撤回消息记录

9.4.3.2. 拉取消息接口

9.4.3.3. 确认(即已读)消息接口

9.4.3.4. 删除消息接口(不支持删除消息)

9.4.3.5. 跳转到@消息接口?

9.4.3.6. 消息搜索功能接口

9.4.3.7. 消息上下文接口(获取搜索结果的上下文)

9.4.3.8. 无秘钥更新

9.4.3.8.1. 不推送

9.4.3.9. 推送参考下TG的实现?

9.4.3.9.1. Typing消息

9.4.3.9.2. 消息发送实现?

9.4.4. 操作记录相关

9.4.4.1. 获取操作记录接口

9.4.4.1.1. 需要支持分页

9.4.4.1.2. 时间范围

9.4.4.1.3. 撤回消息记录

9.4.4.1.4. 删除消息记录

9.5. 时序图

9.5.1. 升级群之后的消息处理逻辑

9.5.2. 升级群的推送

10. 现有服务整理

10.1. 业务系统

10.1.1. 接入层

10.1.1.1. gateway

10.1.1.2. router

10.1.1.3. server

10.1.1.4. monitor(监控服务)

10.1.2. portal(官网&短连接服务)

10.1.3. bot

10.1.4. e-mail

10.1.5. 音视频

10.1.5.1. sip server

10.1.5.2. call server

10.1.5.3. mysql

10.1.5.4. coturn

10.1.6. admin

10.1.7. auth - SSO

10.1.8. file-proxy (nginx)

10.2. 监控

10.2.1. prometheus

10.2.1.1. agent 服务

10.2.1.1.1. system

10.2.1.1.2. MongoDB

10.2.1.1.3. redis

10.2.1.1.4. admin

10.2.1.1.5. consul

10.2.2. grafana

10.3. 中间件

10.3.1. ActiveMQ

10.4. 存储

10.4.1. MongoDB

10.4.2. redis

10.5. 日志收集

10.5.1. elastic search

10.5.2. logstash

10.5.3. kibana

10.5.3.1. auth proxy (go)

10.5.4. filebeat

10.6. 服务发现

10.6.1. skywalking

10.6.2. consul

10.7. nginx