采用微服务需要解决的4个挑战

想更多地了解企业团队如何利用微服务进行扩展? 在此处阅读有关“如何使用微服务构建(和扩展)”的完整电子书!

在过去的几周中,我们介绍了微服务的概念及其作为业务计划的角色,以及如何将您的组织迁移到微服务模型 。 向微服务的过渡给组织带来了巨大的挑战。 本周,我将深入探讨您可能会遇到的一些障碍以及您所做努力的最终好处。

微服务架构

微服务架构比遗留系统复杂得多 。 反过来,由于团队必须管理和支持许多活动部件,因此环境变得更加复杂。 您必须关注的一些事情包括:

  • 随着添加更多微服务,您必须确保它们可以一起扩展。 粒度越大,意味着移动的零件越多,从而增加了复杂性。
  • 当更多服务交互时,您会增加可能的故障点。 聪明的开发人员保持领先一步,并为失败做计划。
  • 将整体应用程序的功能过渡到微服务会创建许多不断交流的小组件。 跟踪单个业务交易的跨层性能问题可能很困难。 这可以通过将调用与各种方法(包括自定义标头,令牌或ID)相关联来处理。
  • 传统的日志记录是无效的,因为微服务是无状态的,分布式的和独立的-您将产生太多的日志而无法轻松定位问题。 日志记录必须能够关联多个平台上的事件。

其他需要考虑的因素包括:

  1. 运营和基础架构:开发团队必须比以往任何时候都更加密切地与运营部门合作。 否则,由于一次执行大量操作,事情将失去控制。
  2. 支持:与单片应用相比,支持和维护微服务设置要困难得多。 每个人都可以使用多种框架和语言制作。 支持的无限复杂性会影响添加服务的决策。 如果团队成员想用一种深奥的语言来创建新服务,它将影响整个团队,因为他们必须确保该服务可以与现有设置一起使用。
  3. 监视:添加其他新服务时,维护和配置监视这些服务的能力成为一项挑战。 您将不得不依靠自动化来确保监视能够跟上服务规模的变化。
  4. 应用程序的安全性:该体系结构中服务的激增为黑客,黑客和犯罪分子创造了更多的软目标。 安全小组拥有各种可跟踪的操作系统,框架和语言,可以确保系统不易受到攻击。
  5. 请求:在服务之间发送数据的一种方法是使用请求标头。 请求标头可以包含诸如身份验证之类的详细信息,从而最终减少您需要发出的请求数量。 但是,当无数服务中发生这种情况时,可能会增加与其他团队成员进行协调的需求。
  6. 缓存:缓存有助于减少您需要发出的请求数量。 缓存涉及多种服务的请求可能会Swift变得复杂,从而需要来自不同服务及其开发团队的通信。
  7. 容错:微服务的口号是“相互依赖”。 服务必须能够承受彻底的故障和莫名其妙的超时。 故障会Swift繁殖,通过某些服务产生级联效应,可能不必要地使服务中断。 与单片系统相比,这种环境下的容错能力要复杂得多。

聚焦DevOps

在老式的开发环境中,IT部门的运营中几乎没有集成各个功能的功能 。 DevOps是协作的发展,运营,开发和质量保证团队在整个软件开发过程中进行协作和交流。 它不是由一个人或一组人担任的单独角色。 相反,它概念化了帮助运营和开发紧密合作所需的结构。 使用微服务架构,开发人员负责创建一个系统以成功交付最终产品。

随着大小型组织不断向微服务迁移,开发人员也必须不断发展。 由于部署微服务非常容易,因此开发人员正在参与代码部署和生产监控。 这与传统实例相反,在传统实例中,开发人员将编写代码并将其交给另一个团队(DevOps)进行部署和维护。 今天,开发人员和DevOps合并为较小的应用程序团队,这些团队负责三个主要组件:构建,部署和监视。

微服务正在改变团队的结构,允许组织创建以特定服务为中心的团队,并在受限的区域赋予他们自治和责任。 这种方法使公司可以响应不断变化的业务需求快速进行调整,而不会中断核心活动。 这也使快速加入新员工变得更容易。

开发人员可能必须应对一些其他挑战,包括:

  • 缺乏具有JavaScript经验的开发人员,他们知道如何组合微服务架构。
  • 了解和实施物联网服务。
  • 帮助公司将技术引入业务计划和策略的能力。
  • 教业务领导者开放式API如何扩大其当前的业务范围并在市场上开拓新的机会。
  • 当供应商提供非生产性的中间件时,如何简化开发堆栈,选择正确的技术并进行后退。
  • 向Netflix等行业领导者学习,并确定哪种微服务实现最能为其组织服务。
  • 了解许多供应商仍未创建稳定的微服务平台。
  • 能够同时应对可能管理和运行数百个单个微服务的压力。
  • 管理一个日益复杂的团队网络,包括运营,架构师,编码人员,质量保证和集成商,他们可能仍未完全了解微服务方法。

开始过渡

启动过渡过程后,您会注意到出现了意想不到的新挑战,其中包括:

  • 应将多少工作负载转移到微服务?
  • 您是否应该允许将代码迁移到其他服务?
  • 您如何确定操作运行时每个微服务的边界?
  • 您如何监视微服务的性能?

想更多地了解企业团队如何利用微服务进行扩展? 在此处阅读有关“如何使用微服务构建(和扩展)”的完整电子书!

下载按钮

翻译自: https://www.javacodegeeks.com/2016/05/4-challenges-need-address-microservices-adoption.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值