soa是什么(韵达soa是什么)
1。1系统架构的演变
随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此在不断的更新。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的ServiceMesh。我们到底是该乘坐微服务的船只驶向远方,还是偏安逸得过且过?
其实生活不止眼前的苟且,还有诗和远方。所以我们今天就回顾历史,看一看系统架构演变的历程;把握现在,学习最火的技术架构;展望未来,争取成为一名优秀的Java工程师。1。1。1集中式架构
在软件设计中,经常使用的经典的3层模型,即表示层、业务逻辑层和数据访问层。
表示层:通常是网页、UI等主要用于和用户交互,也称为交互层。
业务逻辑层:主要是用于处理业务逻辑,例如登录的时候根据用户输入的信息经过业务逻辑层的处理之后才能展现给用户。
数据访问层:用于操作数据库,用户在表示层会产生大量的数据,通过数据访问层对数据库进行读写操作。
虽然在软件设计中划分了经典的3层模型,但是对业务场景没有划分。一个典型的单体应用就是将所有的业务场景的表示层、业务逻辑层和数据访问层放在一个工程中,最终经过编译、打包,部署在一台服务器上。
简单来说集中式架构就是一个应用把所有功能都部署在一起。以网上商城为例,如图11所示。
图11集中式架构图
优点:系统开发速度快易于测试、部署适用于并发要求较低的系统
缺点:代码耦合度高(你调用我,我调用你),后期维护困难扩展能力受限单点容错率低,并发能力差
很多传统的互联网公司或者创业型公司早期都会使用这样的架构,因为这样的架构足够简单并且能够快速开发和上线。1。1。2垂直架构
当访问量逐渐增大,单一应用无法满足需求,此时为了应对更高的并发和业务需求,我们根据业务功能对系统进行拆分。这种架构就是垂直架构,相比于集中式架构,垂直架构将应用分解成了多个小模块,它们相互独立,互不影响。如图12所示。
图12垂直架构图
优点:可以把单台机器变成多台机器的集群,解决了并发问题可以针对不同模块进行优化方便扩展,容错率提高系统间相互独立,减少业务的耦合度
缺点:服务之间相互调用,如果某个服务的端口或者ip地址发生改变,系统调用需要手动更改搭建集群之后,实现负载均衡比较复杂
当服务器的负载越来越高,场景越来越复杂集中式架构不能满足我们需求的时候可以选择垂直架构1。1。3分布式架构
当垂直应用越来越多,应用之间交互不可避免,这时候我们就需要将核心的业务提取出来作为独立的服务,并逐渐使其形成稳定的服务中心,从而使前端应用能够更快的响市场的需求。如图13所示。
图13分布式架构图
优点:将基础服务进行了抽取,系统间相互调用,提高了代码复用和开发效率
缺点:系统间耦合度变高,调用关系错综复杂,难以维护1。1。4SOA
当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键
面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。SOA结构如图14所示。
图14SOA结构图
优点:简化系统的开发有更好的适应性和扩展性简化了提供,寻找和使用服务的过程通过共同资源的利用,减少了开支缺点:降低了系统的性能存在太多没有意义的文件信息运维、测试部署困难1。1。5微服务架构
SOA结构可以在最大程度上避免共享业务的重复建设,资源连接瓶颈等问题。那么被拆分出来的服务是否也需要以业务功能为维度来进行拆分和独立部署,以降低业务的耦合以及提高容错性能呢?
微服务架构就是这样一种解决方案,从名字上来看,微服务就是针对可重用业务服务的更进一步优化,比如用户服务拆分的更细,如用户注册服务,用户鉴权服务等。
图1。1。5
优点:复杂度可控:因为体积小,复杂度低,开发,维护会更加简单。技术选型更灵活:因为每一个微服务属于独立的项目,所以可以结合业务特性选择相应的技术栈。独立部署:由于每个微服务都是一个独立运行的进程,所以可以实现独立部署。
缺点:微服务架构整个应用分散成多个服务,定位故障点非常困难。稳定性下降。服务数量变多导致其中一个服务出现故障的概率增大,并且一个服务故障可能导致整个系统挂掉。事实上,在大访问量的生产场景下,故障总是会出现的。服务数量非常多,部署、管理的工作量很大。开发方面:如何保证各个服务在持续开发的情况下仍然保持协同合作。测试方面:服务拆分后,几乎所有功能都会涉及多个服务。原本单个程序的测试变为服务间调用的测试。测试变得更加复杂。1。2微服务架构的介绍1。2。1微服务架构带来的挑战这么多小服务,如何管理他们?这么多小服务,他们之间如何通讯?这么多小服务,客户端怎么访问他们?这么多小服务,一旦出现问题了,应该如何自处理?这么多小服务,一旦出现问题了,应该如何排错?1。2。2如何实现微服务架构
上面提到的微服务的跳转,为了解决这些问题就必须引入更多的技术,进而使得微服务架构的实现变得非常复杂。
mxGraphModel3
图1。2。21。2。3微服务架构下的技术挑战
微服务架构主要的目的是实现业务服务的解耦。随着公司业务的高速发展,微服务组件会越来越多,导致服务与服务之间的调用关系越来越复杂。同时,服务与服务之间的远程通信也会因为网络通信问题的存在变得更加复杂,比如需要考虑重试,容错,降级等情况。那么这个时候就需要进行服务治理,将服务之间的依赖转化为服务对服务中心的依赖。除此之外,还需要考虑:分布式配置中心服务路由负载均衡熔断限流链路监控
这些都需要对应的技术来实现,我们是自己研发还是选择市场上比较成熟的技术拿来就用呢?如果市场上有多种相同的解决方案,应该如何做好技术选型?以及每个技术解决方案中的底层实现原理是什么?1。3微服务架构的常见解决方案1。3。1ServiceComb
图1。3。1
ApacheServiceComb,前身为华为云的微服务引擎CSE(CloudServiceEngine)云服务,是全球首个Apache微服务顶级项目。它提供了一站式微服务开源解决方案,致力于帮助企业、用户和开发者将企业应用轻松微服务上云,并实现对微服务应用的高效运维管理。1。3。2SpringCloud
图1。3。2
SpringCloud是一系列框架的集合。它利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用SpringBoot开发风格一键启动和部署。
SpringCloud并没有重复造轮子它只是将目前各家公司开发的比较熟、经得起实际考验的服务框架组合起来,通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。1。3。3SpringCloudAlibaba
图1。3。3
SpringCloudAlibaba致力于微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过SpringCloud编程模型轻松使用这些组件来开发分布式应用。
依托SpringCloudAlibaba,只需要添加一些注解和少量配置,就可以将SpringCloud应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。1。4SpringCloudAlibaba1。4。1组件介绍
SpringCloudAlibaba是阿里巴巴集团下开源组件和云产品在SpringCloud规范下的实现。2018年10月31日,SpringCloudAlibaba正式入驻SpringCloud官方孵化器,并发布了第一个预览版本。2019年8月1日在Alibaba仓库发布第一个毕业版本。
SpringCloudAlibaba主要为微服务开发提供一站式的解决方案,使开发者通过SpringCloud编程模型轻松地解决微服务架构下的各类技术问题。以下是SpringCloudAlibaba生态下的主要功能组件,这些组件包含开源组件和阿里云产品组件,云产品是需要付费使用的。Sentinel:流量控制和服务降级。Nacos:服务注册与发现。Nacos:分布式配置中心。RocketMQ:消息驱动。Seata:分布式事务。Dubbo:RPC通信。OSS:阿里云对象存储。1。4。2SpringCloudAlibaba的优势
它的优势有很多,简单整理了如下两点:Alibaba的开源组件在没有织入SpringCloud生态之前,已经在各大公司广泛应用,所以集成到SpringCloud生态使得开发者能够很轻松地实现技术整合及迁移。Alibaba的开源组件在服务治理上和处理高并发的能力上有天然的优势,毕竟这些组件都经过数次双11的考验,也在各大互联网公司大规模应用过。微服务环境搭建
三维制图软件有哪些(3d设计软件有哪几种)ArchiCAD25forMac版是Mac平台上一款由Graphisoft所发行的三维模型制作工具,archicad25Mac版专为建筑师所打造。建筑师可以使用archicad……
里约八分钟(里约中国女排巴西视频)里约八分钟(里约中国女排巴西视频)距离东京奥运会开幕只剩4个月,组委会却再度传出负面消息。据日本媒体报道,东京奥运会开闭幕式总监佐佐木宏已于近期递交辞呈,原因是他曾发表了……
绥字怎么读(绥这个字读什么音)早晨听广播,央广新闻中国之声,播报安徽疫情,主持人和记者一口一个liuan(六安,安徽地级市,正确读法为luan),堂堂央广主持人,文化素养还是有待提高。中国地名会存在很多生僻……
搬家公司哪个好(搬家公司哪个好还便宜)北京大小公司众多,免不了小公司做大要搬家,或者大公司换一个更好的工作环境,或者企事业单位搬迁等需求,不少人就要问了那么北京公司搬家哪一家比较便宜呢?这个问题很多人都想知道……
白灵照片(白灵是什么身份)白灵照片(白灵是什么身份)提起八十年代演员白灵,当年喜欢她的影迷们颇有些恨铁不成钢的感觉。曾经的他们有多喜爱白灵,如今就有多恨她。恨她的自暴自弃,更恨自己曾经的错爱。……
怎么样地怎么(又什么又什么四字词语)知识点一、文中对老屋的描写非常细致、传神,表现在哪里呢?首先,对老屋的动作描写很细致,比如老屋低下头,把老花的眼睛使劲往前凑这句话写出老屋的年岁已大,有些老眼昏花,……
when和while的区别(when和while时间状语从句when和while的区别(when和while时间状语从句有何区别?)大学四级是每个大学生都必须越过的难题,而阅读中的长难句又是让大家感到头大的一点。其实长难句并没有难……
selina为什么恨俞灏明(任家萱俞灏明事件真相)要说到现在的一些选秀节目,也是受到了不少网友的,现在随着许多选秀节目的不断播出,也就预示着新星的到来。不过大家也都知道现在的一些年轻的明星,大多数都是以团队的形式出道,要提到以……
丽尔维美王倩薇美黛妍品牌创始人强势助阵丽尔维美,邀你一起创业【我的创业故事1】有多少人是从清洁面膜认识我的、那是2014年我第一次开启我的微商路,那是刚好新起微商这个行业,也是我做的第一个品牌mdash;mdash;m……
开银店需要多少钱(在店里买银戒指多少钱)这几年,要是有人问什么生意好做,估计要算银饰店生意好做了。银饰一直是老百姓家家都有的首饰品,银饰价格实惠,款式大方漂亮;像银戒指,银项链能戴出铂金的效果。从各地纷纷开张的……
延边美食(盘点延吉本地美食!)延边美食(盘点延吉本地美食!)延吉冷面,盆装冷面,但从不称大延吉冷面,小盆装,满满冰碴朝鲜族米肠,是不是暗黑料理?朝鲜族米肠打糕,捶打出来的黏糯!打糕,手工捶……
义乌去哪里(佛堂古镇值得去吗)今年春节,大家纷纷响应留义过年政策,本地网红景点游客络绎不绝。为让大家玩的开心、玩的安心,蜀黍们也来打卡,在坚守岗位中感受美景,义起平安过大年。网红景点一说到义乌网……
相亲如何快速了解对方相亲时如何快速了解对方的三观说到相亲,相信很多单身人士都去相亲过,相亲是完全不认识的两个人相处认识,所以对对方的很多事情都不了解,如果你对他的印象不错,就可以深入了解这个人。相亲如何快速了解对方1、……
什么样的男人值得你珍惜值得珍惜的男人的特征女人选择丈夫就是选择它的后半生,如果选择错了那么就是不幸的开始,如果选择对了就是幸福的开始,那么什么的男人值得我们去珍惜呢?下面跟着小编我们一起来了解一下吧。什么样的男人值得你……
双鱼座为什么那么聪明(上帝为什么抛弃双鱼座)双鱼不喜欢被人打破幻想,说他什么是对的,什么是错的,好像只有按照对方说的去做才是正确的一样,很反感说教的人,唠叨他,挑剔他,指出他的种种缺点和问题,而本身那个人也未必有那么好,……
女生不回微信还要追吗女生不回微信是考验男生吗很多男生在追求女生的时候,可能都有遇到过比较高冷的,要么在微信聊天的时候没有及时回复,或者是发很多句话才得到一句回应,遇到这种情况我们要怎么办呢?女生不回微信还要追吗要看……
勒怎么读(勒石怎么读)A1。挨i饿受冻2。狭隘iB1。纵横捭阖bih2。稗bi官野史3。扳bn平4。同胞bo5。哺b育6。剥bo皮7。薄b……
应该怎么报复渣男报复渣男最好的方法渣男基本上就是女生人人喊打的存在,一提到渣男女生心里就会有一股名叫愤怒的火,那么被渣男辜负以后应该怎么办呢?跟着小编我们一起来了解一下应该怎么报复渣男吧。应该怎么报复渣男……
男女朋友相处很累的原因男女朋友为什么相处很累情侣相处最怕的就是相处太累了,相处太累了会导致两人的情绪都不好,最后甚至就想分手了,下面来看看男女朋友相处很累的原因吧。男女朋友相处很累的原因相处时间长了那就必然会厌烦,……
护肤类化妆品(写完护肤写彩妆)护肤类化妆品(写完护肤写彩妆)买了一些拍照道具,拍照更尬了我虽然经常跟大家分享一些护肤品,但实际上我写彩妆的文章不多。因为我很少化妆,日常除了口红别的都用不到,不过……
谈恋爱和结婚的区别一句话区别爱情和婚姻谈恋爱和结婚的区别是很大的,有很多现实的因素要考虑,恋爱是两个人的事情,结婚是两个家庭的事情,恋爱比婚姻单纯多了,完全是两码事。谈恋爱和结婚的区别恋爱和结婚的区别就在于,……
王凯蒋欣(王凯蒋欣结婚照)王凯蒋欣(王凯蒋欣结婚照)蒋欣童星出道,很早就进入娱乐圈发展,这么多年来,蒋欣的发展还是很稳定的。近几年蒋欣塑造了很多经典人物形象,例如甄嬛传中的华妃、小舍得中的田雨岚、……
怎样和喜欢的人聊天不被嫌烦和喜欢的人聊天该怎么聊在有好感的阶段,其实和喜欢的人聊天也是一门学问,聊的好了会让两人的感情更进一步,而聊的不好则反而会让两人越来越远,那么,怎么和喜欢的人聊天不会被对方嫌烦呢?怎样和喜欢的人聊天不……
注册表文件在哪里(电脑系统注册表在哪里)注册表是Windows的核心组件,一旦其受损很容易导致系统崩溃。Windows101803之前的版本,系统默认会对注册表进行自动备份,但是之后的版本却默认将这个功能关闭了。那么……