推进微服务架构演进方案.doc

推进微服务架构演进方案.doc

ID:56217587

大小:172.00 KB

页数:26页

时间:2020-03-21

推进微服务架构演进方案.doc_第1页
推进微服务架构演进方案.doc_第2页
推进微服务架构演进方案.doc_第3页
推进微服务架构演进方案.doc_第4页
推进微服务架构演进方案.doc_第5页
资源描述:

《推进微服务架构演进方案.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、推逬微服务架构演进方案为什么微服务实施那么难?难点1:"一步到位〃的认知错觉这些年微服务大红大紫,但是真正能够拿出来做为可实践的案例少之又少。大咅B分的微服务案例只能看到微服务架构的〃演进结果〃,但是看不到微服务架构的〃演进过程“。这就像每个人看到一个架构的高峰,却没有看到攀登高峰的路径。这就给很多架构师一个假象:微服务的架构是通过能力极高的架构师一步到位设计出来的。这和很多团队自上而下的架构设计感受和相似。于是架构师们蜂拥而至,各种分析方法论层出不穷,讨论和分享络绎不绝。然而真正落地实施的却很少,使得微服务在网络上慢慢变成了一种〃玄学"微服务的实施在〃理论研究〃的阶段

2、。这违反了软件架构的最基本规律:架构是解决当前的需求和痛点演进的,而无:去对没有出现的问题和痛点进行设计。因此步到位的整体的微服务架构设计完全没有必要。况且一个集中化的设计,很难体现微服务的轻量级优势。我相信技术的发展一定是向不断降低成本的方向上发展的。如果新技术没有降低成本反而提升了成本,要么这个新技术一定有问题,要么是姿势不对,走错了路。因此,准备实施微服务一定要有一个长期的思想准备。不过跨过了最初的门槛之后,剩下的工作可以被复制而且速度会越来越快。难点2:"架构师精英主义"很多产品对架构师的依赖很大,即〃架构师精英主义〃:认为产品架构只有这个组织的〃技术精英〃——

3、架构师才可以完成,而团队其他成员只需要实现架构师的设计就可以。这是大型企业和大型系统的常见问题,这来源于长期的重量级企业级架构习t贯。而微服务类似于一种〃敏捷边际革命〃:即由一个不超过2〜8个人的小团队就可以完成的功能。而且这种规模的团队即使从整个产品团队移除也对整体产品的研发进度没有影响i。因此,即使失败了也不会带来太多的损失。不过,当第一个微服务改造成功,另8么成功经验的复制带来的乘数效应却能带来很大的收益。从架构改造投资的风险收益比来看,这是非常划算的。因此,微服务团队完全没必要大张旗鼓,只需要两三个人就可以动工。但是,谁也没有微服务的实践经验啊,万一失败了怎么办

4、?这就带来了下一个难点。难点3:缺乏一个信任并鼓励创新的环境面对未知的领域,失败再所难免。而面对这个不确定性频发的世界,成功和失败往往不再重要:也许今天的失败,明天再看就是成功,反之亦然。成功意味只是表明结果符合自己的假设预期,而失败仅仅意味着结果不符合自己的假设预期。但是无论成败,我们都能从行动的过程中有所学习和反思,而这样的经验才是研发j舌动中最有价值的。然而,很多组织,尤其"精英主义"的产品团队,责任和压力往往从上至下分解。由于组织庞大,金字塔的结构往往会构建一种以〃不信任"为基础的制度。这种制度往往营造了一种〃宁可不作为,也不能犯错"的文化。由于上层则需要对失败

5、负责,使得任]可创新只是一个停留在组织上层的想法,难以落实推进。在这种情况下,组织的长期合作形成了稳定的工作习惯和思维定势,并形成了利益平衡,这会使得整个组织在面对创新的时候〃卡壳〃。当微服务以一种政治任务从上而下派发的时彳唉,为了避免失败,团队内部会相互推诿,通过不断的分析讨论和设计来论证这个事情的难度。在我看来,只要想搞,就一定能找到办法,而不是先设想出一堆还没有遇到的问题和责任。在行进中解决问题是比设计和讨论更加有效率的方法。而组织解决〃卡壳〃的办法就是引入〃背锅侠":例如新聘请的架构师或外部咨询师,来完成这个事情。出了问题就不用自己来承担责任了。这样虽然是解决问

6、题的一种折中办法,可以让事情毫无风险的执行下去。但这是一种短期效应,无法解决组织本身的创新窘境,长期依赖外部力量来解决最有价值的问题不会让自己提升,反而形成了对外部力量的依赖。对于组织的凝聚力来说不是一件好事。只有打破当前的工作习惯和思维定势,充分认识到创新的困难、风险以及价值的组织才可以占领创新的高点,吸引人才。难点4:微服务技术栈的〃选择困难症“由于〃精英主义〃的架构师需要担负很大的责任并承担着很重的压力。他们必须要为微服务架构谨慎的选择技术栈。因此会在不同的技术栈之间不断尝试。对于习惯了在大型研发组织里"精心设计,加班生产"的架构师而言,〃长设计,慢反馈〃节奏似乎

7、是理所应当的。微服务开源社区的快速发展滋长了〃架构师焦虑〃:如果采用落后的技术会被同行鄙视,被不懂技术的老板鄙视,甚至被下属鄙视。因此架构师们疲于在各种新型的技术栈之间比较和学习。此外,不熟悉技术往往会增大风险,架构师就需要更多的时间研究。带着〃一步到位"的架构幻想对微服务技术栈精挑细选。而不会采用现有低成本的方案快速迭代的解决问题。微服务的核心在于采用"小规模,快反馈〃的机制降低软件系统的复杂性并通过虚拟和自动化技术分散风险,从而可以快速面对市场变化带来的各种挑战,并能够快速销售创新,获得市场的反馈。而不仅仅是利用到了时下新兴的语言,编

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。