如何避免程序员和产品经理打架?“微服务”或将成终极解决方案

程序员与产品经理打架,早已称不上互联网圈的新闻。怀揣改变世界的远大抱负,却要天天和多变刁钻的需求战斗,这是许多程序员的“生存困境”。那么除了板砖和拼死不从,程序员就没有别的对付变态需求的办法吗?程序员

图片描述

持续更新是产品常态数据库

不否定存在过于异想天开或需求不清的产品经理,诸如要求“App随手机壳变色”,此时程序员只想抡起板砖,拍死产品经理。然而在这个互联网成为基础设施的数字经济时代,需求的变化是常态,不论哪一个行业,不论是为知足客户或是出于竞争压力,都会有需求的变更挑战程序。不少时候,程序员即使把产品经理打到生活不能自理,也无助于解决企业发展的问题。架构

根据IDC《数字经济创新引领——2018中国企业数字化发展报告》,数字化创新须要打造的多项能力与变化有关,譬如:框架

敏捷能力:企业在不断变化、不可预测的经营环境中快速反应并给予恰当应对措施的能力。运维

数字化产品与服务:经过不断迭代、实验和测试的方式开发新产品与服务,并实现频繁乃至连续更新,不断提供客户价值的能力。分布式

鉴于当前市场竞争的激烈程度,咱们甚至能够推论,企业所容许的迭代频率,决定了这个企业成长的下限。在这种状况下,程序员的工做变得更繁忙、更琐碎也是必然。微服务

微服务的曙光与阴影工具

解决这种矛盾,必须把目光投向一直在迭代中发展的互联网公司,新的答案将是“微服务架构”。以不追逐风口稳健发展的网易为例,网易考拉采用微服务架构以后,天天的发布次数从2次作到了1000次,500倍的提高,可谓从步枪到大炮。测试

所谓微服务架构,就是将应用服务按功能拆分红一组相互协做的服务,每一个服务负责一组特定、相关的功能,能够独立开发、部署。用网易副总裁、网易杭州研究院执行院长汪源的类比解释,就是把系统划分红多个很是小的模块,并且这些模块均可以经过一套标准的服务接口进行沟通,从而持续发展——相似人类社会,基于人这个最小单位,设计了标准的语言、文字、货币、法律,发展造成了发达的文明。spa

微服务对总体问题的分解,为迭代带来了好处——局部的技术选择、变动不会影响整个系统,并且不一样模块的开发能够同时进行。然而,整个系统的完善程度,也受限于微服务“分”与“合”的各项标准,这正如文字、法律等标准的成熟度决定一个文明的高度。

微服务的“标准”至少须要解决以下问题:微服务之间的调用和通讯、服务之间的发现、服务调用链的跟踪和质量问题、微服务的测试因依赖关系变得复杂、跨服务的更改。

固然,还有分区的数据库体系和分布式事务这样的问题。

立体化的微服务方案缓解矛盾

解决上述问题的,有很多微服务框架。在微服务技术迅速普及的今天,Spring Cloud、Dubbo等开源微服务开发框架在某种程度上成为了微服务的代名词。知乎上有很多相关的讨论。

图片描述

微服务框架并不能解决全部的问题。好比Dubbo在服务治理方面很优秀,但功能不如Spring Cloud完善;Spring Cloud虽是一个体系化的微服务解决方案,却也没有覆盖整个应用生命周期,好比对微服务测试就鞭长莫及。

网易考拉使用的工具,是网易云在2018网易云创大会上发布的“轻舟”微服务解决方案。汪源表示,轻舟微服务基于微服务这个基本单元,构建了多维度完整的解决方案,让架构能够像人类社会同样持续发展。

根据网易云官方资料显示,轻舟微服务包括微服务框架、API网关、DevOps、容器服务、AIOps和测试平台等模块,是一套复杂的解决方案,可是对用户来讲是功能完整、易接入、易运维——由于该平台兼容开源微服务框架,并整合了网易微服务架构实践的各类工具,借助智能化、自动化的能力,可以快速分析整个服务链路,技术发现和解决问题,让微服务顺畅运行。

图片描述

相信这个立体化的微服务解决方案,可以启发企业建设新的开发流程,使企业的数字化产品与服务可以更快、更好地迭代,程序员也有更多的时间去和产品经理进行有效的沟通,让双方的矛盾得以缓和,而企业业务目标的完成也不会受到影响。

相关文章
相关标签/搜索