企业落地微服务的难点

  微服务是一种软件架构风格,以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模组化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic) 的 API 集相互通讯。在过去,我们更多的还只是听到微服务这个概念,但是现在,已经有很多微服务落地项目了,并且可以看到越来越多的企业在向微服务架构转型。

  企业到底要不要转向微服务,又该怎么向微服务转型?关于这些问题,InfoQ 采访了 BoCloud 博云高级解决方案架构师赵安全,来看看企业在微服务转型中应该注意什么。

微服务面面观

  不得不说,现在“微服务”在各大博客、技术订阅号和技术会议中出现的频度越来越高。然而,像其他新技术一样,对于微服务很多人都是“一解释就懂,一问就不知”。那么到底该如何理解微服务呢?

在赵安全看来,对于技术的理解主要看大家有什么样的需求。对于微服务而言,它可以解决企业的哪些需求呢?

  首先是服务复用。企业内部会有很多应用,每个应用都会有一些通用的东西,比如常见的通知、授权等,还有些内部的特殊服务,如何把这些服务通用起来,就是服务复用;

  其次是对分布式高可用、高弹性和高性能有需求;

  还有一个方面跟 DevOps 理念相关,就是要支持快速迭代。如果应用架构不改,是无法在 DevOps 实践中实现快速迭代的。

  很多人会问微服务和 SOA 的区别,其实从核心需求来讲,微服务架构和 SOA 区别并不是特别大。但微服务有个比较重要的点,就是可以独立部署,独立发展,这是跟 SOA 最主要的区别。服务可以独立部署就更容易快速迭代,这也是微服务要解决的一个问题。

  微服务在满足我们诸多需求的同时,也带来了极大的挑战:

  • 微服务把一个服务拆分成了很多个,维护的对象就变多了;
  • 维护对象变多之后,如果一个任务出现问题,将很难定位出现问题的节点;
  • 微服务化开发需要熟悉微服务开发框架、中间件,需要考虑失效、容错等策略,给开发也带来了新的挑战;
  • 微服务如果拆分不好,会大量引入分布式事务,处理起来会比较麻烦;
  • 对测试的挑战就更大了,微服务化之后,单一模块无法独立完成业务功能,而集成测试会在非常靠后的时候才能做,就要求需要大量引入 API 自动化测试等测试方法。

我适合向微服务转型吗

  那么,眼看别人都在向微服务架构转型,企业自己要不要转向微服务呢?赵安全认为,是否要做微服务,主要考虑如下几个方面:

  • 从需求角度考虑,有互联网化的弹性、快速迭代、高并发、高可用的需求。
  • 企业业务复杂度高,需要长期演进。
  • 企业有业务复用的需求,希望能减少重复造轮子,降低成本。

  另外,从行业角度来说,目前一些大型的国企和金融机构都在向微服务转型,为什么是大中型的企业呢?因为他们本身的应用项目不是一次可以做完的,而是需要基于一个产品做长期的持续演进开发的过程,业务复用的需求也很迫切。如果是一个固化从来不升级的产品,就没有做微服务化的意义。

企业落地微服务的难点

  对于决定要落地微服务的企业,赵安全列出了四个难点。

  第一,首先要捋清需求,判断自己是否要做微服务。如果只是做了服务拆分而并没有复用的需求,或者没有高并发、弹性甚至是分布式的需求,做微服务的意义也不大。

  第二,微服务设计上有难度。很多企业以为就是把服务简单拆一下就可以了,这明显是不靠谱的。微服务的拆分设计,一定是要花很多时间的。微服务产品前边的设计一定要做详细,把 API 等因素全都想清楚了再开始做。

  第三,流程上也有一些变化。新需求来了怎么办?是在原来的微服务里重新修改,还是做一个新的微服务?这是需要从中间去考虑的,而不是像原来一样,有需求过来就开始改。

  第四,在技术方面,其实掌握一套框架也需要时间。Spring Cloud 框架并不是特别简单,需要理解它的流程和方法,开发人员的开发习惯或方式可能也需要发生一些变化。

  以上就是今天的内容,希望对你有所帮助。

原文地址:https://www.cnblogs.com/jackyfei/p/12344460.html

时间: 2024-07-31 06:03:03

企业落地微服务的难点的相关文章

落地微服务之前,先想想你的团队结构是否合理!

2016-10-18 王昕 译 聊聊架构 有关微服务的技术Docker火热起来之后也进一步升温.一般来说,IT业界,尤其是工程师们更加关心国外专家的技术文章.但事实上,对于软件项目成功与否来说,往往是企业中人的因素决定结果,企业文化因素决定结果,对于微服务架构,则更是如此:因为微服务的分割是从企业业务开始,而不是从软件技术开始.本文由轻元科技首席架构师王昕翻译,如有疑问,欢迎留言讨论. 似乎每过五到十年,在软件行业,特别是企业集成或者是企业应用领域,就会出现一些新的方法论或架构方式,声称能够让你

微服务实战(二):落地微服务架构到直销系统(构建消息总线框架接口)

