微服务架构-从理论到实践-理解微服务关键问题
2018-06-12 15:04:56 9969 举报
微服务架构是一种软件开发技术,它将一个大型应用程序拆分为多个小型、独立的服务,这些服务可以独立部署、扩展和维护。微服务架构的关键问题包括如何定义服务的边界、如何实现服务之间的通信和协作、如何处理服务的故障和容错等。在实践中,微服务架构需要遵循一些原则,如单一职责原则、自治性原则和去中心化治理原则等。通过采用微服务架构,可以提高应用程序的可伸缩性、可靠性和灵活性,同时也能够更好地支持持续交付和快速迭代的开发模式。
作者其他创作
大纲/内容
基础服务2
Zuul Core
Metric支持
Task
暂无
限流熔断
基础服务层
基础服务
API Gateway
网络
第9讲 微服务最经典的三种服务发现机制
聚合服务
百人研发团队考虑引入微服务
Slave
基础设施层
聚合服务层
Release N+1
大数据、商业智能
业务监控核心指标监控、登录注册、下单、支付等
Reject
1
executor
LB
Service Registry
日志监控
调用链监控
Google Dapper
第7讲 如何给出一个清晰简洁的服务分层方式
Service Provider
Svc1
RESTAPI
基础设施层监控(网络、交换机)(网络流量、丢包、错包、连接数等)
Metrics
注册发现
持续交付流水线
5a
文本消息开发者可读,浏览器就可以访问
Swagger
Atchitect
Root Span
镜像治理
Return Fallback Response
一般HTTP client可访问,也可以自动生成强类型客户端,可支持多语言客户端
ORDERService
利
H5 GW
批1
API
认证授权
第18讲:微服务的容错限流是如何工作的?
服务注册中心
康威法则: 设计系统的组织,其产生的设计等同于组织之内、组织之间的沟通结构。第一定律 组织沟通方式会通过系统设计表达出来。第二定律 时间再多一件事情也不可能做的完美,但总有时间做完一件事情。第三定律 线型系统和线型组织架构间有潜在的异质同态特性。第四定律 大的系统组织总是比小系统更倾向于分解。
简单依赖图
有
pre filters
性能
第2讲 架构师如何权衡微服务的利弊
Green Environment
业务前台
Mobile
侵入
End point
定时拉取配置
Return Successful Response
聚合服务适配服务Backend for Frontend(BFF)边界服务(Edge Service)
安全
强模块化边界
监控告警
Svc3
可独立部署
Origin Server
高
日志聚合
统一异常处理
计算
存储
集群资源调度
Push or Pull
生产环境
聚合服务2
custom filters
用户体验专家团队
服务发现
强类型客户端,一般自动生成,可支持多语言客户端
DBA专家团队
端用户体验监控性能、返回码、城市、地区、运营商、版本、系统等
Service Oriented architecture with 有边界上下文的面向服务体系结构
Zipkin
4
REVIEWService
好,文档较丰富
8b
Public BFF
2
error filters
安全&访问控制
RPC vs REST
Consumer
交付流水线与工程实践
最终一致性
ZK
平台服务
Invoke
sync
TCP
文档
Dev IT价值链 Ops
Micro-Services
Svc5
复杂性
Agent
……
微服务架构从理论到实践理解微服务关键问题
第16讲:微服务监控系统分层和监控架构
构建、单元测试和打镜像
独立部署
聚合服务1
Load Balancing & Invoke
Shopping CartService
微服务架构
Svc4
资源治理
内部nginx
6b
第三方GW
Applo配置中心
好
Trace id +parent span id
Successful Fallback
开发者友好
工程实践和规范
外部nginx
Child Span
第3讲 康威法则和微服务给架构师怎样的启示?
升级到UAT
Not Implemented
修改配置发布配置
ServerMap
Synchronous
Failed Fallback
好,文档一般,暂无中文社区
批3
9
外部设备
发布到UAT环境
资源调度
第10讲 微服务 API 服务网关(一)原理
第11讲 微服务 API 服务网关(二)开源网关 Zuul
基础业务能力
服务框架和治理
MasterStandBy
Desktop
Http Request
业务服务
案例
Drop In业务逻辑
ConfigServer
核心业务层
Filter Loader
MasterLeader
RecommendationService
IAM
docker
SVC2
资产治理中心
IDC
微服务开发框架
轻量级通信
耦合性
运维专家团队
Check
监控
HeartBeat
调用链埋点
YesGot Response
测试专家团队
配置集成
调拨流量
Groovy Filter
埋点方式
check
Svc2
基础设施
End - EndOwnership
后台服务
Loosely Coupled低耦合
生产力
发布到测试环境
容器云
Design
告警监控
配额查询
微服务架构总体技术体系
主站
Java/.Net
S1
基础服务1
第4讲 企业应该在什么时候开始引入微服务?
容错限流
业务中台
客户端比较方便,但是二进制消息不可读
8c
业务能力
post filters
UAT环境
微服务
日志
接口契约IDL
反向路由认证安全限流熔断日志监控
蓝绿+灰度发布到生产环境
AppX
客户端
第5讲 什么样的组织架构更适合微服务?
routing filters
升级到生产
App1
内部服务调用直连客户端负载均衡
Pre Routing Filters
对外一般需要转移成REST/文本协议
集中配置
Run
FilterPoller
ReportMetrics
Load Balancer
.execute()
接入层
跨职能产品团队
开放平台 GW
Report Error/Success Metrics
底层通讯TCP/HTTP
Configure
服务框架
后台服务集成DB,MQ,Cache
Calculate Circuit Health
微服务网关
仅Java
Deploy
3.主机独⽴立进程LB
批2
ConstructHystrixCommand
Post Routing Filters
InventoryService
基础服务核心领域服务公共服务中间层服务(Middle Tier Service)
第三方接入
内部GW
No Exception Thrown
Timeout
Mobile BFF
查询应用镜像
PaaS私有云
应用
第13讲:集中式配置中心的作用和原理是什么?
2.进程内LB
网关
getFallback()
发布控制台
Jenkins
CAT
网关层
熔断、隔离限流、降级
软负载
Log
中
Http Response
服务注册
RPC
携程、点评陆金所
研发专家团队
本地文件缓存
Host
第8讲 微服务总体技术架构体系是怎样设计的?
第17讲:微服务的调用链监控该如何选型?
直接可以对外开放
BigData
CircultOpen?
Filter File Manager
3
AI
Discover
摘取镜像
第15讲:微服务框架需要考虑哪些治理环节?
应用程序
技术中台
非常丰富
启动实例
对外开放
源头祖先
Zuul Servlet
系统层监控(物理机、虚拟机、OS)(CPU、内存、网络、磁盘)
社区支持
健康检查
8a
消息协议
Thread pool/queue full?
Review
序列化XML/JSON/二进制
松散耦合
RequestContext
基础服务3
Metrics监控
GW同步对应通过自己要放出去的服务列表
REST
1.独立LB
内部 GW
bounded Context
FilterPersistence
一般低于RPC
S3
第6讲 如何理解阿里巴巴提出的微服务中台战略
蓝绿、金丝雀和灰度发布
独立的进程
发现服务
弊
APIGateway
eBayCAL~CentralizedApplication Logging
7
SVC1
应用监控
单块优先
少
测试环境
HTTP Request
产品管理专家团队
第1讲 什么是微服务架构
WEB
无线 GW
Exception Thrown
四层监控和监控分类
User Interface
HTTP Response
运维复杂性
持续交付
Register & KeepAlive
发布系统
外部+内部 LB
Reactive
无
支撑
支撑服务
GIT
Test
开放平台GW
Product CatalogService
8
REST/RPC
Zuul Filter Runner
一般,无中文社区
5
单体应用
从传统职能型到跨职能产品型
平台团队
强耦合
Zookeeperquorum
FilterPublisher
配置更新推送
如果你搞不定⼀个单块应用,别指望微服务能够拯救你!
FrameworkScheduler
一组小的服务
Web BFF
LoadBalancer
Yesreturn immediately
Success?
第12讲:跟 Netflix 学习微服务路由发现体系
聚合服务3
Routing Filters
Monolith单体应用
测试复杂性
S2
Router
服务注册发现
第19讲:Docker 容器部署技术 & 持续交付流水线
第20讲:容器集群调度和基于容器的发布体系
Server
渠道
ShippingService
DNS
第三方 GW
调用链可视化
FilterDirectories
HTTP/HTTP2
App2
Support
Dashboard中文支持
通讯协议
注册服务
NOC监控
镜像治理中心
开发人员通过开关控制服务要通过哪个放出去
简单
.queue()
国内案例
SvcX
第14讲:微服务通讯方式 RPC vs REST
机器
无线GW
Blue Environment
Applo 客户端内存缓存
不侵入字节码增强
Short-circuit
Develop
技术多样性
端到端的工具链
分布式复杂性
6a
应用层监控URL、Service、Cache、SQL可用率,响应时间、QPS
微服务或SOA
无集中式管理
run()
Release N
6
报表
Pinpoint
.observe() or .toObservable()
京东、阿里不开源
0 条评论
下一页