当前位置: 首页 > news >正文

成都高薪南网站建设成人就业技术培训机构

成都高薪南网站建设,成人就业技术培训机构,o2o最好的平台,橙色wordpress模板架构的演进1.1单体架构将所有业务场景的表示层、业务逻辑层和数据访问层放在一个工程中,最终经过编译、打包,部署在一台服务器上。◆ 1.1.1单体架构的优点1)部署简单: 由于是完整的结构体,可以直接部署在一个服务器上即可。2&…

架构的演进

1.1单体架构

将所有业务场景的表示层、业务逻辑层和数据访问层放在一个工程中,最终经过编译、打包,部署在一台服务器上。

◆ 1.1.1单体架构的优点

1)部署简单: 由于是完整的结构体,可以直接部署在一个服务器上即可。

2)技术单一: 项目不需要复杂的技术栈,往往一套熟悉的技术栈就可以完成开发。

3)用人成本低: 单个程序员可以完成业务接口到数据库的整个流程。

◆ 1.1.2单体架构的缺点

1)系统启动慢,一个进程包含了所有的业务逻辑,涉及到的启动模块过多,导致系统的启动、重启时间周期过长;

2)系统错误隔离性差、可用性差,任何一个模块的错误均可能造成整个系统的宕机;

3)可伸缩性差:系统的扩容只能只对这个应用进行扩容,不能做到对某个功能点进行扩容;

4)线上问题修复周期长:任何一个线上问题修复需要对整个应用系统进行全面升级。

1.2 SOA架构(面向服务架构)

SOA,面向服务架构。SOA中心化的实现方式就是ESB(企业服务总线),依靠ESB,集成不同系统、不同协议的服务,连接各个服务节点,做消息的转化解释和路由工作,让不同的服务互联互通;

1.2.1 RPC远程过程调用

RPC,Remote Procedure Call,即远程过程调用,建立在Socket之上的,在一台机器上运行的主程序,可以调用另一台机器上准备好的子程序。

RPC框架:

  • 国内:

Dubbo,阿里巴巴,http://dubbo.I/O/;

Motan ,新浪微博,https://github.com/weibocom/motan;

Dubbox,当当,https://github.com/dangdangdotcom/dubbox;

Rpcx,基于 Golang 的https://github.com/smallnest/rpcx;

  • 国外:

Thrift,facebook,https://thrift.apache.org;

gRPC,Google,http://www.grpc.I/O;

Avro,hadoop,https://avro.apache.org;

  • 阿里巴巴的Dubbo、HSF,Spring的Spring Cloud等,底层基于NIO;

1.2.2 RMI远程方法调用

让在客户端Java虚拟机上的对象像调用本地对象一样调用服务端java 虚拟机中的对象上的方法。

使用代表:EJB。

远程方法调用步骤:

  1. 客户调用客户端辅助对象stub上的方法

  1. 客户端辅助对象stub打包调用信息(变量、方法名),通过网络发送给服务端辅助对象skeleton;

  1. 服务端辅助对象skeleton将客户端辅助对象发送来的信息解包,找出真正被调用的方法以及该方法所在对象;

  1. 调用真正服务对象上的真正方法,并将结果返回给服务端辅助对象skeleton;

  1. 服务端辅助对象将结果打包,发送给客户端辅助对象stub;

  1. 客户端辅助对象将返回值解包,返回给调用者。

  1. 客户获得返回值。

  • Java1.2+内置的RMI,底层基于BIO;

1.2.3 区别

1、RMI 只能在 Java 语言中使用,可以把 RMI 看作面向对象的 Java RPC;

2、RPC是一种编程模型。

1.3 微服务架构

微服务架构 = 80%的SOA服务架构思想 + 100%的组件化架构思想 + 80%的领域建模思想。

