架构师技能图谱
2025-03-26 21:56:48 0 举报
AI智能生成
架构师技能图谱
作者其他创作
大纲/内容
架构设计
扩展性设计
可用性设计
可靠性设计
一般性设计
负载均衡设计
DNS轮询
动静态分离
静态化
反向代理
LVS
过程保护设计
连接池
串行化技术
影子Master架构
批量写入
配置中心
去中心化
如何设计一个服务框架
最简化的思路
服务需要注册中心, 服务提供者 注册自己的服务, 服务消费者订阅自己的服务
使用zk,分别创建服务目录, 同时创建该服务的 提供者和消费者目录
发起请求时, 基于动态代理,客户端使用在本地的动态代理,向远端发起请求
向哪个机器发送请求,使用负载均衡算法
怎么发送请求呢,Nety
消息如何序列化呢?
服务器端 针对服务启动动态代理,监听某个网络端口, 代理本地的服务代码
开发语言宝典
编程范式
非结构化
面向对象
命令式
结构化
过程式
泛型/模板
原型
主流语言
**函数式**
Common Lisp
Clojure
Haskell
Erlang
F#
Prolog
**多范式**
Scala
Python
Ruby
Go
ECMAScript
**静态类型**
C
C++
Java
C#
D
**脚本语言**
Perl
R
Visual Basic .NET
**汇编与低级语言**
Intel 汇编
x86/amd64 汇编指令
AT&T 汇编
工业与科学计算
MATLAB
FORTRAN
Mathematica
数据库与查询语言
T-SQL
PL/SQL
XQuery
LINQ
Web相关
HTML
CSS
XML
XSLT
DHTML
分支主题
通用机制
RPC
MQ
Cron
同步
可靠性
NSR
一、简述
NSR是在有主用主控板和备用主控板的设备上,主用主控板发生故障时不影响邻居关系的可靠性技术。13;两个高可靠性方案:不间断转发NSF和不间断路由NSR
二、可靠性方案
NSF
通过GR机制,实现系统主备倒换,转发业务不中断。13;例如:由于某种原因系统发生故障,系统重启而转发平面不中断。13; 系统恢复后,设备重新建立邻居关系,重建路由表。
NSR
通过协议备份机制,实现主备倒换时控制层面和转发层面业务都不中断。
特点:13;①邻居和拓扑不丢失13;②邻居关系不中断
优点:13; ①不依赖也不影响对端设备,没有互通问题13; ②路由收敛比NSF快
三、原理描述
相关概念(5概念)
HA
高可靠性/高实用性简称,指主备板间的备份通道。
NSF
不间断转发
NSR
不间断路由
AMB和SMB
主用主控板和备用主控板,单板上承载控制平面进程。
LPU
接口板、单板上承载转发控制进程。
工作原理
批量备份:13; 背板复位重启时,主用主控板将路由信息和转发信息备份到备用主控板上。
实时备份:13; 批量备份后,进入实时备份,控制层面和转发层面的改变都将从主用主控板备份到备用主控板上。
主备倒换:13; 主用主控板故障,备用主控板通过硬件感知故障,并成为新的主用主空板,然后将接口板的报文上送通道。
注:批量备份过程在实时备份过程之前进行,此时NSR无法实施主备倒换过程。
分支主题
四、什么时候使用NSR?
①系统故障触发主备倒换
②软件升级或系统维护时网络管理员手动触发主备倒换
五、使用NSR的限制
①单主控的系统,不能使用NSR实现高可靠性。
②批量备份之前主用进程发生故障,备用进程的状态是不可预知时,此时使用的是NSF
③启用了NSR的系统不支持系统级GR、ISSU
思路分析:第一我们要知道什么是NSR?第二要知道NSR中有哪些方案?第三工作原理是怎样的?第四什么时候使用NSR?第五使用NSR的限制是?
GR
OSPF GR
概述
GR被称为平滑重启,用于保证当路由协议重启时数据正常转发且不影响关键业务的技术。
控制层面的重启不影响转发层面,控制层面邻居关系的重建及路由计算等不影响转发层面的功能13;避免了路由振荡引发的业务中断,提高了整网的可靠性。
概念(4个)
Grace-LSA
用于支持GR功能。13;在开始GR和退出GR时向邻居通告的时间、原因、以及接口地址等内容。
路由器在GR中的角色(2角色)
Restarter:重启路由器。
Helper:协助重启路由器。
注:GR在双主板上才有意义
GR的原因(4原因)
Unknown:未知原因导致GR操作
Software restart:通过命令主动触发的GR操作
Software restart/upgrade:软件重启或升级导致
Switch redundant Control processor:异常主备倒换导致的GR操作
GR的持续时间
GR持续时间最长不超过1800s。GR成功或失败都可以提前退出,不必等待超时才退出。
GR的分类(4类)
完全GR
指当有一个邻居不支持GR功能时,整个路由器退出GR状态。
部分GR
指当有一个邻居不支持GR时,仅该邻居所关联的接口退出GR,其它接口正常进行GR过程。
有计划GR
指手动通过命令使路由器执行重启或主备倒换
非计划GR
路由器是由于故障等原因进行重启或主备倒换,且主备倒换前不会事先发送Grace-LSA,直接开始主备倒换
GR的过程(3个)
GR开始
主备倒换命令执行后,Restarter向每个邻居发送一个Grace-LSA,通知邻居GR的开始以及GR的周期、原因等,然后进行主备倒换。
发送的Grace-LSA是为了告知邻居自己进入GR状态,邻居会在GR期间保持与Restarter的邻居关系,让其它路由器感知不到Restarter的倒换。
GR过程
GR退出
分支主题
有无GR技术的比较(5比较)
分支主题
OSPF GR
概述
GR被称为平滑重启,用于保证当路由协议重启时数据正常转发且不影响关键业务的技术。
控制层面的重启不影响转发层面,控制层面邻居关系的重建及路由计算等不影响转发层面的功能13;避免了路由振荡引发的业务中断,提高了整网的可靠性。
概念(4个)
Grace-LSA
用于支持GR功能。13;在开始GR和退出GR时向邻居通告的时间、原因、以及接口地址等内容。
路由器在GR中的角色(2角色)
Restarter:重启路由器。
Helper:协助重启路由器。
注:GR在双主板上才有意义
GR的原因(4原因)
Unknown:未知原因导致GR操作
Software restart:通过命令主动触发的GR操作
Software restart/upgrade:软件重启或升级导致
Switch redundant Control processor:异常主备倒换导致的GR操作
GR的持续时间
GR持续时间最长不超过1800s。GR成功或失败都可以提前退出,不必等待超时才退出。
GR的分类(4类)
完全GR
指当有一个邻居不支持GR功能时,整个路由器退出GR状态。
部分GR
指当有一个邻居不支持GR时,仅该邻居所关联的接口退出GR,其它接口正常进行GR过程。
有计划GR
指手动通过命令使路由器执行重启或主备倒换
非计划GR
路由器是由于故障等原因进行重启或主备倒换,且主备倒换前不会事先发送Grace-LSA,直接开始主备倒换
GR的过程(3个)
GR开始
主备倒换命令执行后,Restarter向每个邻居发送一个Grace-LSA,通知邻居GR的开始以及GR的周期、原因等,然后进行主备倒换。
发送的Grace-LSA是为了告知邻居自己进入GR状态,邻居会在GR期间保持与Restarter的邻居关系,让其它路由器感知不到Restarter的倒换。
GR过程
GR退出
分支主题
有无GR技术的比较(5比较)
分支主题
ISIS GR
BGP GR
数据层架构设计
双主架构
主从同步
读写分离
缓存优化
Cache对齐
数据预读
延迟计算
异步
关联代码优化
分支预测
Copy on Write
内嵌优化
系统优化
工具优化
OProfile
Gprof
JDK工具
内存池
模块化
运维与监控
系统监控
CPU
Disk
Net
日志监控
流量监控
数据库监控
告警
开发与工具
开发语言
设计模式
数据结构与算法
调试工具
单元测试
接口测试
中间件与存储
缓存
Redis
Memcache
存储
MySQL
MongoDB
软技能
沟通能力
解决问题能力
学习能力
创新能力
项目管理能力
互联网企业安全建设架构
生产网络安全体系
物理安全
机房准入监控系统
周期性黑盒测试
敏感网络设备防护
基础设施安全评级
网络安全
DDoS防护与资源调度
自动化漏洞扫描系统
网络隐蔽通道检测
流量基线分析平台
系统及中间件安全
Linux安全加固规范
Windows域控策略
Apache安全配置标准
MySQL访问控制策略
应用安全
**WEB安全**:
WAF防护策略
代码审计规范
安全开发框架(SDL)
定期渗透测试
**API安全**:
请求签名验证
限流熔断机制
敏感数据脱敏
业务安全
交易风控平台
反欺诈检测系统
数据隐私保护
业务连续性保障
移动安全
App加固方案
通信协议加密
越权访问控制
自动化热更新机制
办公网络安全体系
物理安全
门禁生物识别系统
资产全生命周期管理
介质加密管理
网络安全
VPN准入控制
网络行为审计
终端隔离策略
无线网络防护
内部系统安全
OA系统权限管理
邮件网关防护
云文档安全策略
统一身份认证
终端安全
EDR终端防护
外设管控策略
漏洞补丁管理
数据防泄漏(DLP)
人员安全
安全意识培训体系
权限最小化原则
离职审计流程
社工攻击防护演练
统一安全支撑平台
安全运营中心(SOC)
自动化攻防演练平台
威胁情报分析系统
安全合规管理平台
大型网站架构演变和知识体系
一、单体架构
(一)基本组成
**Webserver** :处理用户请求,生成动态页面。
**Database** :存储网站数据。
(二)特点
结构简单,开发成本低。
但扩展性差,难以应对高并发和大数据量。
二、引入缓存
(一)前端页面缓存
减少服务器压力,提高用户访问速度。
(二)页面片段缓存
对页面的部分内容进行缓存,如导航栏、侧边栏等。
(三)数据缓存
缓存数据库查询结果,减少数据库访问频率。
(四)特点
提高网站响应速度,减轻服务器和数据库压力。
但缓存数据的更新和一致性维护较为复杂。
三、分布式架构
(一)分布式缓存
使用分布式缓存系统,如 Redis、Memcached,实现数据的分布式存储和快速访问。
(二)分布式文件系统
存储大量文件,如图片、文档等,支持高并发访问。
(三)数据访问层(DAL)
统一数据访问接口,简化上层业务逻辑对数据存储的访问。
(四)特点
提高系统的扩展性和可用性。
数据存储和访问更加灵活,但系统复杂度增加。
四、进一步优化
(一)异步处理
采用异步机制,如消息队列,提高系统响应速度和吞吐量。
(二)可复用的业务组件
将公共业务逻辑封装成组件,提高代码复用性和维护性。
(三)各类数据中心
针对不同类型的业务数据,建立专门的数据中心,提高数据管理和处理效率。
(四)类似 Bigtable 的架构
处理海量结构化数据,支持高并发读写。
(五)特点
系统更加灵活、高效。
能够应对大规模用户访问和数据处理需求,但对技术要求更高。
系统架构图解析
顶层模块
前端展示层
**H5** :负责移动端网页展示,适配各种手机屏幕,提供良好的移动端交互体验。
**小程序** :涵盖多个平台的小程序,如微信小程序等,方便用户快速访问和使用核心功能。
**PC 端** :提供电脑端的网页界面,满足用户在电脑上进行复杂操作和数据处理的需求。
应用层
**运营管理** :统筹整个系统的运营工作,包括活动策划、用户增长、内容管理等,确保系统高效稳定运行,提升用户活跃度和留存率。
**APP 网关** :作为移动应用的入口,负责处理 APP 的请求和响应,进行安全认证、请求转发等操作,保护后端服务的安全。
**外部网关** :用于对接外部系统和合作伙伴,实现数据交互和业务协同,拓展系统的业务边界和功能。
**内部网关** :管理内部各个微服务之间的通信,优化服务调用流程,提高系统性能和可维护性。
核心业务层
商品与订单模块
**自营商城** :负责自有商品的展示、销售和管理,包括商品详情页、购物车、下单流程等,为用户提供优质的购物体验。
**商品发布** :商家或运营人员在此发布商品信息,包括商品图片、描述、价格、库存等,确保商品信息准确完整。
**报表服务** :生成各类商品销售报表、库存报表等,为运营决策提供数据支持,帮助分析市场趋势和销售情况。
**库存服务** :实时监控商品库存,实现库存的增减操作、预警设置等,防止超卖和缺货现象。
**订单聚合服务** :整合来自不同渠道的订单信息,统一处理订单状态变更、支付、发货等流程,提高订单处理效率。
服务与基础模块
**促销服务** :设计和管理各种促销活动,如满减、折扣、赠品等,吸引用户购买,提升销售额。
**商品服务** :提供商品的基础信息查询、分类筛选等功能,方便用户查找所需商品。
**订单服务** :处理订单的详细信息,包括订单修改、取消、售后等操作,保障用户订单权益。
**基础服务** :包含一些通用的基础功能,如用户认证、权限管理、日志记录等,为其他模块提供支撑。
**元数据** :管理系统的元数据信息,如数据字典、配置参数等,确保数据的一致性和准确性。
**财务服务** :负责财务相关的操作,如收款、付款、结算等,保障资金流转的安全和准确。
**入库服务** :处理商品入库流程,包括采购入库、退货入库等,更新库存信息。
数据处理与支撑层
服务支撑模块
**出库服务** :管理商品出库流程,如销售出库、调拨出库等,确保商品及时准确发货。
**报表服务** :与核心业务层的报表服务协同工作,生成更详细的分析报表,支持数据可视化展示。
**定时任务** :安排系统的定时操作,如数据备份、报表生成、库存清理等,保证系统的稳定运行。
**库内服务** :处理仓库内的商品管理,如盘点、移库等操作,保持库存数据的准确性。
**打印服务** :提供各类打印功能,如订单小票、发货单、报表等,满足业务操作中的打印需求。
**RF 服务** :支持仓库的 RF 终端设备操作,实现仓库作业的自动化和高效化。
支付与交易模块
**支付网关** :对接各种支付渠道,如支付宝、微信支付等,完成支付请求的转发和响应,确保支付安全快速。
**联机交易** :处理实时交易业务,如刷卡支付、扫码支付等,支持多种支付场景。
**消息中心** :负责系统内的消息推送和通知,如订单状态更新、促销活动提醒等,提高用户互动性。
**短链接接入** :将长链接转换为短链接,方便用户快速访问和分享,同时便于统计和管理。
数据存储与管理层
数据存储模块
**Mysql 集群** :存储系统的结构化数据,如用户信息、订单信息、商品信息等,采用集群方式提高数据的可靠性和读写性能。
**Redis 集群** :用于缓存高频访问的数据,如热点商品、用户会话等,加快系统响应速度,减轻数据库压力。
**ES 集群** :负责全文检索和数据分析,如商品搜索、日志分析等,提供高效的搜索和统计功能。
**MQ 集群** :实现消息队列功能,用于异步处理任务、解耦系统模块、削峰填谷等,提高系统的并发处理能力。
**ZK 集群** :提供分布式协调服务,如服务注册与发现、分布式锁等,保障分布式系统的可靠运行。
**Hadoop 集群** :用于大数据存储和计算,处理海量的历史数据和复杂的数据分析任务,支持数据挖掘和机器学习等应用。
**云存储** :存储非结构化数据,如图片、文件等,提供高扩展性和高可用性的存储服务。
工具与服务模块
**分布式 ID 服务** :生成全局唯一的标识符,用于订单号、用户 ID 等,确保数据的唯一性和可追溯性。
**消息推送服务** :向用户推送通知消息,如 APP 推送、短信推送等,提高用户活跃度和粘性。
**编码规则** :定义系统的编码规范,如数据编码、接口编码等,方便开发和维护。
**搜索服务** :优化系统的搜索功能,提高搜索结果的准确性和相关性,提升用户体验。
**上线工具** :支持系统的版本发布和更新,包括灰度发布、回滚等功能,保障系统的稳定性和可靠性。
**公共工具** :整合一些通用的工具类,如文件工具、任务工具等,提高开发效率和代码复用性。
底层支撑与保障层
用户与权限模块
**用户** :管理系统的用户信息,包括用户注册、登录、个人信息维护等。
**组织权限** :定义组织架构和权限体系,控制用户对资源的访问和操作权限,保障系统安全。
**客商** :管理合作伙伴和客户的信息,包括客商资料、合作记录等,方便业务往来。
**会员** :处理会员相关业务,如会员等级、积分、权益等,提升用户忠诚度。
**基础数据** :存储系统的基础数据,如地区信息、行业分类等,为其他模块提供数据支持。
流程与数据模块
**审批流** :定义和管理各种审批流程,如采购审批、退款审批等,确保业务操作的规范性和可控性。
**业务流** :梳理系统的业务流程,优化业务逻辑,提高业务处理效率和质量。
**元数据** :与数据处理层的元数据协同工作,全面管理系统的元数据,保障数据的一致性和完整性。
**外部对接** :负责与外部系统的数据对接和集成,实现数据共享和业务协同。
**消息平台** :整合系统内的消息处理,提供统一的消息发送和接收接口,方便各模块之间的通信。
技术与运维模块
**金融后台** :处理金融相关的后台操作,如账务处理、资金清算等,保障金融业务的准确性和安全性。
**用户 API** :提供用户相关的接口服务,方便前端应用和第三方系统调用用户信息和功能。
**外部接口** :封装系统的对外接口,提供标准化的 API 服务,便于与其他系统进行集成。
**支付服务** :与支付网关协同工作,完成支付相关的业务逻辑处理,如支付结果通知、退款处理等。
**资方服务** :管理资金方的相关业务,如资金调度、利息计算等,确保资金的合理使用和安全。
**产品服务** :负责金融产品的管理和销售,如理财产品的展示、购买流程等。
**客商服务** :与客商模块配合,提供客商相关的服务,如客商信用评估、合作项目管理等。
**定时任务** :安排系统的定时操作,如数据备份、报表生成、库存清理等,保证系统的稳定运行。
**账户系统** :管理用户的账户信息,如账户余额、交易记录等,保障用户资金安全。
**对账系统** :实现系统的对账功能,核对账目余额和交易明细,及时发现和解决财务问题。
大数据与分析层
大数据平台
**工作流** :管理大数据处理的工作流,如数据抽取、转换、加载等任务的调度和执行,确保数据处理的高效性和可靠性。
**工单** :处理大数据平台的相关工单,如数据质量问题反馈、任务调度异常等,及时解决平台运行中的问题。
**CRM** :整合客户关系管理数据,分析客户行为和偏好,为精准营销和客户服务提供支持。
**知识库** :存储大数据平台的相关知识,如数据字典、技术文档等,方便开发和运维人员查阅和学习。
**交易服务平台** :提供交易相关的数据分析和服务,如交易趋势分析、风险监控等,保障交易的安全和稳定。
自定义与扩展模块
**自定义字段** :允许用户自定义数据字段,满足不同业务场景下的个性化需求,提高系统的灵活性。
**动态** :支持系统的动态配置和调整,如界面布局、业务流程等,方便快速响应业务变化。
**标签** :为用户、商品等打上标签,方便进行分类管理和精准营销,提升运营效率。
Web 展示与服务模块
**知识库** :展示系统的知识库内容,如帮助文档、常见问题解答等,提高用户自助解决问题的能力。
**首页接口** :提供系统首页的数据接口,展示热门商品、推荐内容等,吸引用户关注和参与。
**CRM 服务** :提供客户关系管理的服务接口,支持客户信息查询、营销活动管理等功能。
**CRM Web** :实现客户关系管理的 Web 界面,方便运营人员进行客户管理和营销操作。
技术支撑与保障层
配置与分析模块
**配置中心** :集中管理系统的配置信息,如数据库连接、服务地址等,方便统一管理和动态调整。
**调用链分析** :跟踪系统的调用链路,分析性能瓶颈和故障原因,优化系统性能和可靠性。
**日志分析** :收集和分析系统的日志信息,监控系统运行状态,及时发现和解决潜在问题。
运维与监控模块
**运维平台** :提供系统的运维工具和接口,如服务器监控、性能优化等,保障系统的稳定运行。
**监控工具** :实时监控系统的各项指标,如 CPU 使用率、内存占用等,及时预警和处理异常情况。
**任务工具** :管理系统的定时任务和后台作业,确保任务的正常执行和调度。
解决方案
华为云计算解决方案
FusionSphere解决方案
介绍
华为虚拟化解决方案是华为提供的服务器虚拟化产品套件,由服务器虚拟化产品、云管理软件、容灾备份软件、及系统运行洞察软件共同组成。主要实现硬件资源虚拟化,对虚拟资源、硬件资源集中管理,提供基础备份、容灾、多资源池(含异构)管理、云基础服务和基础设施性能可视化、性能管理等能力
SV
应用场景
中小型企业,主要是为了提高资源利用率,比如说政府、医疗、教育等
架构图
分支主题
架构分层
其他
eBackup
BCManager
FusionSphere SOI
资源管理层
FusionManager
虚拟化层
FusionCompute
基础设施层
服务器、网络、存储、无线等硬件设备
注意:ManageOne也有SV版本的
DC
应用场景
大型企业,企业各部门需要各自管理独立的资源或者实现网络的互通/隔离
架构图
分支主题
架构分层
云服务层
Mangeone Service Center
Mangerone Operation Center
资源管理层
FusionSphere Openstack(CPS)
FusionSphere Openstack OM
虚拟化层
FusionCompute
FusionStorage
FusionNetwork
基础设施层
服务器、网络、存储、无线等硬件设备
NFVI
应用场景
运营商场景
注意
目前版本的FusionSphere解决方案只有服务器虚拟机场景
FusionAccess桌面云解决方案
介绍
华为云FusionAccess桌面云解决方案是基于华为FusionSphere的一种虚拟桌面应用,通过在云平台上部署软、硬件,使终端用户通过瘦客户端或者其他任何与网络相连的设备来访问跨平台的应用程序,以及整个客户桌面
架构图
分支主题
架构分层
终端接入层
TC/SC
桌面和会话管理层
FusionAccess
云操作系统管理层
FusionCompute
硬件资源层
服务器、网络、存储、无线等硬件设备
私有云解决方案
2.0.6版本
功能架构图
分支主题
功能分层
业务域
基于FusionCloud提供的服务,构建用户的业务系统,满足客户业务需求
管理域
提供对多个云数据中心的统一管理调度能力,提供以VDC为核心的DCaaS,VDC内提供多种云服务能力。该层也提供对虚拟物理资源的统一运维能力
服务域
基于管理层提供的运营和运维能力,匹配业务场景,通过服务目录实现资源的二级运营服务
通过VDC服务的形式进行资源的灵活分配,实现DCaaS。
VDC内部通过云主机服务、物理机服务、云磁盘服务、弹性IP服务提供自助资源发放,实现IaaS(Infrastructure as a Service)
资源池
13;数据中心管理层提供对虚拟计算、存储、网络的资源管理能力。FusionCloud提供资源池管理能力:提供对异构虚拟化平台管理能力,例如:VMware, FusionSphere等多种虚拟化平台;也能够对物理资源池提供管理能力。
基础设施
基础设施包括构建数据中心所需的服务器、存储设备和网络设备,提供基于物理资源构建的虚拟计算、虚拟存储和虚拟网络资源池,并提供可直接使用的物理服务器资源。基础设施层可根据不同业务的需求,提供多种类型的硬件部署架构
6.1版本
功能架构图
分支主题
功能分层
基础设施
基础设施包括构建数据中心所需的服务器、存储、网络等物理设施。向资源池层提供基于物理资源构建的虚拟计算、虚拟存储、虚拟网络资源池,也可以向服务层提供可直接使用的物理服务器资源。基础设施层可根据不同业务的需求,提供多种类型的硬件部署架构
资源池
资源池由FusionSphere Openstack提供对虚拟计算、存储、网络、安全和数据资源等的资源化和管理能力。分布式云数据中心解决方案提供资源池管理能力,提供对异构虚拟化平台管理能力,例如:VMware,KVM等多种虚拟化平台;也能够对物理资源池提供管理能力
管理域
管理域由ManageOne提供对多个云数据中心的统一管理调度能力
使用CloudOpera ServiceCenter为统一的运营管理平台,提供对云服务的统一运营能力,提升运营操作的敏捷性,提升业务运营效率
使用CloudOpera OperationCenter为统一的运维管理平台,提供对虚拟物理资源的统一运维能力,提升运维操作效率
使用ServiceTool为统一的运维工具,提供对FusionCloud的运维能力,提升运维效率
服务域
服务域统一管理多个数据中心资源池层提供的资源,支持统一的云服务申请和自助操作服务控制台
应用域
基于FusionCloud提供的服务,构建用户的业务系统,满足客户业务需求
6.3.1版本
功能架构图
分支主题
功能分层
应用域
由第三方提供应用,基于FusionCloud提供的云服务,构建用户的业务系统,满足各行业用户业务需求
云服务
云服务统一管理多个数据中心资源池层提供的资源
管理域
由ManageOne提供对多个云数据中心的统一管理调度能力
运营管理:ManageOne运营面提供对云服务的统一运营能力,提升运营操作的敏捷性,提升业务运营效率
运维管理:ManageOne运维面提供对虚拟资源和物理资源的统一运维能力,提升运维操作效率
资源池
FusionSphere OpenStack提供对虚拟计算、虚拟存储和虚拟网络的资源池化和管理能力,并提供资源池管理能力
基础设施
基础设施包括构建数据中心所需的服务器、存储设备和网络设备,提供基于物理资源构建的虚拟计算、虚拟存储和虚拟网络资源池,并提供可直接使用的物理服务器资源。基础设施层可根据不同业务的需求,提供多种类型的硬件部署架构
FusionCloud 6.1采用新的架构,云服务与云管理解耦,并提供更丰富的云服务
FusionSphere业务迁移解决方案
介绍
随着应用、数据不断增多,服务器数量也逐年增加,服务器端在管理、日常维护方面的需求逐渐显现。针对业务不断发展导致服务器数量快速增加、维护工作量大、维护成本高、机房空间紧张等问题,某公司/单位决定基于云计算、虚拟化等先进信息技术,深化信息系统硬件资源池建设规模,进一步提高硬件资源利用效率、节省机房空间、降低运营成本、加强硬件资源建设管控能力、提高应用系统部署效率,降低应用系统对物理服务器的依赖性,需要将现有业务迁移至虚拟化平台
自学大纲
通用技能
业务相关
业务需求知识
业务管理流程
抓包
fiddler
charles
wireshark
缺陷工具
jira
禅道
文档协作工具
wiki
xmind
接口测试工具
postman
httprequester
安全你测试工具
awvs
sqlmap
nmap
客户端测试工具
adb
兼容性测试
系统兼容性
屏幕分辨率
屏幕类型
导航栏类型
厂商兼容
服务端测试
性能压力测试
jmeter
gatling
loadrunner
h5性能测试
chromedevtool
w3c performance api
自动化测试工具
ui自动化测试
selenium
安卓测试自动化
uiautomator
appium
uiautomator2
airtest
webdriveragtnt
ios自动化测试
wen自动化测试
微信小程序自动化测试
chromedriver
接口自动化
python+request
java+rest-assured
robot framework
httprunnner
postman+newman
jmeter=ant
vue+flask&django
弱网测试
charles
appcrawler
专项app测试
perfdog
adb
ffmpeg
数据库
sql相关
1、通过介绍字符集、表定义、表约束来了解SQL的基础知识
2、介绍一些SQL函数的使用方法,提高查询效率
3、了解单表之间的查询语法和多表关联的查询方式,优化SQL语句,提高效率
4、简单介绍DNA-SQL的基础知识,初步掌握DNA-SQL
基础
1、了解SQL数据库的编码格式
2、熟练运用DDL数据表
3、熟悉数据库主键、外键、表约束、数据编辑语句
函数
1、掌握SQL关键字的使用和索引运用
提升
1、掌握SQL函数
2、熟悉运用SQL各种查询方式和别名
DNASQL
1、对于前面所学SQL串讲
2、简单介绍DNASQL
子主题 6
编码与字符集选择
国内和国际字符编码标准,国内和国际常用字符集
了解字符编码和字符集基本知识,数据库设计和编程时选择合适的字符集
DDL语句基础
创建和删除数据库语句,建表、改表和删表语句,视图创建和删除语句,清表语句等常见DDL语句语法
灵活掌握和运用常见DDL语句,创建和管理数据库
表定义
字段数据类型、主键、外键
学会在建表时选择合适的数据类型,创建合适的主键和外键
表约束
'Primary Key Constraint 、Foreign Key Constraint 、Unique Constraint Check Counstraint、Default Counstraint等常见约束知识'
在数据表设计时合理使用约束
数据编辑操作
insert、update和delete语句的使用
数量掌握数据表的insert、update和delete语句
select数据检索
Top、Percent、Like、In、Between and、distinct、Where等
熟练掌握和使用数据检索中的条件和关键字使用
分组过滤和排序
Group by 、having和 Order by关键字
熟练掌握数据检索结果的分组、过滤和排序使用
index索引
Index、Clustered index、索引原理、索引策略
灵活掌握和使用索引技术,提高SQL查询效率
常用函数
Lcase、Ucase、Count、Mid、Len、Round、Format等函数
灵活掌握和使用常用函数,对数据进行转换处理
alias别名
数据表和字段的别名
利用别名简化SQL语句
join表连接
Inner join、Left join、Right join、Full join、Cross join
灵活掌握和使用表连接操作,实现多表之间的连接查询
子查询
子查询技术
灵活掌握和使用子查询技术,获取特殊结果
union合并
Union、Union all
合并操作
dna-sql基础
dna-sql语法基础、主要是讲解DNA-SQL中查询的使用
初步掌握DNA-SQL使用
考试网站
建造师,中国人事考试网
造价师,中国人事考试网
消防工程师,中国人事考试网
监理工程师
银行从业资格
基金从业资格
期货从业资格
房地产评估师
职业药师
职业医生
职业兽医
职业护士
压力测试工具
jmeter
loadrunnner
gatling
平台开发
vue
nodejs
python django flask
流量分析
proxy
tcpdump
持续集成
jenkins
jenkins pipeline
git scm
docker
k8s
耗电量分析
dumpsyts batterystatus
battery historian
bugreport
卡顿分析
systrace
overdraw
编程相关
java
testng
junit
pytthon
unittest
pytest
request
shell
linux
find+netstat+ps
三剑客
grep
awk
sed
database
mysql
redis
monodb
代码版本控制
svn
git
稳定性测试
monkey
monkeyrunner
monkeyscript
appcrawler
客户端性能测试
内存
androidStudioProfile
perfdog
eakcanary
cpuiosinstruments
perfdog
子主题
移动端
Appium
App自动化测试概述
应用背景
测试框架
测试流程
移动设备操作系统
Android 系统基础
App类型
Android SDK
adb命令
Package与Activity
UIAutomator
测试工具简介
monkey
monkey简介
monkey事件
monkey参数
monkey脚本实践
monkey runner
monkey runner简介
monkey runner API实践
Appium基础
Appium简介
Appium环境搭建
Appium操作
Appium元素定位
Appium滑动,触控操作
Appium进阶应用
PageObject
yaml参数配置,log管理
App自动化测试综合实践
Appium多进程并发应用
软件架构设计概要
架构模式
分层架构
表现层
业务逻辑层
数据访问层
持久层
微服务架构
服务拆分
API网关
服务发现
断路器
消息队列
SOA架构
服务定义
ESB
服务注册中心
事件驱动架构
事件生产者
事件总线
事件消费者
CQRS架构
命令模型
查询模型
事件溯源
架构设计方法论
TOGAF
架构开发方法(ADM)
企业连续统一体
技术参考模型(TRM)
Zachman Framework
规划
概念设计
逻辑设计
物理设计
实施
UML
用例图
类图
时序图
状态图
活动图
部署图
ATAM
架构权衡分析方法
评估架构质量属性
识别风险和敏感点
架构师
技能要求
技术深度和广度
沟通能力
业务理解
团队协作
职责
系统规划
技术选型
风险评估
指导开发团队
类型
企业架构师
解决方案架构师
技术架构师
数据架构师
技术选型
编程语言
Java
Python
C#
JavaScript
Go
框架
Spring
Django
.NET Core
React
Vue.js
数据库
MySQL
PostgreSQL
MongoDB
Redis
Cassandra
中间件
RabbitMQ
Kafka
Zookeeper
Nginx
Tomcat
部署架构
云架构
IaaS
PaaS
SaaS
容器化
Kubernetes
物理架构
服务器
存储
网络设备
数据中心
混合架构
云与本地混合
多云环境
架构质量属性
性能
响应时间
吞吐量
资源利用率
可靠性
故障恢复
数据备份
系统稳定性
可扩展性
水平扩展
垂直扩展
弹性扩展
安全性
认证
授权
数据加密
防火墙
可维护性
代码可读性
模块化
文档化
设计模式
创建型模式
工厂模式
单例模式
建造者模式
原型模式
结构型模式
适配器模式
桥接模式
装饰器模式
代理模式
行为型模式
策略模式
模板方法模式
观察者模式
命令模式
架构评估
评估方法
性能测试
安全审计
代码审查
架构评审
评估指标
功能完整性
技术先进性
成本效益
风险可控性
评估工具
LoadRunner
JMeter
Fortify
SonarQube
业务迁移
迁移背景
提高资源的利用率,因为硬件资源难以统一管理,利用率会比较低
配合云平台管理功能,可以对资源进行统一管理,以及可以达到节能减排的效果(DPM、DRS)
硬件设备过多会占用机房面积
随着设备增多,机房空间日益紧张,需要新建数据中心,把原有IT设备迁移到新建云数据中心设备上
不同硬件设备管理成本较高
迁移的内容和层次
应用级迁移
使用专门的应用迁移工具,在保证应用可用的基础上,在应用层面实现从旧系统迁移到新系统,在满足用户迁移的同时,可以进行系统的迁移,数据库软件的升级,例如Oracle以及SQL Server的迁移
文件级迁移
根据客户的需求,将客户的工作负载以文件的形式迁移到目的主机,完成对用户磁盘的重新规划以及操作系统的升级等
系统级迁移
客户的一台主机上运行大量的应用,通过将主机硬件上的操作系统迁移到目的主机上,包括操作系统、应用程序等的迁移,主要用于系统盘的迁移
迁移的原则/顺序
原则/顺序
风险由低到高
对业务的影响由小到大
业务的中断时间由长到短
复杂度由易到难
例子
基础服务(相对容易)-开发测试系统(对业务系统影响小)-办公系统(对业务系统影响较小、较长停机时间)-IT管理系统(无业务数据)-业务系统(存在业务数据,最难)
场景
基础服务
功能单一、数据量很少(1G)、无业务数据、用户使用频繁、业务连续性要求高,比如AD、DNS、LDAP、NTP
开发测试系统
多用途、数据量大(1T)、含业务数据、用户经常使用、业务连续性要求较低
办公系统
功能单一、数据量较大(100G)、无业务数据、用户经常使用、业务连续性要求一般,比如ERP、Mail、Portal
IT管理系统
功能单一、数据量较小(10G)、无业务数据、用户使用不经常、业务连续性要求较低,比如NMS、ITSM
业务系统
多用途、数据量大(1T)、有业务数据、用户使用频繁、业务连续性要求高
交付流程
客户调研
主要调研客户的IT组织架构、IT运作流程、IT系统配置、源端虚拟化平台、硬件信息以及组网等信息
迁移评估
通过收集到的信息对业务是否可云化以及是否可迁移进行综合评估;评估源主机和目的主机的性能;评估网络带宽;评估业务中断时间等等
迁移风险及应对计划
了解所有可能涉及到的风险(搬迁的物理部件损坏,机器无法启动,业务无法启动等风险点)并制定专门的应对计划
迁移计划制定
按照客户的需求,对业务迁移优先级进行排序,可以根据迁移业务关联性、迁移风险、迁移的目标值进行排序,同时结合迁移的原则进行迁移计划的确定
先易后难。对于相对独立,关联系统少的应用,迁移到新的数据中心机房后,容易恢复正常运行。这类应用的迁移较为容易,可优先进行。
先普通业务系统,后核心业务系统。普通业务系统在迁移过程中出现问题,对公司日常经营活动造成的影响较小,可优先进行,为核心业务系统的迁移积累经验并验证迁移计划。
选择周末或节假日进行迁移。迁移前后需进行大量准备工作,迁移后需要进行大量测试工作,因而选择周末或节假日能使得迁移作具备充裕的时间,同时避免对日常业务工作造成影响。
迁移方案制定
在确定迁移可行的基础上,制定详细的实施方案(具体实施包括前期准备工作,主要包括迁移环境测试准备、迁移工具测试、业务迁移演练、迁移人员安排;迁移实施阶段,包括对客户系统进行备份、系统迁移、迁移数据的同步、业务的验证、迁移失败的回退等步骤)
迁移工具和方案测试
在确定迁移方案和迁移工具后,可模拟客户真实环境或与客户进行沟通利用客户现有环境进行测试,测试各种场景下方案和工具的可行性,并输出测试报告,项目组评审后和客户进行沟通,对迁移过程中出现的停机时间、风险点等再次进行沟通,和客户一起对迁移方案中需要修改的地方进行细化。
迁移实施
测试完成之后,按照迁移方案实施业务迁移
迁移验收
迁移完成之后,按照之前跟客户既定的指标进行验收,完成相关指标的即宣告业务迁移成功,如果有些指标达不到要求,需要和客户沟通,进行整改或向客户提交相关定位报告,达成谅解或得到客户认可。
华为业务迁移的应用场景
P2V
将物理服务器迁移到华为虚拟化平台上
V2V
将其他虚拟化平台迁移到华为虚拟化平台
实现华为内部虚拟化平台的迁移
实现同版本或跨版本FusionSphere平台的迁移
PS:源端的P与V指OS运行在物理机还是在虚拟化平台上
RainBow
介绍
是华为自研的一款基于X86服务器架构的系统级迁移工具,通过Rainbow工具可以实现X86服务器以及特定虚拟化平台的业务系统迁移到华为FusionCompute虚拟化平台上
组成
hconvertor
在线迁移工具,实现物理平台以及虚拟化平台迁移到华为FusionCompute虚拟化平台上
ovfconvertor
离线镜像转换工具,虚拟化平台迁移到华为FusionCompute虚拟化平台上
实现
该工具无需安装,解压可用;源端是虚拟化平台,目的端为华为FusionSphere,在源端对虚拟机关机后导出配置文件和虚拟磁盘文件,使用OVFConvertor对虚拟磁盘文件转换为vhd格式的文件和相应xml文件,这个工具已经被淘汰了
PS:该工具已经给淘汰
特性/优势
支持在线迁移
支持P2V,V2V,华为自身产品版本之间的迁移
支持物理平台以及虚拟化平台的迁移
兼容广泛的操作系统以及虚拟化平台
兼容性列表
操作系统
Windows
Suse Linux
RedHat Linux
CentOS
Ubuntu
等等
虚拟化平台
源端
FusionCompute
VMware
RedHat KVM
Citrix Xen Server
SUSE Linux
Hyper-V
HP、Dell、IBM等主流服务器厂商的X86服务器
目的端
FusionCompute/FusionCloud
支持并发性迁移,降低整体业务的迁移时长,迁移过程中数据加密传输,保证数据的安全性,还能进行多次数据同步保障数据的一致性
采用B/S架构,操作界面友好
不支持的源端类型
**操作系统需要兼容性列表中的,不支持多操作系统的迁移
**不支持包含保密文件夹,加密卷的系统的迁移(迁移工具无法识别该数据)
**不支持集群类应用的系统的迁移,例如微软的故障转移群集(集群应用有自身机制维持集群关系,机制可能让迁移失效,造成数据不一致或者受损)
**不支持硬件绑定的系统的迁移
**RainBow只用于系统级迁移,数据库的迁移建议使用数据厂商提供的迁移工具进行迁移
**不支持半虚拟化系统迁移(修改操作系统代码,针对虚拟化平台进行的处理,迁移到其他平台,该半虚拟化不能生效)
不支持部分操作系统的引导方式为UEFI
UEFI,统一可扩展固件接口,用于从预启动环境中加载操作系统,图形化界面,鼠标操作
可用磁盘空间大小
Windows可用的磁盘空间小于320M不支持迁移、磁盘空间小于500M时需要预留40M大小(快照制作使用)
Linux根分区可用空间小于200M不支持迁移(快照制作要求)
文件系统
不支持文件系统为非NTFS的Windows系统
不支持文件系统为非ext2/3/4、vfat、vfs、reiserFS的Linux文件系统
Rainbow不支持CIFS、NFS文件共享迁移
RainBow迁移流程
迁移环境的要求
操作系统以及虚拟化平台需要满足兼容性列表
需要操作管理员的权限
源端以及目的端需要放行相应的端口号以及关闭防火墙或者杀毒软件
放行端口
137-139、445
Windows文件级使用
8899
agent使用
22
ssh
23000
文件级
需要RainBow工具、源端主机、目的主机三层互通
在线迁移流程
在FC平台上创建一台VM(或者在物理服务器)操作系统类型(Win7、2008、2008R2)
源端以及目的端关闭操作系统的防火墙同时放行相应的端口号(Windows需要放行8899端口(Agent使用),Linux需要放行22端口(SSH使用),在创建的VM上安装RainBow工具,并启动hconvertor工具
1、关闭杀毒软件:如果源端安装了杀毒软件,可能会对源端数据读写进行保护,导致HConvertorAgent安装失败,建议迁移时停止杀毒软件。2、如果源端系统已经进行过迁移任务,再次新建迁移任务时,需要将之前安装的Agent卸载,重新手动安装Agent或者迁移服务器自动推送HConvertorAgent到源主机并自动安装,否则在源端检测时会出现报错。)
在RainBow工具中导入License(未导入支持2个并发任务以及10M/s带宽)
在RainBow工具上进行云平台的配置
VRM节点配置(节点名称、版本号、IP、端口号、用户名(具有administrator角色权限的账号)、密码)
WinPE/LiveCD共享配置(迁移服务器IP、用户名密码)(要求云平台主机能够访问到迁移服务器的共享目录)
创建迁移任务并执行
迁移任务的名称(任务名称、任务类型:在线P2V/V2V)
源主机配置与检查
填写源主机信息(系统类型、迁移方式、IP、端口号8899、用户名密码)、(高级:被选中排除的目录不会迁移到目的端:仅对文件级迁移和数据同步有效,块迁移无法做目录排除)
目的VM的配置与检查
自动
(填写云平台信息(虚拟机创建方式:手动/自动)、目的虚拟机配置(VRM节点、虚拟机名称、创建位置、所在集群、DVS、端口组、IP、子网掩码、网关))、(高级:CPU个数、内存、磁盘数、数据存储、配置方式、每个磁盘空间分配均可以进行调整)
手动
目的配置和检查(填写云平台信息(虚拟机创建方式:手动))、目的虚拟机配置(IP、端口号、VM ID)
数据自动进行同步,迁移完成后对目标端进行测试;(测试系统能不能起来,网络是否正常,数据是否正常)
进行多次增量同步,完成后可以暂停源端业务进行最后一次数据的同步
同步完成后可以再次进行业务的测试,测试完成后进行业务的切换
卸载源端Agent和tools并手动安装华为Tools,同时禁用源端网卡,并配置目的端的IP地址,测试后可以进行业务的正式上线
步骤:创建目的虚拟机--自动配置IP--分区和格式化--系统迁移--配置修改
迁移原理
Windows块级
分支主题
迁移原理
Step 1:VM挂载WinPE,并从WinPE启动,完成初始化配置
Step 2:迁移服务器下发镜像制作命令给Agent
Step 3:Agent制作快照+镜像
Step 4:镜像复制到VM,并替换系统磁盘
Step 5:重启VM,选择从硬盘启动
Linux文件级
分支主题
迁移原理
Step 1:VM挂载LiveCD,并从LiveCD启动,完成初始化配置
Step 2:迁移服务器下发命令给目的VM,完成分区、格式
Step 3:迁移服务器通过SSH连接迁移源,并下发迁移命令
Step 4:复制迁移源数据到目的VM
Step 5:迁移服务器发命令给VM,完成配置修改
Step 6:重启VM,选择从硬盘启动
迁移时间
执行迁移任务开始+多次数据同步时间+最后一次数据同步时间+业务测试时间+业务切换时间
业务中断时间
计算
最后一次数据同步时间+业务切换时间
怎么减少
暂停业务之前可以进行多次的业务切换测试,增加切换的熟练度
尽量选择在业务闲时的时间进行迁移
文件级以及块级的区别
定义上
文件级迁移指拷贝源端文件到目的端
块级迁移指拷贝源端磁盘扇区数据块迁移到目的端
分区结构上
文件级迁移可以改变目的端分区大小
块级迁移不支持改变分区大小
迁移方式上
文件级迁移可以排除不需要迁移的文件,指定文件进行迁移
块级迁移是将整个扇区数据块进行迁移,没有排除相应文件
推荐
Windows推荐使用块级
Windows系统中小文件数量多,windows 操作系统少一个重要文件的话就会导致系统损坏,块级迁移能保证迁移前后磁盘分区结构完全一致,保证了系统迁移之后的安全性;同时Windows文件迁移是基于文件的拷贝,由于文件的访问控制权限设置,有较高的概率导致失败,故推荐windows块级迁移方式
Linux推荐使用文件级
Linux文件结构分明,可以指定文件进行迁移,同时使用块级可能会对文件结构造成损坏
影响迁移效率的因素
迁移时数据量的大小
迁移时网络带宽
如果多个迁移任务同时向一个目的CNA迁移,最大的迁移速度将受CNA主机的物理网卡带宽影响
源端主机以及目的端主机性能(CPU,内存等)
对于虚拟机,可以给它分配较强的计算资源(vcpu,内存)
源端主机以及目的端主机的磁盘IO
采用SSD磁盘
迁移经验
迁移之前一定要做备份,防止迁移失败可以及时回退
迁移涉及底层操作系统,所以迁移不一定会成功,需要制定相应的应对计划,例如备份,回退方案制定
业务切换后不要即刻拆毁源端系统,防止迁移后可能需要回退
对业务软件部署越熟悉越可能降低迁移的PTO值,减少数据的同步目录以及文件比对时间
有硬件绑定的业务不支持迁移
加密文件或者文件夹不建议迁移(迁移工具无法识别该数据)
数据库不建议迁移,可以使用数据库厂商提供的迁移工具,如果一定迁移,建议采用离线迁移,但是不能保证业务可用性,可以先做备份再迁移,迁移后业务不可用可以回退
迁移的内容和层次
应用级迁移
使用专门的应用迁移工具,在保证应用可用的基础上,在应用层面实现从旧系统迁移到新系统,在满足用户迁移的同时,可以进行系统的迁移,数据库软件的升级,例如Oracle以及SQL Server的迁移
文件级迁移
根据客户的需求,将客户的工作负载以文件的形式迁移到目的主机,完成对用户磁盘的重新规划以及操作系统的升级等
系统级迁移
客户的一台主机上运行大量的应用,通过将主机硬件上的操作系统迁移到目的主机上,包括操作系统、应用程序等的迁移,主要用于系统盘的迁移
迁移的原则/顺序
原则/顺序
风险由低到高
对业务的影响由小到大
业务的中断时间由长到短
复杂度由易到难
例子
基础服务(相对容易)-开发测试系统(对业务系统影响小)-办公系统(对业务系统影响较小、较长停机时间)-IT管理系统(无业务数据)-业务系统(存在业务数据,最难)
场景
基础服务
功能单一、数据量很少(1G)、无业务数据、用户使用频繁、业务连续性要求高,比如AD、DNS、LDAP、NTP
开发测试系统
多用途、数据量大(1T)、含业务数据、用户经常使用、业务连续性要求较低
办公系统
功能单一、数据量较大(100G)、无业务数据、用户经常使用、业务连续性要求一般,比如ERP、Mail、Portal
IT管理系统
功能单一、数据量较小(10G)、无业务数据、用户使用不经常、业务连续性要求较低,比如NMS、ITSM
业务系统
多用途、数据量大(1T)、有业务数据、用户使用频繁、业务连续性要求高
交付流程
客户调研
主要调研客户的IT组织架构、IT运作流程、IT系统配置、源端虚拟化平台、硬件信息以及组网等信息
迁移评估
通过收集到的信息对业务是否可云化以及是否可迁移进行综合评估;评估源主机和目的主机的性能;评估网络带宽;评估业务中断时间等等
迁移风险及应对计划
了解所有可能涉及到的风险(搬迁的物理部件损坏,机器无法启动,业务无法启动等风险点)并制定专门的应对计划
迁移计划制定
按照客户的需求,对业务迁移优先级进行排序,可以根据迁移业务关联性、迁移风险、迁移的目标值进行排序,同时结合迁移的原则进行迁移计划的确定
先易后难。对于相对独立,关联系统少的应用,迁移到新的数据中心机房后,容易恢复正常运行。这类应用的迁移较为容易,可优先进行。
先普通业务系统,后核心业务系统。普通业务系统在迁移过程中出现问题,对公司日常经营活动造成的影响较小,可优先进行,为核心业务系统的迁移积累经验并验证迁移计划。
选择周末或节假日进行迁移。迁移前后需进行大量准备工作,迁移后需要进行大量测试工作,因而选择周末或节假日能使得迁移作具备充裕的时间,同时避免对日常业务工作造成影响。
迁移方案制定
在确定迁移可行的基础上,制定详细的实施方案(具体实施包括前期准备工作,主要包括迁移环境测试准备、迁移工具测试、业务迁移演练、迁移人员安排;迁移实施阶段,包括对客户系统进行备份、系统迁移、迁移数据的同步、业务的验证、迁移失败的回退等步骤)
迁移工具和方案测试
在确定迁移方案和迁移工具后,可模拟客户真实环境或与客户进行沟通利用客户现有环境进行测试,测试各种场景下方案和工具的可行性,并输出测试报告,项目组评审后和客户进行沟通,对迁移过程中出现的停机时间、风险点等再次进行沟通,和客户一起对迁移方案中需要修改的地方进行细化。
迁移实施
测试完成之后,按照迁移方案实施业务迁移
迁移验收
迁移完成之后,按照之前跟客户既定的指标进行验收,完成相关指标的即宣告业务迁移成功,如果有些指标达不到要求,需要和客户沟通,进行整改或向客户提交相关定位报告,达成谅解或得到客户认可。
RainBow
介绍
是华为自研的一款基于X86服务器架构的系统级迁移工具,通过Rainbow工具可以实现X86服务器以及特定虚拟化平台的业务系统迁移到华为FusionCompute虚拟化平台上
组成
hconvertor
在线迁移工具,实现物理平台以及虚拟化平台迁移到华为FusionCompute虚拟化平台上
ovfconvertor
离线镜像转换工具,虚拟化平台迁移到华为FusionCompute虚拟化平台上
实现
该工具无需安装,解压可用;源端是虚拟化平台,目的端为华为FusionSphere,在源端对虚拟机关机后导出配置文件和虚拟磁盘文件,使用OVFConvertor对虚拟磁盘文件转换为vhd格式的文件和相应xml文件,这个工具已经被淘汰了
PS:该工具已经给淘汰
特性/优势
支持在线迁移
支持P2V,V2V,华为自身产品版本之间的迁移
支持物理平台以及虚拟化平台的迁移
兼容广泛的操作系统以及虚拟化平台
兼容性列表
操作系统
Windows
Suse Linux
RedHat Linux
CentOS
Ubuntu
等等
虚拟化平台
源端
FusionCompute
VMware
RedHat KVM
Citrix Xen Server
SUSE Linux
Hyper-V
HP、Dell、IBM等主流服务器厂商的X86服务器
目的端
FusionCompute/FusionCloud
支持并发性迁移,降低整体业务的迁移时长,迁移过程中数据加密传输,保证数据的安全性,还能进行多次数据同步保障数据的一致性
采用B/S架构,操作界面友好
不支持的源端类型
**操作系统需要兼容性列表中的,不支持多操作系统的迁移
**不支持包含保密文件夹,加密卷的系统的迁移(迁移工具无法识别该数据)
**不支持集群类应用的系统的迁移,例如微软的故障转移群集(集群应用有自身机制维持集群关系,机制可能让迁移失效,造成数据不一致或者受损)
**不支持硬件绑定的系统的迁移
**RainBow只用于系统级迁移,数据库的迁移建议使用数据厂商提供的迁移工具进行迁移
**不支持半虚拟化系统迁移(修改操作系统代码,针对虚拟化平台进行的处理,迁移到其他平台,该半虚拟化不能生效)
不支持部分操作系统的引导方式为UEFI
UEFI,统一可扩展固件接口,用于从预启动环境中加载操作系统,图形化界面,鼠标操作
可用磁盘空间大小
Windows可用的磁盘空间小于320M不支持迁移、磁盘空间小于500M时需要预留40M大小(快照制作使用)
Linux根分区可用空间小于200M不支持迁移(快照制作要求)
文件系统
不支持文件系统为非NTFS的Windows系统
不支持文件系统为非ext2/3/4、vfat、vfs、reiserFS的Linux文件系统
Rainbow不支持CIFS、NFS文件共享迁移
RainBow迁移流程
迁移环境的要求
操作系统以及虚拟化平台需要满足兼容性列表
需要操作管理员的权限
源端以及目的端需要放行相应的端口号以及关闭防火墙或者杀毒软件
放行端口
137-139、445
Windows文件级使用
8899
agent使用
22
ssh
23000
文件级
需要RainBow工具、源端主机、目的主机三层互通
在线迁移流程
在FC平台上创建一台VM(或者在物理服务器)操作系统类型(Win7、2008、2008R2)
源端以及目的端关闭操作系统的防火墙同时放行相应的端口号(Windows需要放行8899端口(Agent使用),Linux需要放行22端口(SSH使用),在创建的VM上安装RainBow工具,并启动hconvertor工具
1、关闭杀毒软件:如果源端安装了杀毒软件,可能会对源端数据读写进行保护,导致HConvertorAgent安装失败,建议迁移时停止杀毒软件。2、如果源端系统已经进行过迁移任务,再次新建迁移任务时,需要将之前安装的Agent卸载,重新手动安装Agent或者迁移服务器自动推送HConvertorAgent到源主机并自动安装,否则在源端检测时会出现报错。)
在RainBow工具中导入License(未导入支持2个并发任务以及10M/s带宽)
在RainBow工具上进行云平台的配置
VRM节点配置(节点名称、版本号、IP、端口号、用户名(具有administrator角色权限的账号)、密码)
WinPE/LiveCD共享配置(迁移服务器IP、用户名密码)(要求云平台主机能够访问到迁移服务器的共享目录)
创建迁移任务并执行
迁移任务的名称(任务名称、任务类型:在线P2V/V2V)
源主机配置与检查
填写源主机信息(系统类型、迁移方式、IP、端口号8899、用户名密码)、(高级:被选中排除的目录不会迁移到目的端:仅对文件级迁移和数据同步有效,块迁移无法做目录排除)
目的VM的配置与检查
自动
(填写云平台信息(虚拟机创建方式:手动/自动)、目的虚拟机配置(VRM节点、虚拟机名称、创建位置、所在集群、DVS、端口组、IP、子网掩码、网关))、(高级:CPU个数、内存、磁盘数、数据存储、配置方式、每个磁盘空间分配均可以进行调整)
手动
目的配置和检查(填写云平台信息(虚拟机创建方式:手动))、目的虚拟机配置(IP、端口号、VM ID)
数据自动进行同步,迁移完成后对目标端进行测试;(测试系统能不能起来,网络是否正常,数据是否正常)
进行多次增量同步,完成后可以暂停源端业务进行最后一次数据的同步
同步完成后可以再次进行业务的测试,测试完成后进行业务的切换
卸载源端Agent和tools并手动安装华为Tools,同时禁用源端网卡,并配置目的端的IP地址,测试后可以进行业务的正式上线
步骤:创建目的虚拟机--自动配置IP--分区和格式化--系统迁移--配置修改
迁移原理
Windows块级
分支主题
迁移原理
Step 1:VM挂载WinPE,并从WinPE启动,完成初始化配置
Step 2:迁移服务器下发镜像制作命令给Agent
Step 3:Agent制作快照+镜像
Step 4:镜像复制到VM,并替换系统磁盘
Step 5:重启VM,选择从硬盘启动
Linux文件级
分支主题
迁移原理
Step 1:VM挂载LiveCD,并从LiveCD启动,完成初始化配置
Step 2:迁移服务器下发命令给目的VM,完成分区、格式
Step 3:迁移服务器通过SSH连接迁移源,并下发迁移命令
Step 4:复制迁移源数据到目的VM
Step 5:迁移服务器发命令给VM,完成配置修改
Step 6:重启VM,选择从硬盘启动
迁移时间
执行迁移任务开始+多次数据同步时间+最后一次数据同步时间+业务测试时间+业务切换时间
业务中断时间
计算
最后一次数据同步时间+业务切换时间
怎么减少
暂停业务之前可以进行多次的业务切换测试,增加切换的熟练度
尽量选择在业务闲时的时间进行迁移
文件级以及块级的区别
定义上
文件级迁移指拷贝源端文件到目的端
块级迁移指拷贝源端磁盘扇区数据块迁移到目的端
分区结构上
文件级迁移可以改变目的端分区大小
块级迁移不支持改变分区大小
迁移方式上
文件级迁移可以排除不需要迁移的文件,指定文件进行迁移
块级迁移是将整个扇区数据块进行迁移,没有排除相应文件
推荐
Windows推荐使用块级
Windows系统中小文件数量多,windows 操作系统少一个重要文件的话就会导致系统损坏,块级迁移能保证迁移前后磁盘分区结构完全一致,保证了系统迁移之后的安全性;同时Windows文件迁移是基于文件的拷贝,由于文件的访问控制权限设置,有较高的概率导致失败,故推荐windows块级迁移方式
Linux推荐使用文件级
Linux文件结构分明,可以指定文件进行迁移,同时使用块级可能会对文件结构造成损坏
影响迁移效率的因素
迁移时数据量的大小
迁移时网络带宽
如果多个迁移任务同时向一个目的CNA迁移,最大的迁移速度将受CNA主机的物理网卡带宽影响
源端主机以及目的端主机性能(CPU,内存等)
对于虚拟机,可以给它分配较强的计算资源(vcpu,内存)
源端主机以及目的端主机的磁盘IO
采用SSD磁盘
迁移经验
迁移之前一定要做备份,防止迁移失败可以及时回退
迁移涉及底层操作系统,所以迁移不一定会成功,需要制定相应的应对计划,例如备份,回退方案制定
业务切换后不要即刻拆毁源端系统,防止迁移后可能需要回退
对业务软件部署越熟悉越可能降低迁移的PTO值,减少数据的同步目录以及文件比对时间
有硬件绑定的业务不支持迁移
加密文件或者文件夹不建议迁移(迁移工具无法识别该数据)
数据库不建议迁移,可以使用数据库厂商提供的迁移工具,如果一定迁移,建议采用离线迁移,但是不能保证业务可用性,可以先做备份再迁移,迁移后业务不可用可以回退
网络编程
网络模型
若各大厂商,都自己定义自己的协议,那岂不是只能自己跟自己玩? 那还谈什么互联网呢?
基于此衍生出一个国际通行的协议,来保证所有电脑都可以通信
即OSI七层网络模型
在这个基础上,又简化出了TCP/IP四层模型
网络分层
物理层
电信号要通过一根线传递一下吧!
数据链路层
以太网协议
电信号 0000 0101 - > 数据包, 即帧(frame) ,每个帧分为标头(head)和数据(data)
标头指定目标电脑 网卡 的 mac 地址 ,mac 地址是网卡的唯一标识,48位的二进制,一般用12个16进制数字标识
前6个16进制是厂商编号,后6个是网卡流水号 :7C-67-A2-30-AB-5C
即在以太网里传输数据包时,必须指定接收者的mac地址
非精准推送,一个电脑发送数据包出去,会广播给局域网内的所有电脑设备的网卡,然后对比mac地址
这种广播的方式仅针对一个子网(局域网)内的电脑
网络层
IP协议
如何确定在一个子网内呢?
通过IP协议定义的ip地址值,由32个二进制数字组成,一般用4个十进制数字表示
范围从0.0.0.0到255.255.255.255之间,比如192.168.1.12
子网掩码 255.255.255.0
同一个子网通过ip + 子网掩码运算来判断
交换机
通过交换机在子网内广播,mac寻址
非子网内就不能通过广播来发送数据包了
此时需要通过交换机将数据包发送给路由器
路由器
负责将多个子网进行连接
网关实际就是路由器的一种
ip地址寻址和传输数据包
传输层
TCP/UDP协议
发送数据包到某个机器的一个网卡的某个端口上去,然后机器上监听那个端口的程序就可以提取发送到这个端口的数据
实际上就是建立某个主机的某个端口,到另一个主机的某个端口的连接和通信的
实现比如socket
TCP和UDP都是传输层协议,作用就是在数据包里加入端口号,可以通过端口号进行点对点的通信了
UDP是不可靠的
发出去人家收没收到都不知道
TCP是可靠的
要求三次握手,而且人家接收到数据必须回复你
表示层
页面展示?
会话层
cookie ?
应用层
http/https协议
传输层TCP协议可以传输数据,但是人家收到数据之后怎么来解释?
比如收到邮件怎么处理?收到网页怎么处理?类似这个意思,针对不同的应用,都是定义不同的应用层协议
Socket
说白了,socket就是在传输层里把tcp/ip协议给封装了一下
我们一般都是用socket来编程的,java原生就支持socket网络编程的
服务端搞一个ServerSocket无限等别人来连接你,某个机器要跟你连接,就在本地建一个socket去建立连接
DNS
Domain Name System
我们一般是通过ip + mac地址来进行定位的,但是平时一般使用的时候实际上都是敲www.baidu.com这样
实际上DNS就是把你的www.baidu.com给你转换成ip地址
http的演进
http 1.0
短连接
指定keep-alive来开启连接,默认短连接,每次请求都要重新建立一次tcp连接
即每次都要经过TCP三次握手建立连接,发送完数据包后,收到相应,连接关闭,TCP四次挥手
http 1.1
长连接
浏览器打开一个网页后,底层的TCP连接就保持着,不会立马断开,之后加载css、js之类的请求,都会基于这个TCP长连接来走
同时支持host头,虚拟主机;对断点续传也有支持
http 2.0
多路复用
基于一个TCP连接并行发送多个请求以及接受响应
解决了http 1.1 对同一时间、同一域名请求限制的问题
二级制分帧
将数据传输分为更小的数据包(帧),提高了性能,实现低延迟高吞吐
www.baidu.com
执行过程图解
分支主题
数据包图解
分支主题
网络分层图解
分支主题
多层级网络拓扑架构解析
网络分层架构
1. 骨干核心层
**核心设备**
`RSR-08E/18E` ×2(主备架构)
**连接方式**
2.5G POS/ATM(主链路)
155M POS/ATM(冗余链路)
**接口类型**
`CPOS` 多业务汇聚接口
2. 省级核心层
**核心设备**
`RSR-08E/60E` ×2(双节点部署)
**连接方式**
155M POS/ATM(上行)
2.5G CPOS(下行扩展)
**特色配置**
`IP over ATM` 协议栈
3. 地市核心层
**核心设备**
`RSR20/50E/60E` + `RSR30/50/6E`
**接口配置**
E1专线接口
FE快速以太网接口
**协议支持**
`MSTP`多生成树协议
4. 分支接入层
**接入设备**
`RSR20/30E` ×4(分布式部署)
**接入方式**
VPN虚拟专网
ISDN综合数字网络
PSTN公共电话网
3G无线接入
**设备手册**
协议与接口矩阵
1. 原图存在部分OCR识别误差:
"STATUS"应为"STM1"光口标准
"OSATI"应为"over ATM"协议描述
2. 拓扑底部标注"嘉兴微阀"为系统集成商信息
3. 该架构通过多层级CPOS接口实现从2.5G到155M的带宽收敛
日志系统
日志管理系统架构
应用层
核心功能模块
**综合展示**:系统状态可视化面板
**资产管理**:设备资产登记与生命周期管理
**日志审计**:审计策略配置与日志审查
**规则管理**:告警规则/分析规则配置
**告警管理**:实时告警通知与处置
**报表管理**:审计报告生成与导出
系统管理模块
权限管理:角色权限控制体系
系统配置:全局参数设置
知识配置:规则知识库管理
采集器管理:日志采集器配置
日志维护:日志归档/清理策略
应用层接口:RESTful API对接
业务层
数据处理引擎
**实时分析**:
关联分析引擎(事件关联分析)
实时事件流处理
**历史分析**:
查询引擎(日志检索)
日志聚合引擎(数据聚合)
存储架构
高性能海量存储代理
分布式存储节点集群
信息可视化服务(数据可视化呈现)
日志采集层
数据处理流程
1. **日志范式化**:统一日志格式
2. **日志分类**:按设备/类型分类
3. **日志过滤**:无效数据过滤
4. **日志归并**:重复日志合并
5. **存储转发**:数据持久化与传输
采集协议支持
Syslog
SNMP Trap
FTP
NETBIOS
ODBC
WMI
Shell脚本
WebServices
OPSEC/LEA
SNDr_PTP(专有协议)
审计数据源
设备类型
网络设备(路由器/交换机)
安全设备(防火墙/IDS)
服务器主机
存储设备
数据库系统
中间件集群
业务应用系统
数据特征
支持结构化/非结构化数据
多维度元数据采集
跨平台兼容采集
后端框架
分布式服务
远程调用
同步调用
异步调用
事件回调
协议集成
Hessian
Webservice
Protobuf
可用性
性能
版本
集群监控
动态部署
自动部署
平滑部署
服务注册发现
服务路由
服务安全限制
服务依赖关系
服务负责人
服务文档
服务生命周期
服务限流
基础监控
业务监控
业务操作完成量
业务操作完成时间
软件应用监控
执行性能
性能趋势报表图
可用性
软件系统监控
开源组件性能监控
磁盘监控
内存监控
CPU监控
网络监控
硬件监控
硬件资源消耗趋势
硬件资源总体利用率
通用报警
基于统计
基于状态
事件处理流程
页面引擎
MVC扩展
基础横切组件封装
模板集中存储
轻量级Ashx容器
脚本样式合并
分布式会话
组件
验证组件
各种控件
横切关注
日志
异常处理
状态信息
集中收集
后台集中查询
通用性能
多级分组
多维度性能查看后台
缓存
本地缓存
Redis缓存
配置
支持复杂类型
配置后台
同步
高性能缓存+数据库
任意数据同步支持
权限
NOSQL客户端
集群管理
AOP
基础组件
多线程
队列
高性能网络层
插件
压缩
加密
反射
调度
特性
扩展方法
表达式树
服务调用组件
分布式文件系统
分布式缓存系统
分布式计算
分布式存储系统
分布式队列
分布式计数器
分布式锁
分布式数据访问
ORM特性
查询表达式
延迟加载
映射配置
其它特性
NOSQL集成
领域驱动支持
软负载
负载均衡策略
高性能
读写分离
Shard特性
分布式事务
迁移辅助
后端
语言与框架
**PHP**
Laravel
Symfony
PHPUnit
**Python**
Django
Flask
**Java**
Spring
Play Framework
**C#**
.NET Core
**Go**
数据存储
**关系型数据库**
MySQL
PostgreSQL
Oracle
**NoSQL**
Redis
MongoDB
Cassandra
系统设计
**架构模式**
微服务
DDD(领域驱动设计)
**缓存策略**
Redis
Memcached
**搜索引擎**
Elasticsearch
Sphinx
运维与部署
**容器化**
Docker
Kubernetes
**API 设计**
RESTful
GraphQL
系统架构解析
一、业务层
业务接入
**http** :通过 HTTP 协议实现业务接入,提供对外的服务接口,接收和响应客户端请求。
二、运营管控
管理平台
**flask** :基于 Flask 框架搭建管理平台,用于系统配置、参数管理、用户管理等操作。
效果回溯 & 分析
对系统运行效果进行监测和分析,为优化和决策提供数据支持。
三、数据输出
风险画像
综合多维度数据生成风险画像,直观展示风险特征和分布。
风险等级 & 评分
根据风险规则和模型计算风险等级和评分,为风险决策提供依据。
Mongodb Redis
使用 MongoDB 和 Redis 存储和缓存风险相关数据,提高数据访问效率。
四、数据计算
风险规则引擎
**rule engine** :通过规则引擎执行预设的风险规则,对风险进行评估和判断。
风险评分
根据风险规则引擎的计算结果,生成风险评分,量化风险程度。
五、数据源
行为日志
记录系统中各类行为操作的日志信息,为风险分析提供基础数据。
业务日志
记录业务流程中的关键操作和事件,辅助风险追溯和分析。
风险因子运算
对风险相关因子进行计算和处理,提取有用特征。
Mysql Mongodb Redis
使用 MySQL、MongoDB 和 Redis 存储和管理不同类型的数据,支持系统的高效运行。
微服务架构技能图谱
理论基础
基本概念
非阻塞I/O
异步消息
独立进程
轻量级通信
核心机制
服务治理
服务发现
容错机制
服务注册
通信机制
同步通信
REST
gRPC
Thrift
SOAP
异步通信
RabbitMQ
Kafka
ActiveMQ
事件总线
组织结构
全功能团队
去中心化治理
康威定律应用
服务自治原则
数据管理
数据存储
RDBMS(MySQL/Oracle)
NoSQL(MongoDB/Redis)
数据缓存策略
数据一致性
分布式事务
最终一致性
Saga模式
CQRS模式
安全策略
认证授权
单点登录(SSO)
OAuth2.0
JWT令牌
安全架构
安全网关
流量加密
访问控制
开发实践
开发框架
Spring Boot
Spring Cloud
Dubbo
环境配置
日志标准化
配置文件模板
部署脚本模板
持续集成
自动化测试
流水线配置
常用模式
服务发现
Consul
Eureka
Zookeeper
弹性设计
熔断器(Hystrix)
限流策略
降级方案
API网关
路由管理
协议转换
请求聚合
测试实践
测试类型
单元测试(JUnit)
集成测试
契约测试(Pact)
E2E测试(Selenium)
测试策略
服务模拟
流量回放
混沌测试
部署实践
部署环境
公有云(AWS/Azure)
私有云(OpenStack)
容器化(Docker/K8s)
部署策略
蓝绿部署
金丝雀发布
滚动更新
自动回滚
监控体系
系统监控
CPU使用率
内存消耗
磁盘IO
网络吞吐
应用监控
健康检查
响应时间(P99/P95)
错误率统计
服务依赖拓扑
告警机制
电话通知
短信预警
邮件报告
Webhook集成
日志聚合
ELK Stack
Elasticsearch
Logstash
Kibana
其他工具
Fluentd
Graylog
Splunk
日志分析
异常追踪
性能分析
审计日志
特点
服务粒度要小,而每个服务是针对一个单一职责的业务能力的封装,专注做好一件事情
每个服务能够独立被部署并运行在一个进程内。这种运行和部署方式能够赋予系统灵活的代码组织方式和发布节奏,使得快速交付和应对变化成为可能
技术选型灵活,不受遗留系统技术约束。合适的业务问题选择合适的技术可以独立演化。服务与服务之间采取与语言无关的API进行集成。相对单体架构,微服务架构是更面向业务创新的一种架构模式。
技术可以不断更新迭代
团队对服务的整个生命周期负责,工作在独立的上下文中,自己决策自己治理,而不需要统一的指挥中心。团队和团队之间通过松散的社区部落进行衔接
目的
'让我们的系统尽可能快地响应变化' - Rebecca Parson
将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。
API Gateway
设计要素
•Version
•RequstID
•Auth&Signature
•RateLimit
•Docs
•ErrorCode&Message
优势
减少客户端和服务间的往来
微服务架构 设计模式
聚合器微服务设计模式
分支主题
聚合器调用多个服务实现应用程序所需的功能。它可以是一个简单的Web页面,将检索到的数据进行处理展示。它也可以是一个更高层次的组合微服务,对检索到的数据增加业务逻辑后进一步发布成一个新的微服务,这符合DRY原则。另外,每个服务都有自己的缓存和数据库。如果聚合器是一个组合服务,那么它也有自己的缓存和数据库。聚合器可以沿X轴和Z轴独立扩展。
一个服务通过聚合多个服务 ,对外提供服务. 本身可以有库,可以没有.可以缓存,也可以没有
链式微服务设计模式
分支主题
在这种情况下,服务A接收到请求后会与服务B进行通信,类似地,服务B会同服务C进行通信。所有服务都使用同步消息传递。在整个链式调用完成之前,客户端会一直阻塞。
一般复杂微服务,都会出现链式调用,需要配套的 监控及 trace 系统
数据共享微服务
分支主题
自治是微服务的设计原则之一,就是说微服务是全栈式服务。但在重构现有的“单体应用(monolithic application)”时,SQL数据库反规范化可能会导致数据重复和不一致。因此,在单体应用到微服务架构的过渡阶段,可以使用这种设计模式,如下图所示:
异步消息传递微服务设计
分支主题
虽然REST设计模式非常流行,但它是同步的,会造成阻塞。因此部分基于微服务的架构可能会选择使用消息队列代替REST请求/响应,如下图所示:
反模式
内聚混乱
背景
没有针对功能上相互隔离的问题采取治理措施。如果一个有影响力的服务消费者要求将不相关的逻辑添加到这个服务中,理由是减少往返,那么毫无疑问,那个功能就遭到了破坏。也许网关或 BPM 层可以避免这种情况的出现,但我们没有时间那样做……仅有匆匆构建另一个业务功能点的时间。
抑制与服务不相关的业务功能。服务必须清楚地与业务能力保持一致,不应该试图做一些超出范围的事。功能隔离问题对架构治理而言至关重要,否则,它会破坏敏捷性、性能和可扩展性,最后创建了一个松耦合的架构,导致交付熵和内聚混乱。
上游系统已各种理由强加功能
我们还需依赖另外一个服务
时间来不及了.你加个功能,掉一下就行]
这个功能其他团队不负责,你们来做好了
不顾扩展性, 为了省事,就加功能
服务架构分层
团队主要关注技术层面的内聚,而不是功能相关的重用
不要根据技术上关切的问题隔离服务,一定要根据业务功能来隔离
背景
多个服务充当数据访问层(ORM),将表暴露为服务;他们认为该服务有很高的重用性。这样,他们就创建了一个由横向团队管理的人造物理层,导致交付依赖。创建的任何服务都应该是高度自治的——就是彼此独立。
组成
日志和审计,主要是日志的汇总,分类和查询
监控和告警,主要是监控每个服务的状态,必要时产生告警
网关监控
服务监控
日志监控
消息总线,轻量级的MQ或HTTP
注册发现
负载均衡
事件调度机制
资源管理,如:底层的虚拟机,物理机和网络管理
认证和鉴权
微服务统一代码框架,支持多种编程语言
统一服务构建和打包
部署和升级
统一服务测试
服务依赖关系管理
统一问题跟踪调试框架,俗称调用链
灰度发布
蓝绿部署
降级和限流
SOA的区别
BS(hr习惯叫WEB)
服务器‘
硬件
cpu
内存
硬盘
网络
软件
win7
Linux
web服务器
IIS
tomcat
apache
nginx
数据库服务器
sqlserver(微软上)
mysql
oracle
db2
源码包,war包,工程包
rimioffices
bugfree
zentao
haha
浏览器访问
数据库连接工具,图形化工具
navicat
sqlyong
plsql
sqldev
sqldevelops
appserv
xmapp
0 条评论
下一页