微服务专题

                          微服务

  1. 网站架构历程

传统架构->分布式架构->soa->微服务

  1. SOA架构特点
  1. SOA架构中通常使用XML方式实现通讯,在高并发情况下XML比较冗余会带来极大的影响,所以最后微服务架构中采用JSON替代xml方式
  2. SOA架构的底层实现通过WebService和ESB(xml与中间件混合物),Web Service技术是SOA服务化的一种实现方式,WebService底层采用soap协议进行通讯,soap协议就是Http或者是Https通道传输XML数据实现的协议。
  1. 微服务架构与SOA架构区别
  1. 微服务架构基于 SOA架构 演变过来,继承 SOA架构的优点,在微服务架构中去除 SOA 架构中的 ESB 消息总线,采用 http+json(restful)进行传输。
  2. 微服务架构比 SOA 架构粒度会更加精细,让专业的人去做专业的事情(专注),目的提高效率,每个服务于服务之间互不影响,微服务架构中,每个服务必须独立部署,微服务架构更加轻巧,轻量级。
  3. SOA 架构中可能数据库存储会发生共享,微服务强调独每个服务都是单独数据库,保证每个服务于服务之间互不影响。
  4. 项目体现特征微服务架构比 SOA 架构更加适合与互联网公司敏捷开发、快速迭代版本,因为粒度非常精细
  1. 为什么要选择springcloud

因为SpringCloud出现,对微服务技术提供了非常大的帮助,因为SpringCloud 提供了一套完整的微服务解决方案,不像其他框架只是解决了微服务中某个问题。

  1. 什么是服务治理

在传统rpc远程调用中,服务与服务依赖关系,管理比较复杂,所以需要使用服务治理,管理服务与服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。

  1. 微服务架构产生的原因

Soa架构有以下缺点:

  1. 过于依赖中心服务发现机制,注册中心宕机会导致整个服务不可用
  2. 因为soa架构中是使用soap(http+xml)协议,xml传输过程中比较占用带宽,另外xml会产生大量的冗余数据,在微服务中使用json代替xml传输
  3. 服务管理混乱,缺乏服务管理和治理设施不完善
  1. Springcloud一般采用Eureka作为注册中心
  2. Rpc远程框架的核心和服务原理

 

 

 

Eureka宕机以后,以往注册的服务还可以继续调用,因为客户端会将通讯地址缓存到本地,但是不可以新的服务注册到注册中心

  1. @EnableDiscoveryClient 与@EnableEurekaClient区别

@EnableDiscoveryClient注解是基于spring-cloud-commons依赖,并且在classpath中实现; 适合于consul、zookeeper注册中心

@EnableEurekaClient注解是基于spring-cloud-netflix依赖,只能为eureka作用;

  1. Nginx与ribbon的区别与应用场景

服务器端负载均衡Nginx

 nginx是客户端所有请求统一交给nginx,由nginx进行实现负载均衡请求转发,属于服务器端负载均衡。

 既请求有nginx服务器端进行转发。

客户端负载均衡Ribbon

 Ribbon是从eureka注册中心服务器端上获取服务注册信息列表,缓存到本地,让后在本地实现轮训负载均衡策略。

 既在客户端实现负载均衡。

 

 应用场景的区别:

Nginx适合于服务器端实现负载均衡 比如Tomcat ,Ribbon适合与在微服务中RPC远程调用实现本地服务负载均衡,比如Dubbo、SpringCloud中都是采用本地负载均衡。

  1. 网关作用

网关的作用,可以实现反向代理、负载均衡、路由转发、日志、权限控制、监控等。

  1. 网关和过滤器的区别

网关是拦截所有服务器请求进行控制,而过滤器是拦截单个服务器进行控制

  1. Nginx与Zuul的区别

Nginx是采用服务器负载均衡进行转发

Zuul依赖Ribbon和eureka实现本地负载均衡转发

相对来说Nginx功能比Zuul功能更加强大,能够整合其他语言比如lua脚本实现强大的功能,同时Nginx可以更好的抗高并发,Zuul网关适用于请求过滤和拦截等。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值