从上一篇文章大家可以看出,实现一个自己的消息总线框架是非常重要的内容,消息总线可以将界限上下文之间进行解耦,也可以为大并发访问提供必要的支持. 消息总线的作用: 1.界限上下文解耦:在DDD第一波文章中,当更新了订单信息后,我们通过调用经销商界限上下文的领域模型和仓储,进行了经销商信息的更新,这造成了耦合.通过一个消息总线,可以在订单界限上下文的WebApi服务(来源微服务-生产者)更新了订单信息后,发布一个事件消息到消息总线的某个队列中,经销商界限上下文的WebApi服务(消费者)订阅这个事件

微服务实战(四):落地微服务架构到直销系统(将生产者与消费者接入消息总线)

前一篇文章我们已经完成了基于RabbitMq实现的的消息总线,这篇文章就来看看生产者(订单微服务)与消费者(经销商微服务)如何接入消息总线实现消息的发送与消息的接收处理. 定义需要发送的消息: 下单消息要被发送到消息总线,并被经销商微服务的处理器处理.经销商微服务处理时,需要知道要对哪个经销商处理多少的PV值与电子币余额.这些信息就是事件消息需要承载的重要信息. public class OrderCreatedProcessDealerEvent:BaseEvent { public deci

用友云服务治理平台 助力企业微服务架构落地

本文主要阐述使用微服务架构时,治理框架或者平台需要解决的主要问题,微服务落地实施过程中所遇到的关键问题和对应解决方案.同时,文章也介绍用友云旗下的微服务治理平台的核心功能和技术架构,以及微服务治理平台在用友云一些产品下的实践,下一步的发展计划和趋势. 用友云微服务治理平台由来 伴随互联网.云计算.大数据等技术的快速发展,越来越多的企业在信息化之后,将企业上云和数字化提上日程.软件架构的微服务方式重构.应用的自动化运维.容器化等需求强烈,催生出了众多的PaaS平台.同时,针对微服务,也涌现除了许多

(转)微服务框架落地实践之路

http://www.primeton.com/read.php?id=2276&his=1 一.微服务架构产生的背景 近十年中,互联网给我们生活带来了翻天覆地的变化,消费者的生活方式日益数字化,人们可以在任何时间.任何地点利用网络进行购物体验,运用社交媒体进行自我表达,企业也在运用多种技术手段,发挥数字化潜力,改善客户联系,促进企业业务模式的转型.在这种背景下,互联网也好,传统企业也罢,都面临一个共同的需求:面对快速变化的需求,面对业务模式的升级,如何构建出灵活的,可扩展,可重用的系统? 前几

传统企业IT为什么对微服务叶公好龙的心态?(转)

这两年来,“微服务”.“云计算”.“大数据”.“人工智能”的概念在IT界成了新的宠儿:珠联壁合.声名远播.势如破竹.如日中天!从实践落地的情况来看:微服务诞生于互联网,当然是首先在互联网界遍地开花,高奏凯歌,所向披靡,到处布道.当传统企业刚遇到“微服务”,哇!这玩意真好啊,真是葵花宝典啊!业务隔离.独立部署.独立上线,高性能.高可用.弹性伸缩!我们公司要是也能实现这个该有多好啊!持续集成.持续部署,这不是我们整天喊整天吹的业务敏捷正需要的东东吗?然而在研究一翻之后,“洗洗睡吧!“ 抱着质疑的态度

年终盘点篇:2017年度微服务调查报告出炉

[IT168 调查报告]如果在诸多热门云计算技术中,诸如容器.微服务.DevOps.OpenStack 等,找出一个最火的方向,那么非微服务莫属.尽管话题炙手可热,但对传统行业来说,微服务落地和方法论目前处于起步阶段. 本报告于2017年11月份展开,从驱动因素.落地现状.和容器关系.架构体系.未来趋势和落地方法论等方面对微服务进行了分析.希望能够为传统企业微服务决策.规划和实施提供依据和解决办法. 一.驱动因素 传统行业对IT效率的变革需求是微服务成长土壤,业务模式创新重塑导致系统更新频繁.应

2019年微服务实践第一课,网易&谐云&蘑菇街&奥思技术大咖深度分享

微服务的概念最早由Martin Fowler与James Lewis于2014年共同提出,核心思想是围绕业务能力组织服务,各个微服务可被独立部署,服务间是松耦合的关系,以及数据和治理的去中心化管理.微服务能够帮助企业应对业务复杂.频繁更新以及团队规模庞大带来的挑战,实现IT对业务创新的驱动. 1月12日,网易云主办的"微服务实践沙龙"将走进深圳,邀请业界微服务的先行者,分享落地实践过程中总结的干货经验. 报名地址:点击报名 时间:2019年1月12日 13:30-17:00 地点:广东

微服务架构下领域建模避坑指南

前言 微服务自2014年3月由Martin Fowler首次提出以来,在Spring Cloud.Dubbo等各类微服务框架的帮助下,以燎原之势席卷了整个IT技术界,成为了最主流的分布式应用解决方案.伴随着Service Mesh及Kubernetes(K8S)的出现更是将微服务架构推至顶峰. 微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦,并提供更加灵活的服务支持. 经常有人在讨论:架构是设计出来的?还