前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务架构风格

微服务架构风格

作者头像
羽客
修改2018-11-05 14:17:54
1.4K0
修改2018-11-05 14:17:54
举报

本文说明了微服务架构风格的优缺点,以及微服务架构的模式集合。

特点

通过将一个应用程序设计构建为一组松散耦合的协作服务。每个服务都实现了一部分的相关功能。对应于Scale Cube(参考分布式系统三维可缩放模型)的Y轴。

服务使用HTTP / REST等同步协议或AMQP等异步协议进行通信。可以彼此独立地开发和部署服务。每个服务都有自己的数据库。

优点

支持大型复杂应用程序的持续交付和部署

  • 更好的可测试性 - 测试服务更小,速度更快;
  • 更好的可部署性 - 可以独立部署服务;
  • 能够围绕多个自动团队组织开发工作。

每个微服务的代码规模更小

  • 使开发人员更容易理解和开发;
  • 开发人员的在使用IDE时更加高效;
  • 应用程序启动速度更快,加快了部署速度。

改善了整个应用体系的故障隔离能力

消除对技术堆栈的长期绑定

缺点

分布式系统的额外复杂性

  • 开发工具没有针对分布式系统的特定支持;
  • 集成测试更加困难;
  • 必须实现分布式的通信机制;
  • 处理分布式事务的复杂度;
  • 要处理多个开发团队之间的协调工作。

部署的复杂性

  • 容器化部署的复杂性;
  • 容器编排和服务治理的复杂性;
  • 需要更多公共服务的支持,例如服务发现,服务指标监控等。

额外的内存消耗

微服务架构的模式集合

微服务架构是一组架构模式和特性的集合,这个集合很大程度上定义了什么是微服务,也说明了如何应用微服务架构来构建大型/复杂应用程序。

首先要解决的问题

如何将一个大型复杂的应用程序分解为微服务?

分解模式

按业务领域分解模式划分微服务

云平台实践中的微服务设计原则

部署模式

每台主机多个服务实例

每个主机一个服务实例

每个容器一个服务实例

公共特性

微服务通用框架

中心化配置

通信模式

远程过程调用

消息

外部访问模式

API网关模式

服务发现模式

客户端发现

服务器端发现

可靠特性

断路器模式

数据管理模式

每个服务一个数据库

安全特性

JWT访问令牌

UAA安全认证

测试特性

服务测试

集成测试

可监控特性

日志聚合

应用指标

审计日志

分布式跟踪

异常跟踪

健康检查API

记录部署并更改

UI模式

服务器端UI

客户端UI

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-07-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 特点
  • 优点
    • 支持大型复杂应用程序的持续交付和部署
      • 每个微服务的代码规模更小
        • 改善了整个应用体系的故障隔离能力
          • 消除对技术堆栈的长期绑定
          • 缺点
            • 分布式系统的额外复杂性
              • 部署的复杂性
                • 额外的内存消耗
                • 微服务架构的模式集合
                  • 微服务架构是一组架构模式和特性的集合,这个集合很大程度上定义了什么是微服务,也说明了如何应用微服务架构来构建大型/复杂应用程序。
                  • 首先要解决的问题
                    • 分解模式
                      • 部署模式
                        • 公共特性
                          • 通信模式
                            • 外部访问模式
                              • 服务发现模式
                                • 可靠特性
                                  • 数据管理模式
                                    • 安全特性
                                      • 测试特性
                                        • 可监控特性
                                          • UI模式
                                          相关产品与服务
                                          容器服务
                                          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                                          领券
                                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档