微服务
2016-05-18 15:48:57 0 举报
AI智能生成
微服务是一种软件开发技术,它将大型应用程序分解为一组小型、独立的服务,每个服务都运行在其自己的进程中,并通过轻量级的机制(通常是 HTTP 资源 API)进行通信。这些服务围绕业务能力构建,并且可以通过全自动部署机制独立地进行部署。这些服务可以用不同的编程语言编写,并且可以使用不同的数据存储技术。由于微服务是小型的、独立的服务,因此它们比单体应用程序更容易开发、测试和部署。此外,由于每个服务都是独立的,因此它们可以更容易地扩展和缩减。总之,微服务是一种灵活的软件开发方法,可以帮助开发人员更快地交付高质量的软件。
作者其他创作
大纲/内容
治理去中心化
独立技术和执行决策
通用/可重用服务
运行时治理
安全级别保证(SLA)
限制
监控
安全和服务发现
服务注册和发现
服务注册
启动向注册中心注册
关闭时注销
服务发现
客户端发现
服务端发现
部署
服务独立发布和取消
服务可水平扩展
快速构建和发布(Docker)
Cloud Foundry
Dockhub
Mesos
Kubernetes
服务间依赖独立
安全
OAuth2
OpenID
JSON Web Token(JSW)
事务
避免跨服务事务
服务自包含和单一职责原则
容错
失效对应用独立
容错对客户端透明
自动恢复
监控发现
设计理念
规模
范围
业务功能
设计指南
职责单一原则
界定业务范围
简化操作和协议
服务范围从宽到窄
消息
同步消息
Rest
JAX-RS
Spring Boot
RPC
Thrift
Dubbo
异步消息
AMQP
STOMP
MQTT
Kafka
Notify
MetaQ
RabbitMQ
消息格式
JSON
XML
Thrift
ProtoBuf
Avro
服务接口
Swagger
RAML
Thrift IDL
集成和通信
点对点
非功能需求点重复实现
复杂性随着服务增多变大
API网关
消息代理
队列
主题订阅
数据去中心化
服务私有数据
通过服务接口访问其他数据库
线路中断
防火墙
隔离失效
处理超时
主动放弃响应
可配置
0 条评论
下一页