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

微服务架构

作者头像
小柒2012
发布2018-04-13 15:21:20
7450
发布2018-04-13 15:21:20
举报
文章被收录于专栏:IT笔记IT笔记

微服务架构 单体架构能够很好地应对简单的业务系统。但是随着业务的扩张,功能的不断增加,单体架构面临着越来越多的挑战:

1.jpg
1.jpg
维护成本增加
  1. 团队越来越大,相应的沟通成本、管理成本、人员协调成本显著增加。
  2. 引起缺陷的原因组合多,导致分析、定位、修复缺陷的成本响应增高。
  3. 在自动化测试机制不完善的情况下,易导致“修复越多,缺陷越多”的恶性循环。
交付周期长

代码编译、检查,运行测试、构建、更能验证等,反馈周期变长。

2.jpg
2.jpg
新人培训周期长

对于新加入团队的成员,需要花更多的时间了解熟悉业务、配置环境、熟悉代码。

3.jpg
3.jpg
技术选型成本高

单体架构倾向于采用统一的技术平台或方案来解决所有问题。

可伸缩性差
  1. 无法按需伸缩。
  2. 资源有效利用率低。
构建全功能团队难

应用程序的复杂结构也会逐渐映射到研发团队的结构上。

微服务架构(Microservice Architect):

微服务架构是一种架构模式,它提倡将单块架构的应用划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。

每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通。

每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。

另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应更具业务上下文,选择合适的语言、工具对其进行构建。

本质特征:

服务作为组件

围绕业务组织团队

关注产品而非项目

技术多样性

业务数据独立

基础设施自动化

演进式架构

优势:

边界性

  1. 业务独立
  2. 功能耦合度低

独立性

  1. 独立部署
  2. 按需伸缩

技术多样性

  1. 使用合适的语言或者工具
  2. 使用合适的数据存储
挑战:

分布式系统的复杂度

  1. 网络因素(带宽、超时)
  2. 数据一致
  3. 可用性

微服务测试

  1. 测试策略
  2. 自动化测试

运维成本高

  1. 环境配置
  2. 部署
  3. 监控

微服务的依赖管理

  1. 版本管理
  2. 服务依赖
  3. 服务治理

资料来源: http://www.cnblogs.com/Erik_Xu/p/6241359.html

http://www.infoq.com/cn/articles/analysis-the-architecture-of-microservice-part-01

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 维护成本增加
  • 交付周期长
  • 新人培训周期长
  • 技术选型成本高
  • 可伸缩性差
  • 构建全功能团队难
  • 本质特征:
  • 优势:
  • 挑战:
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档