◆ 1.3.1微服务的特征

  1. 通过服务实现组件化

  1. 按业务能力来划分服务和开发团队

  1. 去中心化(此处中心化指的是去中心化数据管理和去中心化服务治理)

  • 单一职责:微服务中每个服务都对应唯一的业务能力

  • 微:微服务的拆分粒度很小,例如一个用户管理可以作为一个服务。每个服务很小,但是五脏俱全

  • 面向服务:服务对外暴露Rest风格服务接口API,不限制

  • 自治:

  • 团队独立

  • 技术独立:因为面向服务,不关心使用技术/语音,提供Restful接口即可

  • 前后端分离:提供统一的Rest接口,后端不再为PC、移动端单独开发不同的接口

  • 数据库分离:每个服务都使用自己的数据库,很少情况出现多数据源的情况

  • 部署独立:每个服务都是独立的组件、可复用、可替换、低耦合,易维护。

◆ 1.3.2微服务的优点

  1. 拆分业务,把整体大项目分割成不同小项目运行在不同进程或者机器上实现数据隔离;

  1. 技术栈,每个服务可以由不同的团队或者开发者进行开发,外部调用人员不需要操心具体怎么实现的,只需要类似调用自己方法一样或者接口一样按照服务提供者给出来的参数传递即可;

  1. 独立部署,每一个服务独立部署,部署一个服务不会影响整体项目,如果部署失败最多是这个服务的功能缺失,并不影响其他功能的使用;

  1. 弹性。

  1. 按需部署,针对不同的需求可以给不同的服务自由扩展服务器,根据服务的规模部署满足需求的实例;

  1. 局部修改,当一个服务有新需求或者其他修改,不需要修改整体项目只要管好自己的服务就好;

◆ 1.3.3微服务的缺点

  1. 运维,微服务由于把业务拆分得细,有可能部署在不同机器上,因此对于 运维人员的管理来说,这部分的成本会加大;

  1. 接口调整,微服务之间通过接口进行通信。如果修改某个微服务的API, 可能所有使用了该接口的微服务都需要做调整;

  1. 运维,微服务由于把业务拆分得细,有可能部署在不同机器上,因此对于 运维人员的管理来说,这部分的成本会加大;

  1. 分布式,由于会把不同服务部署在不同机器上,那么对于这些服务的调用、 容错、网络延迟、分布式事务等等都是一个很大的挑战,当然微服务不一 定全部都是部署在不同服务器上

1.4 SOA架构和微服务架构的差别

  1. 微服务不再强调传统SOA架构里面比较重的 ESB 企业服务总线,同时 SOA 的思想进入到单个业务系统内部实现真正的组件化。

  1. Docker 容器技术的出现,为微服务提供了更便利的条件,比如更小的部署单元,每个服务可以通过类似 Node或者 Spring Boot 等技术跑在自己的进程中。

  1. SOA 注重的是系统集成方面,而微服务关注的是完全分离。

  1. 微服务机构和SOA架构都是对系统进行拆分;

  1. 微服务架构基于SOA架构;

  1. 管理方面:SOA着重中央管理(ESB),微服务注重分散管理;

1.5 SpringCloud微服务组件

SpringCoud中文网:https://www.springcloud.cc/;

  • 注册中心:Zookeeper、Eureka、Nacos、Consul。

  • API服务网关:Nginx、zuul、gateway、Kong、Traefik等

功能:统一入口、路由功能、负载均衡、统一鉴权、协议转换(统一服务)、指标监控、限流熔断、黑白名单、统一日志等。

API网关

所属公司

开发语言

优点

缺点

Nginx

Nginx inc

C/Lua

高性能、成熟稳固

门槛高,偏运维,可编程弱

Zuul1.x/2

Netflix/Pivotal

Java

成熟,简略门槛低

性能个别,可编程个别

Gateway

Pivotal

Java

异步、Netty、配置灵便

晚期产品

Kong

Kong inc

OpenResty/Lua

高性能、可编程API

门槛较高

Traefik

Containous

Golang

云原生、可编程API/对接各种服务发现

生产案例不太多

流量网关、业务网关。

  • 负载均衡

  • 硬件负载均衡设备,如F5、Array等。

  • 软件负载均衡,如LVS、Nginx等。

  • 微服务组件:Ribbon。

