[转]颠覆微服务认知:深入思考微服务的七个主流观点
微服务架构现在已经成为了企业应用架构的必聊话题,本文沉淀了作者多年工作的所见所闻和实战思考,跳出纯技术的视角去思考架构,去看待微服务,保证利用现有的技术(工具)实现业务价值的最大化。
Just One Pure ITer
微服务架构现在已经成为了企业应用架构的必聊话题,本文沉淀了作者多年工作的所见所闻和实战思考,跳出纯技术的视角去思考架构,去看待微服务,保证利用现有的技术(工具)实现业务价值的最大化。
网络安全已成为每个企业都面临的关键问题。几乎每天都有关于黑客如何窃取公司数据的头条新闻。为了开发安全的软件并远离头条新闻,企业需要解决各种安全问题,包括硬件的物理安全性、传输和静态数据加密、身份验证、访问授权以及修补软件漏洞的策略,等等。无论你使用的是单体还是微服务架构,大多数问题都是相同的。本文重点介绍微服务架构如何影响应用程序级别的安全性。
1. 最佳实践 微服务架构,多“微”才合适? 微服务到底该多大?如何设计微服务的粒度? 如何更好地干掉微服务架构复杂性? 我大概总结了三个关键词,分别是引入、异构、冗余。 B站在微服务治理中的探索与实践 7个阶段模型,帮助微服务架构落地! 这里提供了三种策略给大家参考,如图所示: 第一种 Cream Scoop Strategy 冰淇淋勺策略:是 Martin Flower 提出的一种策略,也被称为扼杀者方法。可以想象有一大桶冰淇淋,这桶冰淇淋就代表现有的架构,可以用勺子从桶中挖出你们想要的冰淇淋,这个挖出的部分就是要做拆分的服务。最终可以将大桶冰淇淋挖出一个个独立的服务,这里服务包含不同的业务逻辑。这种方式是逐渐修改原有系统,并且逐步对服务进行拆分试错然后过度到单独的资源上运行。每次拆分对系统的影响较小,但是整个系统的拆分和重构需要较长时间。 第二种 乐高法策略(搭积木),把原有的系统想象成一大块乐高积木,我们只需要往上面添加小的乐高积木模块就行了,添加的小模块就是一个个微服务。这样一来就不用对老产品进行调整,新的功能通过微服务的方式实现并且集成到老的产品中。不过需要通过一种能够让微服务与老产品联系的方法,这里会使用到接口编程以及适配器模式。 第三种是 nuclear 策略,和策略的名字一样我们需要对老旧系统推到重来,重新打造微服务架构,说起来容易这里需要花费大量分析和重构的时间,这个周期比较长,成本也是较高的。
微服务是近几年非常火热的架构设计理念,我们需要正确理解微服务,否则如果只是跟风拿来就用,既不会用,也用不好,用了不但没有效果,反而还可能有副作用。 今天我们就来深入理解微服务,如何避开陷阱,设计一个成功的微服务架构。
贝聊成立于 2013 年,是中国幼儿园家长工作平台,致力于通过互联网产品及定制化解决方案,帮助幼儿园解决展示、通知、沟通等家长工作中的痛点,促进家园关系和谐。贝聊是威创股份(A 股幼教第一股)、清华启迪、网易联手投资的唯一品牌。在短短几年内,用户规模迅速达到千万级别,每年 DAU 均呈倍数级增长。 面对如此快速的发展,原有的技术架构很难支撑越来越复杂的业务场景,在系统可用性以及稳定性方面,都给贝聊技术团队带来了很大的压力。因此,如何针对当前需求,选择合适的技术架构,保证架构平滑演进,值得我们深入思考。
Follow:
Cookie | Duration | Description |
---|---|---|
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |