不管你喜不喜欢微服务,现在微服务无疑已经是企业经营绕不过去的话题了。无论是想把目前的架构改成微服务,还是要对微服务架构进行快速转型,都需要深入理解微服务。
微服务架构(microservice)是一项在云中围绕业务领域组件来创建和部署应用和服务的新技术,由Martin Fowler于2012年提出。
微服务架构构建的基本思想在于创建的应用可独立地进行开发、管理和加速,在分散的组件中使用微服务云架构和平台,使服务等功能的交付变得更加简单。
企业和服务提供商正在寻找更好的方法将应用程序部署在云环境中,微服务就被认为是未来的方向,通过将应用和服务分解成更小的、松散耦合的组件,它们可以更加容易升级和扩展,理论上是这样。
使用微服务架构来构建企业的应用程序是很有意义的,它既能利用横向扩展架构,也利用纵向扩展架构;还额外得到API的组合,且在整个业务中可重复利用。
微服务的生态和实践目前已经比较成熟,其设计方法、开发框架、CI/CD工具、基础设施管理工具等,都可以帮助企业顺利实施微服务。然而,微服务远没有达到完美,它在架构、开发、基础设施方面仍然面临新的挑战。
微服务面临着巨大挑战
对于任何一个应用系统而言,其构建目标都是为了满足某类用户的需求,即为用户传递价值。一直以来,架构设计是决定应用系统是否能够被正确、有效实现的关键要素之一。
微服务如今面临着粒度、开发、弹性等多方面的新挑战。
1、粒度大
微服务不需要像普通服务那样成为一种独立的功能或者独立的资源,是需要与业务能力相匹配的,不过能力模型粒度的设计不能是错误的。服务粒度越粗,就越难以符合规定原则。服务粒度越细,就越能够灵活地降低变化和负载所带来的影响。
当前微服务划分主要遵循单一职责的原则,比如将用户管理的功能作为一个单独的微服务。用户管理微服务提供了API注册、登录、登出功能。
通常,从提升用户体验的角度来看,浏览器会保留用户的会话,除非用户主动登出,否则不会请求登出API。所以,登出和注册的QPS差距较大,对扩展的诉求完全不同。虽然进一步拆分可以带来扩展性等便利,但整个微服务的数量也会提升一个量级。
微服务数量的上升会给基础设施的管理带来负担,那么如何做好架构权衡,既能够拥有架构上的高可扩展性,又不用增加基础设施管理成本呢?
2、微服务管理难保证
容器和Kubernetes工具的使用,提升了应用部署及基础设施运维自动化的能力,但保证基础设施高可用、可扩展对运维人员的能力要求很高。服务上云后,基础设施团队可以不用再关心服务器、交换机等硬件的运维,但仍然需要关心虚拟机的维护。
此外,想要熟悉微服务的开发运维,也需要长时间的人才培养,时间成本迅速上升。是否存在一种新的编程模型及开发框架,让开发者在了解基本的语言特性和编程模型后,便可上手开发业务逻辑,而不用关心网络、并发、服务治理等问题?
3、基础设施成本高
微服务会增加基础设施的成本。每个微服务都要保证高可用,所以数量会持续增加,基础设施的数量会呈现指数级增长,但云服务的基础设施收费方式没有改变,对企业来说存在成本的浪费。
Serverless应用引擎:从0搭建微服务架构
2012年,Ken提出了Serverless的概念,他认为“即使云计算兴起,世界仍然围绕着服务器运转。不过,这不会持续下去。云应用程序正在进入无服务器世界,这将对软件和应用程序的创建和分发产生重大影响。”
维基百科将Serverless定义为一种云计算执行模型。Serverless是指开发者不再需要将时间和资源花费在服务器调配、维护、更新、扩展和容量规划上,这些任务都由平台处理,开发者只需要专注于编写应用程序的业务逻辑,运维工程师能够将精力放在业务运维上。
从技术的角度看,Serverless对架构有着极大的创新。Serverless架构可以将微服务的粒度进一步降低到函数级,同时不会对基础设施和运维产生新的负担,只是增加了少量的函数管理成本,相比其带来的收益这是完全可以接受的。
阿里云的Serverless 应用引擎(简称 SAE)是首款面向应用的Serverless PaaS,提供成本更优、效率更高的一站式应用托管方案。支持Spring Cloud/Dubbo/HSF应用零改造上云,提供监控诊断、自动构建镜像、Java全链路加速、多发布策略、秒级自动弹性等能力,支持Jenkins/云效/插件等部署应用,还能通过Docker镜像部署任何语言的应用。
企业生产环境中,通过合理微服务拆分,将每个微服务应用打成WAR/JAR/Docker镜像存储在阿里云镜像仓库。我们只需要基于Spring Cloud/Dubbo开发规范迭代每个微服务应用,由阿里云SAE提供底层资源调度、部署、灰度发布、微服务治理和监控诊断能力。
1、零代码改造平滑迁移应用
零代码侵入就能完成 Dubbo/Spring Cloud 应用快速上云。
2、免运维底层IaaS,K8s、微服务组件、APM组件等
免运维底层基础设施,无需自建 ZooKeeper,Eureka,Consul、Skywalking 等,极大降低开发运维成本。 提供商业化稳定性兜底。
3、零门槛,一站式开箱使用全套微服务能力
提供自动构建镜像能力,内置灰度发布,流量控制,环境隔离、应用监控诊断、权限管理等企业级高级特性,零基础开箱即用。
更多产品了解
欢迎扫码加入云巴巴企业数字化交流服务群
产品交流、问题咨询、专业测评
都在这里!
在数字化浪潮席卷全球的今天,互联网已成为我们生活中不可或缺的一部分。然而,每当提及IP地址,许多人或许会感到困惑:是电脑主机决定了它,还是网络背后的神秘力量在操控?今天,让我们一同探讨这个谜题,并借助IP数据云的力量,揭开IP地址背后的真相。
在网络世界中,IP地址192.168.x.x如同一张熟悉的“名片”,频繁出现在家庭网络环境里。你是否想过,为什么我们电脑中的IP地址通常以192.168开头?这背后又隐藏着怎样的秘密?今天,让我们借助IP数据云的力量,一同揭开192.168的神秘面纱,并深入探讨公网IP与私网IP的区别。
在数字化时代,互联网已成为我们日常生活和工作中不可或缺的一部分。然而,许多人在使用互联网时可能并未深思过一个关键问题:我们是如何通过简洁易记的域名访问网站的呢?这背后其实隐藏着一个复杂而精妙的过程——域名解析。今天,让我们一同揭开域名解析的神秘面纱,并探讨IP数据云在这一过程中所扮演的重要角色。
在互联网时代,流量数据的真实性已成为一个备受关注的问题。近期,浙江慈溪警方成功捣毁了几个专门从事虚假刷人气、转载、评论及点赞的水军工作室,揭露了背后庞大的黑色产业链。据悉,这些工作室通过控制六百多部手机,利用群控软件制造虚假流量,涉案资金高达1000多万元。面对这一现象,我们不禁要问:如何才能有效识别并打击这些“网络水军”?
近年来,电信网络诈骗犯罪屡打不尽,犯罪数量依旧处于高位,严重影响公众的财产安全和互联网生态环境,甚至破坏社会秩序的和谐与稳定,危害性极大。