微服务的误读与误解
微服务确实很受欢迎,但是对于微服务的误解也是事实,本文对这些误解一一来介绍一下:
一、微服务不够“微”?
尽管微服务定义的很明确,但是开发者社区对它的解释却颇有争议,主要的一些问题如下
1.它是否是单体架构的代表?
2.它是否是单体服务的代表?
3.它是否是逻辑功能的组合?
下面让我们以银行应用为例来讨论一下:
三层架构解决了技术组件之间的紧耦合问题,允许它们各自独立改变而不相互依赖。例如:Web端的改变不会影响到后端服务。 但是三层架构没有把基于组件分组的功能和特性考虑进去,为此我想出了一个“功能型”架构的名称,以表明架构需要通过产品的特征来划分。这对于现代应用的性能和吞吐量是至关重要的,我会在文章中对细节做进一步的解释.
二、微服务可伸缩性
微服务是一种架构风格,它允许你向规模化的宏伟系统进攻,这是怎么做到的呢?传统的三层架构服务能伸缩可被扩展,那微服务有啥特别之处呢?例如:在线旅行预定,购买请求和预定请求比例是100:
1.这意味着什么呢,101一个请求中,购买请求能达到100个,而预定请求只有一个;
2.这就敲响了警钟!预定需要的资源远远小于购买所占用的资源,为何不将整个系统按照期
望比 例缩放成100:1呢?
三、微服务帮助维护和运行
“滚动式重启”,“热部署”,“轮询式部署,”是不是听起来很熟悉?用最短的停机时间来维护应用系统,是现代应用系统的一个状态优先级典型表现。 让我们举个例子,改变应用将会贯穿整个三层架构,包括数据库应用程序的变化。如果数据的语义被修改了,任何上述技术是注定要失败((例如:ORM(对象映射关系)一旦看到了对象的变化,就需要重新启动所有的节点)。
关于微服务:功能型-层架构给高可用性和维护带来了一个新的局面。即使银行报表微服务奔溃了也不会影响银行系统其他的功能。你将会为90%的消费者不用银行报表功能感到庆幸。
四、微服务需要进一步发掘
好吧,任何关于自动伸缩(可大可小)的系统都需要被挖掘。
1.在微服务中有10个节点是购物的,两个节点是预定的;
2.由于假日季节,流入流量比较高;
3.你期望通过人工分拆购物实例得到什么?
4.假设分拆出了多个实例,那负载平衡器又是怎么实现负责均衡的呢?
传统的负载均衡器在静态环境中能够运行良好,但是当动态增加节点或执行脚本添加新实例的就很糟糕了。如果微服务能够实现缩放,微服务项目就需要被挖掘、注册、添加实现负载均衡;
对,大部分的软件问题,通过引入间接层来解决。每个微服务在关闭或启动时都需要自我注册。这就需要一个注册管理员-负载均衡器,对微服务的加载很敏感。如何检查呢, Netflix解决了这个问题,Netflix在开源Eureka AWS上实现了负载均衡。
五、微服务是否支持多元化编程语言?
顾名思义微服务是以协议驱动的服务,这些服务是基于HTTP/REST(XML/ JSON数据传输)的。微服务与轻量级协议之间的清晰的定义边界,有助于建立一个多元化的编程团队,因为他们的焦点是功能而不在于选择语言。
六、微服务和容器是天作之合?
虚拟机的笨重和现代应用程序的性质,将他们分拆和拆卸为微服务,使微服务成为容器的理想搭配。
这是真正意义上的DevOps,打的包不仅仅是微服务的容器也是整体的一个执行环境。缺点是,应用团队将成为基础设施团队,需要对集装箱有个很好的理解。
七、微服务添加额外的复杂性?
1.Jenkins简单通道把两个应用部署到2个Tomcats里,以此类推,将膨胀出无数个微服务;
2.随着部署的数量增加,部署的时间也跟着显著上升;
3.需要有一个良好的容器管理,部署和分发工具和技术;
4.每个微服务将拥有更多的日志文件,如果没有stash、splunk这种合适的工具,对接调试事
务将成为一场噩梦;
5.如果每个Tomcat有10个连接,你会发现数百个来自不同微服务数据库连接,因为不能共
享数据库连接(没有连接数据库的微服务);
总结
所有的事情都是有代价的,微服务也是一样,并不是所有的应用都有同样的架构,也不是所有应用对高可用性、可扩展性、可维修性都有着同样的要求。
相关推荐
《高中语文选修语言文字应用迷幻陷阱——误读和异读》的PPT课件主要探讨了在语言学习中常见的误读和异读问题,这些情况常常在我们的日常交流和学习中出现,影响理解与表达的准确性。下面将详细阐述相关知识点。 ...
- ㈠ “听力障碍”症状误读:原文描述的“常听”并非偷听,而是指耳鸣或幻听,可能伴有恐惧感和坐卧不安,这与心神失常有关,可选用酸枣仁汤、甘麦大枣汤等补益心气的方剂治疗。 - ㈡ “听”作为脉象考察的误读:...
1. **误读与异读的理解**: - 误读是指在阅读或发音时对文字的误解,可能是由于字形相似、字音混淆等原因造成。 - 异读则是指同一个汉字在不同情况下有不同的读音,例如古汉语和现代汉语的读音差异,或者单音节词...
然而,对于"奉天承运皇帝诏曰"这句经常出现在古装剧中的开篇语,实际上存在着不少误解。首先,"圣旨"一词并非自古就有,它在汉代蔡邕的《陈政事七要疏》中才首次出现,而"奉天承运"的表述则是在明朝朱元璋时期才被...
中国资本市场—渐进与误读.docx
1. **误读与异读概念** - **误读**:指在语言交际中,由于字形相近、多音字混淆或方言影响等因素,导致的读音错误。 - **异读**:同一个字在不同语境或不同地区存在两种或多种读音,可能是由于文读(书面语)和白...
互联网技术也将与其他技术相结合,如人工智能、物联网等等,将会产生更加深刻的影响。 本书还探讨了如何正确地理解和使用互联网。它认为,我们应该正确地看待互联网技术,既不能过于乐观也不能过于悲观。我们也应该...
在高考语文复习中,诗词是不可或缺的部分,但许多诗句因为古今用词差异、语境变化等原因,容易被误读。以下是对几个常被误读的诗句的详细解析: 1. "贫贱百事哀"——这句出自元稹的悼亡诗《遣悲怀》,原意并非形容...
此外,文章还回顾了心理学统计研究的经典文献《显著性误读:一个师生共存的问题》,该文献讨论了P值被误读和误导的情况,以及应当如何避免这些误解。结合美国统计学会的官方声明,作者提出了正确使用P值的建议,以...
3. 绯闻 (fēi wén) - 指关于某人的不实或负面的传闻,通常与名人有关。 4. 烘焙 (hōng bèi) - 用火或热风对食物进行干燥或烹饪的过程。 5. 卑鄙 (bēi bǐ) - 形容人品低劣,道德败坏。 6. 蝙蝠 (biān fú) - ...
然而,对于高校教师信息素质的理解,有时存在一些误解。本文将深入探讨这些误读,并阐述正确理解和提升教师信息素质的重要性。 首先,倡导加强高校教师信息素质的理论依据主要源于信息社会的特性。在这个时代,如果...
ChatGPT技术是一种先进的自然语言处理(NLP)模型,旨在模拟人类的对话方式,与用户进行互动。在处理用户输入时,ChatGPT面临着语义歧义和语言误解的挑战,这通常由词汇的多义性、句子结构的复杂性以及表达方式的...
标题与描述中的文章聚焦于揭示并澄清围绕设计模式的十大误解。设计模式作为一种软件工程的实践,旨在解决软件设计中的常见问题,通过提供经过验证的解决方案来提高代码的复用性和可维护性。然而,随着时间的推移,...
然而,由于提供的信息中并未直接涉及“黔”字,而是提到了“质”和“室”两个字的误读情况,我们将先对这两个字进行详细的拼音解析,然后再探讨可能与“黔”字相关的拼音知识。 “质”字在汉语中通常被用作名词,...
(英)詹姆斯·柯兰;互联网的误读(英)詹姆斯·柯兰
然而,这种说法在很大程度上是对“记者”这一职业概念的误读。 “全民记者”一词的出现源于社交媒体的普及,如中国网民规模的快速增长和微博用户的爆发式增长。在重大事件中,如舟曲水灾和上海地铁事故,网民通过...
掌握好误读和异读对于学习和使用汉语至关重要,因为它能帮助我们更准确地理解和表达意思,避免在交流中产生误解。在日常学习中,应注重积累多音字和异读词,通过阅读、练习和讨论来提高对汉字发音的敏感度和准确性。...
运行支配运行利益学说误读矫正.doc
形声字是中国汉字的一大类,由表示声音的声旁和表示意义的形旁组成,但有些形声字的读音可能会与声旁的读音有所差异,因此容易造成误读。 在提供的专项训练中,涉及到的形声字有纨绔、内讧、箴言、桎梏、鞭笞、庇护...
这篇资料主要探讨的是高中语文中关于汉字发音的问题,特别是针对“误读”和“异读”这两个关键概念。首先,形声字由两部分构成,形旁表示意义,声旁表示声音。误读指的是错误地读出字的音,可能是因为读错了字本身不...