开发者社区> shev> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

如何拆分你的微服务架构?

简介: Ghostcloud(中文名:精灵云)坐落于成都天府软件园,是成都高新区重点扶持企业,国内首批从事容器虚拟化研发的企业,是西南地区唯一一家基于Docker的云计算服务商,为企业级行业客户提供针对互联网化、私有云管理平台、大数据业务基础架构的平台服务。
+关注继续查看

如今,市场环境纷繁复杂,瞬息万变,现代企业为了更好地生存,需要有极强的适应能力。快速而轻松地迎接改变,成为了一个优质企业的特征之一,同时企业还要求技术团队构建更科学的架构,搭建成本更低的平台,这就使得这些团队越来越倾向于使用微服务架构来应对以上要求。

微服务的做法有利于软件组件和数据的分散化,将一个整体分解成更小、更容易改变的部分,分散仅帮助团队加快工程进度,而不会牺牲系统的安全性。要想让这种架构工作得很好,需要改变工作方式。

微服务架构的设计,其实是为了使团队能够在执行工作的人之间分配决策权力,向更多成员直接推行决策权,允许他们以更自由的方式生产。微服务架构使用正确的话,将产生更好和更快的变化。但是如果你的架构错误,那么一系列坏的决定可能会降低转化率,甚至会损害你的业务。
1

我们讲决策权分配,即是说微服务架构的拆分实际上就是在寻求正确的权力下放战略。这是一个进化过程,需要不断地进行分析和调整。而如何正确的拆分微服务架构,我认为可以重点从以下三个方面考虑:

1、我们应该做哪些决定?

设计微服务系统不仅仅是改变组件大小,架构中涉及创建和更改服务的所有领域都有一定的作用。在这里总结了以下九个方面,作为拆分微服务架构时所做决定的参考:

• 生命周期: 什么时候创建或停止服务?我们什么时候需要将它们分开?
• 服务实现:我们应该在每个服务中使用哪些工具、语言和架构?
• 系统架构: 服务如何引导他人?开发人员如何了解?
• 数据架构:服务之间如何共享数据?
• 变更过程: 什么时候可以改变服务?部署和QA的工具和过程?
• 团队管理:谁在哪个团队服务?每个团队负责什么?团队成员做了什么?
• 人事管理:人员如何被雇用和解雇?员工如何激励和奖励?
• 安全管理:我们如何降低安全事故的风险?需要做些什么来改善整个系统的安全性?
• 采购过程:可以购买什么软件?使用开源软件需要哪些保护?

2、涉及到哪些人?

不得不承认,一个员工做出的一些决定对他们的公司来说可能是非常有影响力的。一个很典型的现象是,公司试图对内部的决策者增加控制,以便将风险降至最低,从而导致决策权集中化。例如,在过去的几年中,苹果以拥有一个高度集中的设计团队而闻名,少数的人做出产品设计的大部分决策。

集中发生是因为正确的人需要做出最重要的决定。通常,“正确的人”是具有天赋,专业知识和经验的组合,使我们能够相信他们做出最好的决定,我们可以称这些人为我们的“明星决策者”。但实际上,公司的“明星决策者”数量有限,大多数团队只有几颗“明星”。

微服务改变了这种少数人行使决策权的现象,同时更容易应对错误的决策。如果一个团队在微服务工作时作出错误的决定,其错误的波及范围会很小,容错率变高。当系统的更改变得便宜和容易时,团队可以快速改进先前的决策,使他们能够更快地获得最佳决策。
2

3、谁拥有哪一部分?
决策基于选择,而选择又基于领域知识。决策不应该立即执行,它需要一个过程,需要高度专业的技能或知识来实现。

管理专家亨利•明茨伯格(Henry Mintzberg)为我们提供了一个很好的模式,其中概述了决策过程的步骤:

  1. 研究与信息采集
  2. 生成选择
  3. 做出选择
  4. 授权的选择
  5. 执行和实施

所有这一切的关键,是在采用决策分权化时,不需要绝对。每个步骤都可以独立集中或分散化,在平衡效率和安全性时,可以获得更大的灵活性。如今,集中选择与非集中选择相结合,也是现在很多大公司常见的模式。

当人们谈论微服务架构时,权力下放过程的选择、授权和执行部分相互协作、快速、规模化地移动,这些都降低了变化来临时对整体系统产生的负面影响。它是提高变革速度的有效途径,但不要忘记,你的成员特点、团队协调,以及所有的系统、工具和工作环境同样重要。

你必须了解如何做出决策,如何改进流程,这才是迎接变化的好方法。

原文链接:https://thenewstack.io/decentralizing-microservices-organization/

推荐阅读:
在这个“云”先行的时代,企业如何系统管理云服务商
完美融合Kubernetes,Ghostcloud企业级容器云平台EcOS率先实现双容器调度
据说一个成功的研发团队应具备这9大属性

作者简介:
罗尼•米特拉:API学院设计总监,他是作者,主持人和设计师,特别关注软件和人员沟通的方式,
出版了《Microservice Architecture》一书。

译者简介:
Ghostcloud(中文名:精灵云)坐落于成都天府软件园,是成都高新区重点扶持企业,国内首批从事容器虚拟化研发的企业,是西南地区唯一一家基于Docker的云计算服务商,为企业级行业客户提供针对互联网化、私有云管理平台、大数据业务基础架构的平台服务。
Ghostcloud因容器技术而生,以最新容器技术Docker为基础,为适应不同行业客户需求,全自主研发了一套调度引擎框架Newben,且全方位适配Kubernetes主流开源调度引擎,也是国内率先实现双调度引擎的企业,是一流的企业级容器云服务专家。Ghostcloud推出了企业级容器云PaaS/CaaS平台,命名为EcOS(EnterpriseContainer Operation System)。Ghostcloud将EcOS平台与微服务/DevOps相融合,运用至企业IT系统的全生命周期的开发、测试、运维及发布流程中,致力于为多个领域企业向“互联网+”转型提供针对互联网化、私有云管理平台、大数据业务基础架构的平台服务,帮助企业级客户降低成本、提升效率、简化运维及产品部署,并提升系统的可靠性和安全性。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
微服务架构 | 11. 分布式事务
分布式事务是指事务的参与者、支持事务的服务器、资源服务器及事务管理器分别位于分布式系统的不同节点上;
81 0
微服务架构 | 10.3 使用 Zipkin 可视化日志追踪
Zipkin 允许开发人员以图形方式查看事务占用的时间量,并分解在调用中涉及的每个微服务所用的时间。在微服务架构中,Zipkin 是识别性能问题的宝贵工具;
265 0
微服务架构 | 10.2 使用 Papertrail 实现日志聚合
Papertrail 是一种基于云的服务(基于免费增值),允许开发人员将来自多个源的日志数据聚合到单个可搜索的数据库中。开发人员可以为日志聚合选择的解决方案包括内部部署解决方案、基于云解决方案、开源解决方案和商业解决方案;
117 0
微服务架构 | 10.1 使用 Sleuth 追踪服务调用链
Spring Cloud Sleuth 是一个 Spring Cloud 项目,它将关联 ID 装备到 HTTP 调用上,并将生成的跟踪数据提供给 OpenZipkin 的钩子。Spring Cloud Sleuth 通过添加过滤器并与其他 Spring 组件进行交互,将生成的关联 ID 传递到所有系统调用;
63 0
微服务架构 | 10. 分布式追踪
微服务的调试问题会比较复杂,可以使用分布式追踪解决;
71 0
微服务架构 | 7.2 构建使用 JWT 令牌存储的 OAuth2 安全认证
JWT 为 OAuth2 令牌提供规范标准,并且可以自定义 JWT 令牌;
91 0
微服务架构 | 7.1 基于 OAuth2 的安全认证
OAuth2 是一个基于令牌的安全验证和授权框架。他允许用户使用第三方验证服务进行验证。 如果用户成功进行了验证, 则会出示一个令牌,该令牌必须与每个请求一起发送。然后,验证服务可以对令牌进行确认;
91 0
微服务架构 | 7. 安全保护
安全性是暴露由许多微服务组成的公共访问 API 时要考虑的最重要的一个方面。Spring 有一些有趣的功能和框架,使我们的微服务安全配置更容易;
136 0
微服务架构 | 5.4 Sentinel 流控、统计和熔断的源码分析
调用链路是 Sentinel 的工作主流程,由各个 Slot 槽组成,将不同的 Slot 槽按照顺序串在一起,从而将不同的功能(限流、降级、系统保护)组合在一起; 本篇《2. 获取 ProcessorSlot 链》将从源码级讲解如何获取调用链路,接着会以遍历链表的方式处理每一个 Slot 槽,其中就有:FlowSlot、StatisticSlot、DegradeSlot 等。分别对应本篇《3. 流控槽实施流控逻辑》、《4. 统计槽实施指标数据统计》和《5. 熔断槽实施服务熔断》;
98 0
微服务架构 | 5.2 基于 Sentinel 的服务限流及熔断
Sentinel 是面向分布式服务架构的轻量级流量控制组件,主要以流量为切入点,从限流、流量整形、服务降级、系统负载保护等多个维度来帮助我们保障微服务的稳定性;
262 0
+关注
shev
精灵云(www.ghostcloud.cn)联合创始人,20年编程经验,全栈工程师,曾任索贝数码及赛门铁克架构师架构师,精通分布式系统开发,2013年开始研究LXC和Docker相关技术,目前主要从事容器云平台研发工作。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
花呗-亿级金融业务架构演进
立即下载
腾讯云多Kubernetes集群高可用运维实践
立即下载
基于 OpenResty 和 Node.js 的个推微服务实践
立即下载