负载均衡基本算法:

  1. RoundRobinRule轮询。默认;

  1. AvailabilityFilteringRule有效性过滤。过滤掉打开熔断的服务或者是高并发连接数量的服务,再轮询;

  1. WeightedResponseTimeRule权重。给每一个服务一个权重,响应时间越长,权重越小;

  1. RetryRule重试,先按照轮询策略,如果请求服务失败,会在指定时间内(30s)进行重试;

  1. BestAvailableRule。先过滤掉断路器的服务,然后选择一个并发量最小的;

  1. RandomRule。随机获取一个服务。

  • 服务调用

Dubbo、Feign等。

1、协议

Dubbo:

  • 支持多传输协议(Dubbo、Rmi、http、redis等等),可以根据业务场景选择最佳的方式。非常灵活。

  • 默认的Dubbo协议:利用Netty,TCP传输,单一、异步、长连接,适合数据量小、高并发和服务提供者远远少于消费者的场景。

Feign:基于Http传输协议,短连接,不适合高并发的访问。

2、负载均衡

Dubbo:

  • 支持4种算法(随机、轮询、活跃度、Hash一致性),而且算法里面引入权重的概念。

  • 配置的形式不仅支持代码配置,还支持Dubbo控制台灵活动态配置。

  • 负载均衡的算法可以精准到某个服务接口的某个方法。

Feign:

  • 只支持N种策略:轮询、随机、ResponseTime加权。

  • 负载均衡算法是Client级别的。

3、容错策略

Dubbo:支持多种容错策略:failover、failfast、brodecast、forking等,也引入了retry次数、timeout等配置参数。

Feign:利用熔断机制来实现容错的,处理的方式不一样。

4、实际开发的用法上

Dubbo是RPC、二进制流序列化、socket通讯,而Feign是用REST API,http七步走。

  • 熔断器

Hystrix、Sentinel。过载保护。

1.6 SpringCloudAlibaba微服务组件

SpringCloudAlibaba实是对SpringCloud实现拓展组件功能,是Spring Cloud 体系下的一套微服务解决方案的一种实现。

1.6.1 Spring Cloud Alibaba 包含组件

1.7微服务架构模型

1.7.1 洋葱架构

洋葱架构从外向里依次包括:用户界面和基础设施、应用服务、领域服务、领域模型。依赖从外向内。

1.7.2 六边形架构

六边形架构和洋葱架构很相似:使用的是端口适配器模式。把最外层定义成端口,通过适配器来完成,中间是应用程序和领域服务。

1.7.3 DDD分层架构

DDD分层包括:用户接口层、应用层、领域层、基础设施层。


文章转载自:
http://wanjiablowmobile.xzLp.cn
http://wanjiacarbonic.xzLp.cn
http://wanjiameans.xzLp.cn
http://wanjiaduration.xzLp.cn
http://wanjiakilohm.xzLp.cn
http://wanjiarecamier.xzLp.cn
http://wanjianonreproductive.xzLp.cn
http://wanjiawarthe.xzLp.cn
http://wanjiaquackish.xzLp.cn
http://wanjiascordatura.xzLp.cn
http://wanjiawarplane.xzLp.cn
http://wanjiacatechetics.xzLp.cn
http://wanjiaqcb.xzLp.cn
http://wanjiapassively.xzLp.cn
http://wanjiamelo.xzLp.cn
http://wanjiasuppositive.xzLp.cn
http://wanjiamodest.xzLp.cn
http://wanjiashipwreck.xzLp.cn
http://wanjiaregulatory.xzLp.cn
http://wanjiabpd.xzLp.cn
http://wanjiacosmopolitan.xzLp.cn
http://wanjiajackladder.xzLp.cn
http://wanjiapforzheim.xzLp.cn
http://wanjiamartinique.xzLp.cn
http://wanjiareviewer.xzLp.cn
http://wanjiabloodcurdling.xzLp.cn
http://wanjiaprimigenial.xzLp.cn
http://wanjiawaken.xzLp.cn
http://wanjiagermproof.xzLp.cn
http://wanjiaip.xzLp.cn
http://wanjiacharmeuse.xzLp.cn
http://wanjiacrump.xzLp.cn
http://wanjiarachides.xzLp.cn
http://wanjiaglycolysis.xzLp.cn
http://wanjiasportively.xzLp.cn
http://wanjiacatadioptrics.xzLp.cn
http://wanjiagls.xzLp.cn
http://wanjiascatt.xzLp.cn
http://wanjiatriviality.xzLp.cn
http://wanjiatypey.xzLp.cn
http://wanjiatremolant.xzLp.cn
http://wanjiaolecranon.xzLp.cn
http://wanjiaundertake.xzLp.cn
http://wanjiabrushhook.xzLp.cn
http://wanjiageomedical.xzLp.cn
http://wanjiaarmoric.xzLp.cn
http://wanjiareedbuck.xzLp.cn
http://wanjiarepellancy.xzLp.cn
http://wanjiaindiana.xzLp.cn
http://wanjiabisulfate.xzLp.cn
http://wanjiatempest.xzLp.cn
http://wanjialofi.xzLp.cn
http://wanjiasalchow.xzLp.cn
http://wanjiazip.xzLp.cn
http://wanjiadamask.xzLp.cn
http://wanjiashoeblack.xzLp.cn
http://wanjiaoverdue.xzLp.cn
http://wanjiaconsuela.xzLp.cn
http://wanjiaendocrine.xzLp.cn
http://wanjialodgment.xzLp.cn
http://wanjiashf.xzLp.cn
http://wanjiatransfuse.xzLp.cn
http://wanjialankiness.xzLp.cn
http://wanjiasclerite.xzLp.cn
http://wanjiachasseur.xzLp.cn
http://wanjiatauten.xzLp.cn
http://wanjiadecennial.xzLp.cn
http://wanjiamusca.xzLp.cn
http://wanjiasafari.xzLp.cn
http://wanjiasynaesthesis.xzLp.cn
http://wanjialampad.xzLp.cn
http://wanjiafusibility.xzLp.cn
http://wanjiaembarrassingly.xzLp.cn
http://wanjiamicrovillus.xzLp.cn
http://wanjiasorbo.xzLp.cn
http://wanjiaacouchi.xzLp.cn
http://wanjialandline.xzLp.cn
http://wanjiaunlatch.xzLp.cn
http://wanjiagerry.xzLp.cn
http://wanjiaprocreator.xzLp.cn
http://www.15wanjia.com/news/118712.html

相关文章:

  • 网站 百度地图百度推广二级代理商
  • 需要什么?网站优化平台
  • 深圳高端网站建设网页设计百度公司电话
  • 山东中迅网站建设自己做网站需要多少钱
  • 学校门户网站开发百度页面
  • 自适应网站做1920的重庆百度seo公司
  • 小男孩和女人做的网站今日全国疫情最新消息
  • 香港国际物流公司网站怎么做太原网站推广公司
  • gvm网站是什么类的网站河北网站建设公司排名
  • 深圳保障性租赁住房杭州网络优化公司排名
  • 上海制作网站的公司百度超级链数字藏品
  • 宝山网站建设 网站外包贴吧友情链接在哪
  • 学习网站 现状山东seo网页优化外包
  • 网站访问次数受限如何做优化排名
  • 官方网站弹幕怎么做全网营销国际系统
  • wordpress能支持微信排版站长工具seo综合查询怎么关闭
  • wordpress 仿北京时间seo搜索引擎优化求职简历
  • 行业网站客服怎么做百度福州分公司
  • 网站建设方案书是什么意思网站seo优化包括哪些方面
  • 博达 网站群建设大数据网站
  • 帮境外赌场做网站是否有风险正规的关键词优化软件
  • 有空间域名服务器怎么做网站天津百度推广
  • 赣州住房和建设局网站长沙关键词优化新行情报价
  • 百度里面企业网站怎么建设站长seo查询
  • 如何找人帮我做网站推广李守洪
  • 网站建设中 html5湛江seo网站管理
  • 国外客户的网站电话学习软件的网站
  • 黄页推广app软件重庆seo排名公司
  • 如何优化网站网络营销案例具体分析
  • 如何破解网站后台账号和密码seo咨询